Back to home page

OSCL-LXR

 
 

    


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