ARM: dts: exynos: Correct S3C RTC bindings and enable it in Universal C210
authorKrzysztof Kozlowski <krzk@kernel.org>
Sun, 30 Aug 2020 13:51:33 +0000 (15:51 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Wed, 2 Sep 2020 15:40:22 +0000 (17:40 +0200)
The S3C RTC requires 32768 Hz clock as input which is provided by PMIC.
However there is no clock provided for the PMIC and the driver registers
the clock as regulator.  This is an old driver which will not be updated
so add a workaround - add a fixed-clock to fill missing clock phandle
reference in S3C RTC.  The "clock" regulator in PMIC is already present
and enabled.

This allows to enable the S3C RTC and fixes dtbs_check warnings:

  arch/arm/boot/dts/exynos4210-universal_c210.dt.yaml: rtc@10070000: clocks: [[5, 346]] is too short
  arch/arm/boot/dts/exynos4210-universal_c210.dt.yaml: rtc@10070000: clock-names: ['rtc'] is too short

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Tested-by: Marek Szyprowski <m.szyprowski@samsung.com>
Link: https://lore.kernel.org/r/20200830135200.24304-6-krzk@kernel.org
arch/arm/boot/dts/exynos4210-universal_c210.dts

index 99ce53b..9479e41 100644 (file)
                        compatible = "samsung,clock-xusbxti";
                        clock-frequency = <24000000>;
                };
+
+               pmic_ap_clk: pmic-ap-clk {
+                       /* Workaround for missing clock on PMIC */
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <32768>;
+               };
        };
 
        vemmc_reg: voltage-regulator {
        status = "okay";
 };
 
+&rtc {
+       status = "okay";
+       clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
+       clock-names = "rtc", "rtc_src";
+};
+
 &sdhci_0 {
        bus-width = <8>;
        non-removable;