The 32.768 kHz clock inside the A80 SoC is fed from an external source,
typically the AC100 RTC module.

Make the osc32k placeholder a fixed-factor clock so board dts files can
specify its source.

Signed-off-by: Chen-Yu Tsai <w...@csie.org>
---
Changes since v2: none
Changes since v1: none
---
 arch/arm/boot/dts/sun9i-a80-cubieboard4.dts | 5 +++++
 arch/arm/boot/dts/sun9i-a80-optimus.dts     | 5 +++++
 arch/arm/boot/dts/sun9i-a80.dtsi            | 9 +++------
 3 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts 
b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
index 65f4f32f89ad..b6299a9c14e3 100644
--- a/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
+++ b/arch/arm/boot/dts/sun9i-a80-cubieboard4.dts
@@ -103,6 +103,11 @@
        allwinner,drive = <SUN4I_PINCTRL_40_MA>;
 };
 
+&osc32k {
+       /* osc32k input is from AC100 */
+       clocks = <&ac100_rtc 0>;
+};
+
 &pio {
        led_pins_cubieboard4: led-pins@0 {
                allwinner,pins = "PH6", "PH17";
diff --git a/arch/arm/boot/dts/sun9i-a80-optimus.dts 
b/arch/arm/boot/dts/sun9i-a80-optimus.dts
index 3b013dc5fef1..2f079cbd2025 100644
--- a/arch/arm/boot/dts/sun9i-a80-optimus.dts
+++ b/arch/arm/boot/dts/sun9i-a80-optimus.dts
@@ -152,6 +152,11 @@
        status = "okay";
 };
 
+&osc32k {
+       /* osc32k input is from AC100 */
+       clocks = <&ac100_rtc 0>;
+};
+
 &pio {
        led_pins_optimus: led-pins@0 {
                allwinner,pins = "PH0", "PH1";
diff --git a/arch/arm/boot/dts/sun9i-a80.dtsi b/arch/arm/boot/dts/sun9i-a80.dtsi
index f68b3242b33a..dd11115ec087 100644
--- a/arch/arm/boot/dts/sun9i-a80.dtsi
+++ b/arch/arm/boot/dts/sun9i-a80.dtsi
@@ -148,15 +148,12 @@
 
                /*
                 * The 32k clock is from an external source, normally the
-                * AC100 codec/RTC chip. This clock is by default enabled
-                * and clocked at 32768 Hz, from the oscillator connected
-                * to the AC100. It is configurable, but no such driver or
-                * bindings exist yet.
+                * AC100 codec/RTC chip. This serves as a placeholder for
+                * board dts files to specify the source.
                 */
                osc32k: osc32k_clk {
                        #clock-cells = <0>;
-                       compatible = "fixed-clock";
-                       clock-frequency = <32768>;
+                       compatible = "fixed-factor-clock";
                        clock-output-names = "osc32k";
                };
 
-- 
2.8.1

Reply via email to