u-boot/doc/README.at91-soc
Jens Scharsig 425de62d40 add new CONFIG_AT91_LEGACY
* add's the new temporary CONFIG_AT91_LEGACY to all board configs
 This will need for backward compatiblity, while change the SoC access
 to c structures. If CONFIG_AT91_LEGACY is defined, the deprecated
 SoC is used.

Signed-off-by: Jens Scharsig <js_at_ng@scharsoft.de>
2010-02-12 12:31:54 -06:00

42 lines
1.3 KiB
Text

New C structure AT91 SoC access
=================================
The goal
--------
Currently the at91 arch uses hundreds of address defines and special
at91_xxxx_write/read functions to access the SOC.
The u-boot project perferred method is to access memory mapped hw
regisister via a c structure.
e.g. old
*AT91C_PIOA_IDR = AT91_PMX_AA_TWD | AT91_PMX_AA_TWCK;
*AT91C_PIOC_PUDR = AT91_PMX_AA_TWD | AT91_PMX_AA_TWCK;
*AT91C_PIOC_PER = AT91_PMX_AA_TWD | AT91_PMX_AA_TWCK;
*AT91C_PIOC_OER = AT91_PMX_AA_TWD | AT91_PMX_AA_TWCK;
*AT91C_PIOC_PIO = AT91_PMX_AA_TWD | AT91_PMX_AA_TWCK;
at91_sys_write(AT91_RSTC_CR,
AT91_RSTC_KEY | AT91_RSTC_PROCRST | AT91_RSTC_PERRST);
e.g new
pin = AT91_PMX_AA_TWD | AT91_PMX_AA_TWCK;
writel(pin, &pio->pioa.idr);
writel(pin, &pio->pioa.pudr);
writel(pin, &pio->pioa.per);
writel(pin, &pio->pioa.oer);
writel(pin, &pio->pioa.sodr);
writel(AT91_RSTC_KEY | AT91_RSTC_CR_PROCRST |
AT91_RSTC_CR_PERRST, &rstc->cr);
The method for updating
------------------------
1. add's the temporary CONFIG_AT91_LEGACY to all at91 board configs
2. Display a compile time warning, if the board has not been converted
3. add new structures for SoC access
4. Convert arch, driver and boards file to new SoC
5. remove legacy code, if all boards and drives are ready