]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
clk: sunxi-ng: sun6i-rtc: Add A523 specifics
authorChen-Yu Tsai <wens@csie.org>
Tue, 9 Sep 2025 17:09:47 +0000 (01:09 +0800)
committerChen-Yu Tsai <wens@csie.org>
Thu, 11 Sep 2025 18:26:50 +0000 (02:26 +0800)
The A523's RTC block is backward compatible with the R329's, but it also
has a calibration function for its internal oscillator, which would
allow it to provide a clock rate closer to the desired 32.768 KHz. This
is useful on the Radxa Cubie A5E, which does not have an external 32.768
KHz crystal.

Add new compatible-specific data for it.

Acked-by: Jernej Skrabec <jernej.skrabec@gmail.com>
Link: https://patch.msgid.link/20250909170947.2221611-1-wens@kernel.org
Signed-off-by: Chen-Yu Tsai <wens@csie.org>
drivers/clk/sunxi-ng/ccu-sun6i-rtc.c

index 0536e880b80fe19453fb1594606ecbb2b0c5f449..f6bfeba009e8e169c4d9f80c9ddc64b9868a70e9 100644 (file)
@@ -325,6 +325,13 @@ static const struct sun6i_rtc_match_data sun50i_r329_rtc_ccu_data = {
        .osc32k_fanout_nparents = ARRAY_SIZE(sun50i_r329_osc32k_fanout_parents),
 };
 
+static const struct sun6i_rtc_match_data sun55i_a523_rtc_ccu_data = {
+       .have_ext_osc32k        = true,
+       .have_iosc_calibration  = true,
+       .osc32k_fanout_parents  = sun50i_r329_osc32k_fanout_parents,
+       .osc32k_fanout_nparents = ARRAY_SIZE(sun50i_r329_osc32k_fanout_parents),
+};
+
 static const struct of_device_id sun6i_rtc_ccu_match[] = {
        {
                .compatible     = "allwinner,sun50i-h616-rtc",
@@ -334,6 +341,10 @@ static const struct of_device_id sun6i_rtc_ccu_match[] = {
                .compatible     = "allwinner,sun50i-r329-rtc",
                .data           = &sun50i_r329_rtc_ccu_data,
        },
+       {
+               .compatible     = "allwinner,sun55i-a523-rtc",
+               .data           = &sun55i_a523_rtc_ccu_data,
+       },
        {},
 };
 MODULE_DEVICE_TABLE(of, sun6i_rtc_ccu_match);