...your main source of everything AVR32 Linux

Navigation

U-Boot on UC3 Processors

UC3 CPU family support

Since the AVR32 UC3 chips are very similar to the AP7 chips already supported by U-Boot, getting u-boot to run on UC3 processors is mostly a matter of handling the following differences:

  • UC3 implements the AVR32A architecture. AP7 implements the AVR32B architecture. This means that the exception- and interrupt-handling entrypoints must be rewritten. Fortunately, the exception- and interrupt-handling code is much simpler in u-boot than it is in the Linux kernel.
  • UC3 doesn't have any caches. This simplifies DMA buffer handling, but most drivers should be written to work on both families.

Support for the UC3 CPU family should be added to a new directory, cpu/at32uc, matching the existing cpu/at32ap directory with AP7 CPU family support.

UC3A SoC Support

The UC3A series of chips features an External Bus Interface, ethernet MAC, SPI controllers and more, making it an excellent choice for running U-Boot and Linux. The specifics about the UC3A chips (memory map, port mux setup, etc.) should be added to the cpu/at32uc/at32uc3a and include/asm-avr32/arch-at32uc3a directories.

The SDRAM and Static Memory controllers are the same as on AP7000, so preferably the code for initializing those should be shared.

ATEVK1100 Board Support

After support for the CPU architecture and chip has been added, it's time to tie everything together in the board support code. The ATEVK1100 features 32MB on-board SDRAM and 8MB on-board flash as well as ethernet, USB and MMC/SD connectors, which should be more than adequate for running U-Boot and Linux.

Support for the ATEVK1100 board should be added to the board/atmel/atevk1100 directory.

UC3 Internal Flash Driver

All currenly available UC3 chips have internal flash on the chip. This may be used to store U-Boot itself, but also for storing the environment. For the latter to be possible, a driver for the internal flash controller must be implemented for U-Boot.

r1 - 21 Feb 2008 - 15:16 - HaavardSkinnemoen
Copyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Linux® is the registered trademark of Linus Torvalds in the U.S. and other countries.
Atmel®, AVR® and others are registered trademarks or trademarks of Atmel Corporation or its subsidiaries.
All other trademarks are the property of their respective owners.
Powered by Wed, 08 Feb 2006 build 8740
Syndicate this site