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