Skip to content
Snippets Groups Projects
README.at91-soc 1.59 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jens Scharsig's avatar
    Jens Scharsig committed
     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
    
    2013-10-30 Andreas Bießmann <andreas@biessmann.org>:
    
    
    The goal is almost reached, we could remove the CONFIG_AT91_LEGACY switch but
    remain the CONFIG_ATMEL_LEGACY switch until the GPIO disaster is fixed. The
    AT91 spi driver has also some CONFIG_ATMEL_LEGACY stuff left, so another point
    to fix until this README can be removed.