]> git.proxmox.com Git - mirror_ubuntu-focal-kernel.git/commit
rtc: sun6i: Add support for H6 RTC
authorOndrej Jirman <megous@megous.com>
Tue, 20 Aug 2019 15:19:33 +0000 (17:19 +0200)
committerAlexandre Belloni <alexandre.belloni@bootlin.com>
Fri, 23 Aug 2019 14:20:50 +0000 (16:20 +0200)
commitb60ff2cfb598ddf03d8dcb43ed53c35aa563e04c
treed1b0404a5dfd18f0af6b1e57878cdea9beb41d9c
parent903e259f9caf036cd9046884e5de9aa64447755c
rtc: sun6i: Add support for H6 RTC

RTC on H6 is mostly the same as on H5 and H3. It has slight differences
mostly in features that are not yet supported by this driver.

Some differences are already stated in the comments in existing code.
One other difference is that H6 has extra bit in LOSC_CTRL_REG, called
EXT_LOSC_EN to enable/disable external low speed crystal oscillator.

It also has bit EXT_LOSC_STA in LOSC_AUTO_SWT_STA_REG, to check whether
external low speed oscillator is working correctly.

This patch adds support for enabling LOSC when necessary:

- during reparenting
- when probing the clock

H6 also has capacbility to automatically reparent RTC clock from
external crystal oscillator, to internal RC oscillator, if external
oscillator fails. This is enabled by default. Disable it during
probe.

Signed-off-by: Ondrej Jirman <megous@megous.com>
Reviewed-by: Chen-Yu Tsai <wens@csie.org>
Link: https://lore.kernel.org/r/20190820151934.3860-3-megous@megous.com
Signed-off-by: Alexandre Belloni <alexandre.belloni@bootlin.com>
drivers/rtc/rtc-sun6i.c