• Ondrej Jirman's avatar
    rtc: sun6i: Add support for H6 RTC · b60ff2cf
    Ondrej Jirman authored
    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: default avatarOndrej Jirman <megous@megous.com>
    Reviewed-by: default avatarChen-Yu Tsai <wens@csie.org>
    Link: https://lore.kernel.org/r/20190820151934.3860-3-megous@megous.comSigned-off-by: default avatarAlexandre Belloni <alexandre.belloni@bootlin.com>
    b60ff2cf
rtc-sun6i.c 18.8 KB