clocks.txt 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. Frequently asked questions about the sunxi clock system
  2. =======================================================
  3. This document contains useful bits of information that people tend to ask
  4. about the sunxi clock system, as well as accompanying ASCII art when adequate.
  5. Q: Why is the main 24MHz oscillator gatable? Wouldn't that break the
  6. system?
  7. A: The 24MHz oscillator allows gating to save power. Indeed, if gated
  8. carelessly the system would stop functioning, but with the right
  9. steps, one can gate it and keep the system running. Consider this
  10. simplified suspend example:
  11. While the system is operational, you would see something like
  12. 24MHz 32kHz
  13. |
  14. PLL1
  15. \
  16. \_ CPU Mux
  17. |
  18. [CPU]
  19. When you are about to suspend, you switch the CPU Mux to the 32kHz
  20. oscillator:
  21. 24Mhz 32kHz
  22. | |
  23. PLL1 |
  24. /
  25. CPU Mux _/
  26. |
  27. [CPU]
  28. Finally you can gate the main oscillator
  29. 32kHz
  30. |
  31. |
  32. /
  33. CPU Mux _/
  34. |
  35. [CPU]
  36. Q: Were can I learn more about the sunxi clocks?
  37. A: The linux-sunxi wiki contains a page documenting the clock registers,
  38. you can find it at
  39. http://linux-sunxi.org/A10/CCM
  40. The authoritative source for information at this time is the ccmu driver
  41. released by Allwinner, you can find it at
  42. https://github.com/linux-sunxi/linux-sunxi/tree/sunxi-3.0/arch/arm/mach-sun4i/clock/ccmu