The S3C RTC requires 32768 Hz clock as input which is provided by PMIC.
However there is no such clock provider but rather a regulator driver
which registers the clock as a regulator. This is an old driver which
will not be updated so add a workaround - a fixed-clock to fill missing
clock phandle reference in S3C RTC.
This fixes dtbs_check warnings:
rtc@e2800000: clocks: [[2, 145]] is too short
rtc@e2800000: clock-names: ['rtc'] is too short
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/s5pv210-aries.dtsi | 12 ++++++++++++
1 file changed, 12 insertions(+)
diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv210-aries.dtsi
index 6ba23562da46..86c3b26fd21e 100644
--- a/arch/arm/boot/dts/s5pv210-aries.dtsi
+++ b/arch/arm/boot/dts/s5pv210-aries.dtsi
@@ -47,6 +47,13 @@
};
};
+ pmic_ap_clk: clock-0 {
+ /* Workaround for missing clock on PMIC */
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ };
+
bt_codec: bt_sco {
compatible = "linux,bt-sco";
#sound-dai-cells = <0>;
@@ -825,6 +832,11 @@
samsung,pwm-outputs = <1>;
};
+&rtc {
+ clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
+ clock-names = "rtc", "rtc_src";
+};
+
&sdhci1 {
#address-cells = <1>;
#size-cells = <0>;
--
2.17.1
Hi Krzysztof,
On 2020-09-07 9:11 a.m., Krzysztof Kozlowski wrote:
> The S3C RTC requires 32768 Hz clock as input which is provided by PMIC.
> However there is no such clock provider but rather a regulator driver
> which registers the clock as a regulator. This is an old driver which
> will not be updated so add a workaround - a fixed-clock to fill missing
> clock phandle reference in S3C RTC.
>
> This fixes dtbs_check warnings:
>
> rtc@e2800000: clocks: [[2, 145]] is too short
> rtc@e2800000: clock-names: ['rtc'] is too short
>
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> arch/arm/boot/dts/s5pv210-aries.dtsi | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv210-aries.dtsi
> index 6ba23562da46..86c3b26fd21e 100644
> --- a/arch/arm/boot/dts/s5pv210-aries.dtsi
> +++ b/arch/arm/boot/dts/s5pv210-aries.dtsi
> @@ -47,6 +47,13 @@
> };
> };
>
> + pmic_ap_clk: clock-0 {
> + /* Workaround for missing clock on PMIC */
> + compatible = "fixed-clock";
> + #clock-cells = <0>;
> + clock-frequency = <32768>;
> + };
> +
> bt_codec: bt_sco {
> compatible = "linux,bt-sco";
> #sound-dai-cells = <0>;
> @@ -825,6 +832,11 @@
> samsung,pwm-outputs = <1>;
> };
>
> +&rtc {
> + clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
> + clock-names = "rtc", "rtc_src";
Missing a
status = "okay";
here, but with that it works fine for me. Looks like it's also
missing in the patches for the other devices as well.
Thanks for the series of cleanups,
Jonathan
> +};
> +
> &sdhci1 {
> #address-cells = <1>;
> #size-cells = <0>;
>
On Mon, Sep 07, 2020 at 04:57:53PM -0700, Jonathan Bakker wrote:
> Hi Krzysztof,
>
> On 2020-09-07 9:11 a.m., Krzysztof Kozlowski wrote:
> > The S3C RTC requires 32768 Hz clock as input which is provided by PMIC.
> > However there is no such clock provider but rather a regulator driver
> > which registers the clock as a regulator. This is an old driver which
> > will not be updated so add a workaround - a fixed-clock to fill missing
> > clock phandle reference in S3C RTC.
> >
> > This fixes dtbs_check warnings:
> >
> > rtc@e2800000: clocks: [[2, 145]] is too short
> > rtc@e2800000: clock-names: ['rtc'] is too short
> >
> > Signed-off-by: Krzysztof Kozlowski <[email protected]>
> > ---
> > arch/arm/boot/dts/s5pv210-aries.dtsi | 12 ++++++++++++
> > 1 file changed, 12 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/s5pv210-aries.dtsi b/arch/arm/boot/dts/s5pv210-aries.dtsi
> > index 6ba23562da46..86c3b26fd21e 100644
> > --- a/arch/arm/boot/dts/s5pv210-aries.dtsi
> > +++ b/arch/arm/boot/dts/s5pv210-aries.dtsi
> > @@ -47,6 +47,13 @@
> > };
> > };
> >
> > + pmic_ap_clk: clock-0 {
> > + /* Workaround for missing clock on PMIC */
> > + compatible = "fixed-clock";
> > + #clock-cells = <0>;
> > + clock-frequency = <32768>;
> > + };
> > +
> > bt_codec: bt_sco {
> > compatible = "linux,bt-sco";
> > #sound-dai-cells = <0>;
> > @@ -825,6 +832,11 @@
> > samsung,pwm-outputs = <1>;
> > };
> >
> > +&rtc {
> > + clocks = <&clocks CLK_RTC>, <&pmic_ap_clk>;
> > + clock-names = "rtc", "rtc_src";
>
> Missing a
>
> status = "okay";
>
> here, but with that it works fine for me. Looks like it's also
> missing in the patches for the other devices as well.
It wasn't there on purpose - I did not want to enable the RTC, just fix
the DTS with the dtschema. However a separate patch could be to actually
enable it.
I'll add your tested-by to this patch.
Best regards,
Krzysztof