[PATCH v5 9/9] arm64: dts: nuvoton: ma35d1: Add LXT crystal and correct HXT name
From: Miquel Raynal
Date: Tue Sep 29 2026 - 10:54:33 EST
The clock controller takes its two crystal oscillator inputs from the
board: HXT and LXT. The current description of these crystals is wrong:
- HXT is described but not named correctly, which leads to two clocks
being created without any relationship: hxt and clk_hxt. Fix this by
exposing a correct name for hxt.
- LXT is not even described. Add the fixed clock node for it and
reference it from the clock controller node.
Fixes: 691521a367cf ("clk: nuvoton: Add clock driver for ma35d1 clock controller")
Fixes: b69af0984732 ("arm64: dts: nuvoton: Add initial ma35d1 device tree")
Cc: stable@xxxxxxxxxxxxxxx
Signed-off-by: Miquel Raynal <miquel.raynal@xxxxxxxxxxx>
---
Without this patch, but with the previous patches applied:
* the platform correctly boots
* the peripherals are usable (the spi controller clock gets a correct rate)
* the HXT and LXT frequencies are guessed by the clock driver
* a spurious clk_hxt clock appears in the clk_summary (but is harmless)
---
arch/arm64/boot/dts/nuvoton/ma35d1-iot-512m.dts | 9 ++++++++-
arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts | 9 ++++++++-
arch/arm64/boot/dts/nuvoton/ma35d1.dtsi | 3 ++-
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/arch/arm64/boot/dts/nuvoton/ma35d1-iot-512m.dts b/arch/arm64/boot/dts/nuvoton/ma35d1-iot-512m.dts
index 78534d613486..cb7d6f9ee297 100644
--- a/arch/arm64/boot/dts/nuvoton/ma35d1-iot-512m.dts
+++ b/arch/arm64/boot/dts/nuvoton/ma35d1-iot-512m.dts
@@ -35,7 +35,14 @@ clk_hxt: clock-hxt {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>;
- clock-output-names = "clk_hxt";
+ clock-output-names = "hxt";
+ };
+
+ clk_lxt: clock-lxt {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ clock-output-names = "lxt";
};
};
diff --git a/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts b/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts
index a029b660e8dc..992104289c81 100644
--- a/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts
+++ b/arch/arm64/boot/dts/nuvoton/ma35d1-som-256m.dts
@@ -35,7 +35,14 @@ clk_hxt: clock-hxt {
compatible = "fixed-clock";
#clock-cells = <0>;
clock-frequency = <24000000>;
- clock-output-names = "clk_hxt";
+ clock-output-names = "hxt";
+ };
+
+ clk_lxt: clock-lxt {
+ compatible = "fixed-clock";
+ #clock-cells = <0>;
+ clock-frequency = <32768>;
+ clock-output-names = "lxt";
};
};
diff --git a/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi b/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
index 7228ad4735b5..9a341c2b1397 100644
--- a/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
+++ b/arch/arm64/boot/dts/nuvoton/ma35d1.dtsi
@@ -92,7 +92,8 @@ clk: clock-controller@40460200 {
compatible = "nuvoton,ma35d1-clk";
reg = <0x00000000 0x40460200 0x0 0x100>;
#clock-cells = <1>;
- clocks = <&clk_hxt>;
+ clocks = <&clk_hxt>, <&clk_lxt>;
+ clock-names = "hxt", "lxt";
};
pinctrl: pinctrl@40040000 {
--
2.55.0