[PATCH RFC v3 5/5] ARM: dts: zte: Declare a zx297520v3 clock device nodes
Stefan Dösinger
stefandoesinger at gmail.com
Thu May 28 14:53:02 PDT 2026
This makes use of the driver added in the previous patches. It wires up
the uart clocks and resets and allows getting rid of the placeholder
uartclk node.
Signed-off-by: Stefan Dösinger <stefandoesinger at gmail.com>
---
arch/arm/boot/dts/zte/zx297520v3.dtsi | 55 ++++++++++++++++++++++++++++++-----
1 file changed, 47 insertions(+), 8 deletions(-)
diff --git a/arch/arm/boot/dts/zte/zx297520v3.dtsi b/arch/arm/boot/dts/zte/zx297520v3.dtsi
index a16c30a164bb..9d80740ccf8a 100644
--- a/arch/arm/boot/dts/zte/zx297520v3.dtsi
+++ b/arch/arm/boot/dts/zte/zx297520v3.dtsi
@@ -4,6 +4,7 @@
*/
#include <dt-bindings/interrupt-controller/arm-gic.h>
+#include <dt-bindings/clock/zte,zx297520v3-clk.h>
/ {
#address-cells = <1>;
@@ -20,13 +21,16 @@ cpu at 0 {
};
};
- /* Base bus clock and default for the UART. It will be replaced once a clock driver has
- * been added.
- */
- uartclk: uartclk-26000000 {
- #clock-cells = <0>;
+ osc26m: osc26m {
compatible = "fixed-clock";
clock-frequency = <26000000>;
+ #clock-cells = <0>;
+ };
+
+ osc32k: osc32k {
+ compatible = "fixed-clock";
+ clock-frequency = <32768>;
+ #clock-cells = <0>;
};
timer {
@@ -70,13 +74,46 @@ gic: interrupt-controller at f2000000 {
<0xf2040000 0x20000>;
};
+
+ topclk: clk at 13b000 {
+ compatible = "zte,zx297520v3-topclk";
+ reg = <0x0013b000 0x400>,
+ <0x01306000 0x400>;
+ reg-names = "top", "matrix";
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+ clocks = <&osc26m>, <&osc32k>;
+ clock-names = "osc26m", "osc32k";
+ };
+
+ lspclk: clk at 1400000 {
+ compatible = "zte,zx297520v3-lspclk";
+ reg = <0x01400000 0x100>;
+ #clock-cells = <1>;
+ #reset-cells = <1>;
+
+ clocks = <&topclk ZX297520V3_LSP_MPLL_D5_WCLK>,
+ <&topclk ZX297520V3_LSP_MPLL_D4_WCLK>,
+ <&topclk ZX297520V3_LSP_MPLL_D6_WCLK>,
+ <&topclk ZX297520V3_LSP_MPLL_D8_WCLK>,
+ <&topclk ZX297520V3_LSP_MPLL_D12_WCLK>,
+ <&topclk ZX297520V3_LSP_OSC26M_WCLK>,
+ <&topclk ZX297520V3_LSP_OSC32K_WCLK>,
+ <&topclk ZX297520V3_LSP_PCLK>,
+ <&topclk ZX297520V3_LSP_TDM_WCLK>,
+ <&topclk ZX297520V3_LSP_DPLL_D4_WCLK>;
+ clock-names = "mpll_d5", "mpll_d4", "mpll_d6", "mpll_d8", "mpll_d12",
+ "osc26m", "osc32k", "pclk", "tdm_wclk", "dpll_d4";
+ };
+
uart0: serial at 131000 {
compatible = "arm,pl011", "arm,primecell";
arm,primecell-periphid = <0x0018c011>;
reg = <0x00131000 0x1000>;
interrupts = <GIC_SPI 0 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&uartclk>, <&uartclk>;
+ clocks = <&topclk ZX297520V3_UART0_WCLK>, <&topclk ZX297520V3_UART0_PCLK>;
clock-names = "uartclk", "apb_pclk";
+ resets = <&topclk ZX297520V3_UART0_RESET>;
status = "disabled";
};
@@ -85,8 +122,9 @@ uart1: serial at 1408000 {
arm,primecell-periphid = <0x0018c011>;
reg = <0x01408000 0x1000>;
interrupts = <GIC_SPI 1 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&uartclk>, <&uartclk>;
+ clocks = <&lspclk ZX297520V3_UART1_WCLK>, <&lspclk ZX297520V3_UART1_PCLK>;
clock-names = "uartclk", "apb_pclk";
+ resets = <&lspclk ZX297520V3_UART1_RESET>;
status = "disabled";
};
@@ -95,8 +133,9 @@ uart2: serial at 140d000 {
arm,primecell-periphid = <0x0018c011>;
reg = <0x0140d000 0x1000>;
interrupts = <GIC_SPI 2 IRQ_TYPE_LEVEL_HIGH>;
- clocks = <&uartclk>, <&uartclk>;
+ clocks = <&lspclk ZX297520V3_UART2_WCLK>, <&lspclk ZX297520V3_UART2_PCLK>;
clock-names = "uartclk", "apb_pclk";
+ resets = <&lspclk ZX297520V3_UART2_RESET>;
status = "disabled";
};
};
--
2.53.0
More information about the linux-arm-kernel
mailing list