OSDN Git Service

clk: sunxi-ng: r40: Force LOSC parent to RTC LOSC output
authorChen-Yu Tsai <wens@csie.org>
Wed, 28 Nov 2018 09:30:07 +0000 (17:30 +0800)
committerChen-Yu Tsai <wens@csie.org>
Fri, 30 Nov 2018 03:54:39 +0000 (11:54 +0800)
commit01a7ea763fc46fd21692dfc070009d2c1cbc1b07
tree12947f27c24ef5f6885b2992db54f5d84965335c
parent5e06aa50524b45a834b1f22b3160b93fb3adabc4
clk: sunxi-ng: r40: Force LOSC parent to RTC LOSC output

On the R40, in addition to a mux between the RTC's own RC oscillator and
an external 32768 Hz crystal, which are muxed inside the RTC module, the
CCU also has its own RC oscillator, which runs at around 2 MHz, and can
be muxed with the LOSC output from the RTC. This muxed output is called
"SYS 32K" in the module clock diagram, but otherwise referred to as the
LOSC throughout the CCU documentation.

The RC oscillator is not very accurate, even though it has an undocumented
calibration function. We really want a precise clock at 32768 Hz,
instead of something at around 32 KHz. This patch forces the SYS 32K
clock to use the RTC output as its parent, and doesn't bother
registering the internal oscillator nor a clock mux.

Acked-by: Maxime Ripard <maxime.ripard@bootlin.com>
Acked-by: Stephen Boyd <sboyd@kernel.org>
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/clk/sunxi-ng/ccu-sun8i-r40.c