README.at91-soc 1.3 KB

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