2019-04-15 02:51:10 +08:00
|
|
|
=======================================================
|
2013-02-25 22:44:28 +08:00
|
|
|
Frequently asked questions about the sunxi clock system
|
|
|
|
=======================================================
|
|
|
|
|
|
|
|
This document contains useful bits of information that people tend to ask
|
|
|
|
about the sunxi clock system, as well as accompanying ASCII art when adequate.
|
|
|
|
|
|
|
|
Q: Why is the main 24MHz oscillator gatable? Wouldn't that break the
|
|
|
|
system?
|
|
|
|
|
|
|
|
A: The 24MHz oscillator allows gating to save power. Indeed, if gated
|
|
|
|
carelessly the system would stop functioning, but with the right
|
|
|
|
steps, one can gate it and keep the system running. Consider this
|
|
|
|
simplified suspend example:
|
|
|
|
|
2019-04-15 02:51:10 +08:00
|
|
|
While the system is operational, you would see something like::
|
2013-02-25 22:44:28 +08:00
|
|
|
|
|
|
|
24MHz 32kHz
|
|
|
|
|
|
|
|
|
PLL1
|
|
|
|
\
|
|
|
|
\_ CPU Mux
|
|
|
|
|
|
|
|
|
[CPU]
|
|
|
|
|
|
|
|
When you are about to suspend, you switch the CPU Mux to the 32kHz
|
2019-04-15 02:51:10 +08:00
|
|
|
oscillator::
|
2013-02-25 22:44:28 +08:00
|
|
|
|
|
|
|
24Mhz 32kHz
|
|
|
|
| |
|
|
|
|
PLL1 |
|
|
|
|
/
|
|
|
|
CPU Mux _/
|
|
|
|
|
|
|
|
|
[CPU]
|
|
|
|
|
2019-04-15 02:51:10 +08:00
|
|
|
Finally you can gate the main oscillator::
|
2013-02-25 22:44:28 +08:00
|
|
|
|
|
|
|
32kHz
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/
|
|
|
|
CPU Mux _/
|
|
|
|
|
|
|
|
|
[CPU]
|
|
|
|
|
|
|
|
Q: Were can I learn more about the sunxi clocks?
|
|
|
|
|
|
|
|
A: The linux-sunxi wiki contains a page documenting the clock registers,
|
|
|
|
you can find it at
|
|
|
|
|
|
|
|
http://linux-sunxi.org/A10/CCM
|
|
|
|
|
|
|
|
The authoritative source for information at this time is the ccmu driver
|
|
|
|
released by Allwinner, you can find it at
|
|
|
|
|
|
|
|
https://github.com/linux-sunxi/linux-sunxi/tree/sunxi-3.0/arch/arm/mach-sun4i/clock/ccmu
|