12 Dec, 2006

1 commit

  • * 'for-linus' of git://www.atmel.no/~hskinnemoen/linux/kernel/avr32:
    [AVR32] Add missing #include to delay.c
    [AVR32] Pass dev parameter to dma_cache_sync()
    [AVR32] Implement intc_get_pending()
    [AVR32] Don't include
    [AVR32] Put the chip in "stop" mode when halting the system
    [AVR32] Set flow handler for external interrupts
    [AVR32] Remove unused file
    [AVR32] Remove mii_phy_addr and eth_addr from eth_platform_data
    [AVR32] Move ethernet tag parsing to board-specific code
    [AVR32] Add macb1 platform_device
    [AVR32] Portmux API update

    Linus Torvalds
     

08 Dec, 2006

2 commits

  • The macb driver will probe for the PHY chip and read the mac address
    from the MACB registers, so we don't need them in eth_platform_data
    anymore.

    Since u-boot doesn't currently initialize the MACB registers with the
    mac addresses, the tag parsing code is kept but instead of sticking
    the information into eth_platform_data, it uses it to initialize
    the MACB registers (in case the boot loader didn't do it.) This code
    should be unnecessary at some point in the future.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     
  • Rename portmux_set_func to at32_select_periph, add at32_select_gpio
    and add flags parameter to specify the initial state of the pins.

    Signed-off-by: Haavard Skinnemoen

    Haavard Skinnemoen
     

01 Dec, 2006

1 commit

  • This patch updates the drivers (and other files) which include the
    hardware headers. This fixes the breakage introduced in patches 3950/1
    and 3951/1 (those patches were getting big).

    The AVR32 architecture uses the same serial driver and had its own copy
    of at91rm9200_pdc.h. Renamed it to at91_pdc.h

    Signed-off-by: Andrew Victor
    Signed-off-by: Russell King

    Andrew Victor
     

05 Oct, 2006

4 commits

  • Allow the board to remap actual USART peripheral devices to serial
    devices by calling at32_map_usart(hw_id, serial_line). This ensures
    that even though ATSTK1002 uses USART1 as the first serial port, it
    will still have a ttyS0 device.

    This also adds a board-specific early setup hook and moves the
    at32_setup_serial_console() call there from the platform code.

    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • In order to initialize the serial console early, the atmel_serial
    driver had to do a hack where it compared the physical address of the
    port with an address known to be permanently mapped, and used it as a
    virtual address. This got around the limitation that ioremap() isn't
    always available when the console is being initalized.

    This patch removes that hack and replaces it with a new "regs" field
    in struct atmel_uart_data that the board-specific code can initialize
    to a fixed virtual mapping for platform devices where this is possible.
    It also initializes the DBGU's regs field with the address the driver
    used to check against.

    On AVR32, the "regs" field is initialized from the physical base
    address when this it can be accessed through a permanently 1:1 mapped
    segment, i.e. the P4 segment.

    If regs is NULL, the console initialization is delayed until the "real"
    driver is up and running and ioremap() can be used.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Rename the following public definitions:
    * AT91_NR_UART -> ATMEL_MAX_UART
    * struct at91_uart_data -> struct atmel_uart_data
    * at91_default_console_device -> atmel_default_console_device

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • Move include/asm/arch/at91rm9200_usart.h into drivers/serial and rename
    it atmel_usart.h. Also delete AVR32's version of this file.

    Signed-off-by: Haavard Skinnemoen
    Acked-by: Andrew Victor
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     

26 Sep, 2006

2 commits

  • This patchset adds the necessary drivers and infrastructure to access the
    external flash on the ATSTK1000 board through the MTD subsystem. With this
    stuff in place, it will be possible to use a jffs2 filesystem stored in the
    external flash as a root filesystem. It might also be possible to update the
    boot loader if you drop the write protection of partition 0.

    As suggested by David Woodhouse, I reworked the patches to use the physmap
    driver instead of introducing a separate mapping driver for the ATSTK1000.
    I've also cleaned up the hsmc header by removing useless comments and
    converting spaces to tabs (my headerfile generator needs some work.)

    Unfortunately, I couldn't unlock the flash in fixup_use_atmel_lock because the
    erase regions hadn't been set up yet, so I had to do it from cfi_amdstd_setup
    instead.

    This patch:

    This adds a simple API for configuring the static memory controller along with
    an implementation for the Atmel HSMC.

    Signed-off-by: Haavard Skinnemoen
    Cc: David Woodhouse
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen
     
  • This adds support for the Atmel AVR32 architecture as well as the AT32AP7000
    CPU and the AT32STK1000 development board.

    AVR32 is a new high-performance 32-bit RISC microprocessor core, designed for
    cost-sensitive embedded applications, with particular emphasis on low power
    consumption and high code density. The AVR32 architecture is not binary
    compatible with earlier 8-bit AVR architectures.

    The AVR32 architecture, including the instruction set, is described by the
    AVR32 Architecture Manual, available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32000.pdf

    The Atmel AT32AP7000 is the first CPU implementing the AVR32 architecture. It
    features a 7-stage pipeline, 16KB instruction and data caches and a full
    Memory Management Unit. It also comes with a large set of integrated
    peripherals, many of which are shared with the AT91 ARM-based controllers from
    Atmel.

    Full data sheet is available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32003.pdf

    while the CPU core implementation including caches and MMU is documented by
    the AVR32 AP Technical Reference, available from

    http://www.atmel.com/dyn/resources/prod_documents/doc32001.pdf

    Information about the AT32STK1000 development board can be found at

    http://www.atmel.com/dyn/products/tools_card.asp?tool_id=3918

    including a BSP CD image with an earlier version of this patch, development
    tools (binaries and source/patches) and a root filesystem image suitable for
    booting from SD card.

    Alternatively, there's a preliminary "getting started" guide available at
    http://avr32linux.org/twiki/bin/view/Main/GettingStarted which provides links
    to the sources and patches you will need in order to set up a cross-compiling
    environment for avr32-linux.

    This patch, as well as the other patches included with the BSP and the
    toolchain patches, is actively supported by Atmel Corporation.

    [dmccr@us.ibm.com: Fix more pxx_page macro locations]
    [bunk@stusta.de: fix `make defconfig']
    Signed-off-by: Haavard Skinnemoen
    Signed-off-by: Adrian Bunk
    Signed-off-by: Dave McCracken
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Haavard Skinnemoen