ARM: dts: exynos: Correct S3C RTC bindings and enable it in Galaxy I9100
authorKrzysztof Kozlowski <krzk@kernel.org>
Sun, 30 Aug 2020 13:51:30 +0000 (15:51 +0200)
committerKrzysztof Kozlowski <krzk@kernel.org>
Wed, 2 Sep 2020 15:39:35 +0000 (17:39 +0200)
The S3C RTC requires 32768 Hz clock as input which is provided by PMIC
(Maxim MAX8997).  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:
1. Enable the "clock" regulator in PMIC,
2. Add a fixed-clock to fill missing clock phandle reference in S3C RTC.

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

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

Signed-off-by: Krzysztof Kozlowski <krzk@kernel.org>
Link: https://lore.kernel.org/r/20200830135200.24304-3-krzk@kernel.org
arch/arm/boot/dts/exynos4210-i9100.dts

index 6fa57d1fa1d7b74a45e89ca2bdaa421177fca503..d63274c8539de7d3f9a1dbc2384157b425005709 100644 (file)
                        compatible = "samsung,clock-xusbxti";
                        clock-frequency = <24000000>;
                };
+
+               pmic_ap_clk: pmic-ap-clk {
+                       /* Workaround for missing clock on max8997 PMIC */
+                       compatible = "fixed-clock";
+                       #clock-cells = <0>;
+                       clock-frequency = <32768>;
+               };
        };
 
        thermal-zones {
                                regulator-max-microvolt = <4100000>;
                                regulator-always-on;
                        };
+
+                       EN32KHZ_AP {
+                               regulator-name = "EN32KHZ_AP";
+                               regulator-always-on;
+                       };
                };
        };
 };
        };
 };
 
+&rtc {
+       status = "okay";
+       clocks = <&clock CLK_RTC>, <&pmic_ap_clk>;
+       clock-names = "rtc", "rtc_src";
+};
+
 &sdhci_0 {
        status = "okay";