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