[PATCH 05/33] ARM: dts: exynos: Correct S3C RTC bindings and enable it in Trats

Krzysztof Kozlowski krzk at kernel.org
Sun Aug 30 09:51:32 EDT 2020


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-trats.dt.yaml: rtc at 10070000: clocks: [[5, 346]] is too short
  arch/arm/boot/dts/exynos4210-trats.dt.yaml: rtc at 10070000: clock-names: ['rtc'] is too short

Signed-off-by: Krzysztof Kozlowski <krzk at kernel.org>
---
 arch/arm/boot/dts/exynos4210-trats.dts | 18 ++++++++++++++++++
 1 file changed, 18 insertions(+)

diff --git a/arch/arm/boot/dts/exynos4210-trats.dts b/arch/arm/boot/dts/exynos4210-trats.dts
index 5cc96f04a4fa..634f009b622e 100644
--- a/arch/arm/boot/dts/exynos4210-trats.dts
+++ b/arch/arm/boot/dts/exynos4210-trats.dts
@@ -132,6 +132,13 @@
 			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 {
@@ -444,10 +451,21 @@
 			     regulator-name = "SAFEOUT2";
 			     regulator-boot-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 {
 	bus-width = <8>;
 	non-removable;
-- 
2.17.1




More information about the linux-arm-kernel mailing list