clocks.rst 1.6 KB

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