0001 =======================================================
0002 Frequently asked questions about the sunxi clock system
0003 =======================================================
0004
0005 This document contains useful bits of information that people tend to ask
0006 about the sunxi clock system, as well as accompanying ASCII art when adequate.
0007
0008 Q: Why is the main 24MHz oscillator gatable? Wouldn't that break the
0009 system?
0010
0011 A: The 24MHz oscillator allows gating to save power. Indeed, if gated
0012 carelessly the system would stop functioning, but with the right
0013 steps, one can gate it and keep the system running. Consider this
0014 simplified suspend example:
0015
0016 While the system is operational, you would see something like::
0017
0018 24MHz 32kHz
0019 |
0020 PLL1
0021 \
0022 \_ CPU Mux
0023 |
0024 [CPU]
0025
0026 When you are about to suspend, you switch the CPU Mux to the 32kHz
0027 oscillator::
0028
0029 24Mhz 32kHz
0030 | |
0031 PLL1 |
0032 /
0033 CPU Mux _/
0034 |
0035 [CPU]
0036
0037 Finally you can gate the main oscillator::
0038
0039 32kHz
0040 |
0041 |
0042 /
0043 CPU Mux _/
0044 |
0045 [CPU]
0046
0047 Q: Were can I learn more about the sunxi clocks?
0048
0049 A: The linux-sunxi wiki contains a page documenting the clock registers,
0050 you can find it at
0051
0052 http://linux-sunxi.org/A10/CCM
0053
0054 The authoritative source for information at this time is the ccmu driver
0055 released by Allwinner, you can find it at
0056
0057 https://github.com/linux-sunxi/linux-sunxi/tree/sunxi-3.0/arch/arm/mach-sun4i/clock/ccmu