[PATCH v3 3/3] arm64: dts: amlogic: a1-c3-s4-t7: Add core clock to PWM controller nodes

From: Ronald Claveau via B4 Relay

Date: Sun Sep 27 2026 - 10:29:20 EST


From: Ronald Claveau <linux-kernel-dev@xxxxxxxx>

Describe the system clock of each PWM controller as a third clock,
and add the clock-names property expected by the updated binding:
"channel-a", "channel-b" and "core".

Signed-off-by: Ronald Claveau <linux-kernel-dev@xxxxxxxx>
---
arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi | 28 +++++++++++++++++++++-------
arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi | 28 +++++++++++++++++++++-------
arch/arm64/boot/dts/amlogic/meson-a1.dtsi | 12 +++++++++---
arch/arm64/boot/dts/amlogic/meson-s4.dtsi | 20 +++++++++++++++-----
4 files changed, 66 insertions(+), 22 deletions(-)

diff --git a/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi
index 4e6757a57fb9a..a27e9bba22e5d 100644
--- a/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi
+++ b/arch/arm64/boot/dts/amlogic/amlogic-c3.dtsi
@@ -824,7 +824,9 @@ pwm_mn: pwm@54000 {
"amlogic,meson-s4-pwm";
reg = <0x0 0x54000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_M>,
- <&clkc_periphs CLKID_PWM_N>;
+ <&clkc_periphs CLKID_PWM_N>,
+ <&clkc_periphs CLKID_SYS_PWM_MN>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -843,7 +845,9 @@ pwm_ab: pwm@58000 {
"amlogic,meson-s4-pwm";
reg = <0x0 0x58000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_A>,
- <&clkc_periphs CLKID_PWM_B>;
+ <&clkc_periphs CLKID_PWM_B>,
+ <&clkc_periphs CLKID_SYS_PWM_AB>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -853,7 +857,9 @@ pwm_cd: pwm@5a000 {
"amlogic,meson-s4-pwm";
reg = <0x0 0x5a000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_C>,
- <&clkc_periphs CLKID_PWM_D>;
+ <&clkc_periphs CLKID_PWM_D>,
+ <&clkc_periphs CLKID_SYS_PWM_CD>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -863,7 +869,9 @@ pwm_ef: pwm@5c000 {
"amlogic,meson-s4-pwm";
reg = <0x0 0x5c000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_E>,
- <&clkc_periphs CLKID_PWM_F>;
+ <&clkc_periphs CLKID_PWM_F>,
+ <&clkc_periphs CLKID_SYS_PWM_EF>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -873,7 +881,9 @@ pwm_gh: pwm@5e000 {
"amlogic,meson-s4-pwm";
reg = <0x0 0x5e000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_G>,
- <&clkc_periphs CLKID_PWM_H>;
+ <&clkc_periphs CLKID_PWM_H>,
+ <&clkc_periphs CLKID_SYS_PWM_GH>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -883,7 +893,9 @@ pwm_ij: pwm@60000 {
"amlogic,meson-s4-pwm";
reg = <0x0 0x60000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_I>,
- <&clkc_periphs CLKID_PWM_J>;
+ <&clkc_periphs CLKID_PWM_J>,
+ <&clkc_periphs CLKID_SYS_PWM_IJ>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -893,7 +905,9 @@ pwm_kl: pwm@62000 {
"amlogic,meson-s4-pwm";
reg = <0x0 0x62000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_K>,
- <&clkc_periphs CLKID_PWM_L>;
+ <&clkc_periphs CLKID_PWM_L>,
+ <&clkc_periphs CLKID_SYS_PWM_KL>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi b/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi
index 8f3f1c0579a0f..8a148af5ed442 100644
--- a/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi
+++ b/arch/arm64/boot/dts/amlogic/amlogic-t7.dtsi
@@ -692,7 +692,9 @@ pwm_ao_ef: pwm@30000 {
compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm";
reg = <0x0 0x30000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_AO_E>,
- <&clkc_periphs CLKID_PWM_AO_F>;
+ <&clkc_periphs CLKID_PWM_AO_F>,
+ <&clkc_periphs CLKID_SYS_PWM_AO_EF>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -701,7 +703,9 @@ pwm_ao_gh: pwm@32000 {
compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm";
reg = <0x0 0x32000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_AO_G>,
- <&clkc_periphs CLKID_PWM_AO_H>;
+ <&clkc_periphs CLKID_PWM_AO_H>,
+ <&clkc_periphs CLKID_SYS_PWM_AO_GH>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -715,7 +719,9 @@ pwm_ab: pwm@58000 {
compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm";
reg = <0x0 0x58000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_A>,
- <&clkc_periphs CLKID_PWM_B>;
+ <&clkc_periphs CLKID_PWM_B>,
+ <&clkc_periphs CLKID_SYS_PWM_AB>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -724,7 +730,9 @@ pwm_cd: pwm@5a000 {
compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm";
reg = <0x0 0x5a000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_C>,
- <&clkc_periphs CLKID_PWM_D>;
+ <&clkc_periphs CLKID_PWM_D>,
+ <&clkc_periphs CLKID_SYS_PWM_CD>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -733,7 +741,9 @@ pwm_ef: pwm@5c000 {
compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm";
reg = <0x0 0x5c000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_E>,
- <&clkc_periphs CLKID_PWM_F>;
+ <&clkc_periphs CLKID_PWM_F>,
+ <&clkc_periphs CLKID_SYS_PWM_EF>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -742,7 +752,9 @@ pwm_ao_ab: pwm@5e000 {
compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm";
reg = <0x0 0x5e000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_AO_A>,
- <&clkc_periphs CLKID_PWM_AO_B>;
+ <&clkc_periphs CLKID_PWM_AO_B>,
+ <&clkc_periphs CLKID_SYS_PWM_AO_AB>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -751,7 +763,9 @@ pwm_ao_cd: pwm@60000 {
compatible = "amlogic,t7-pwm", "amlogic,meson-s4-pwm";
reg = <0x0 0x60000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_AO_C>,
- <&clkc_periphs CLKID_PWM_AO_D>;
+ <&clkc_periphs CLKID_PWM_AO_D>,
+ <&clkc_periphs CLKID_SYS_PWM_AO_CD>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
index 6f6a6145cba12..b9761893c666d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-a1.dtsi
@@ -544,7 +544,9 @@ pwm_ab: pwm@2400 {
reg = <0x0 0x2400 0x0 0x24>;
#pwm-cells = <3>;
clocks = <&clkc_periphs CLKID_PWM_A>,
- <&clkc_periphs CLKID_PWM_B>;
+ <&clkc_periphs CLKID_PWM_B>,
+ <&clkc_periphs CLKID_PWM_AB>;
+ clock-names = "channel-a", "channel-b", "core";
power-domains = <&pwrc PWRC_I2C_ID>;
status = "disabled";
};
@@ -555,7 +557,9 @@ pwm_cd: pwm@2800 {
reg = <0x0 0x2800 0x0 0x24>;
#pwm-cells = <3>;
clocks = <&clkc_periphs CLKID_PWM_C>,
- <&clkc_periphs CLKID_PWM_D>;
+ <&clkc_periphs CLKID_PWM_D>,
+ <&clkc_periphs CLKID_PWM_CD>;
+ clock-names = "channel-a", "channel-b", "core";
power-domains = <&pwrc PWRC_I2C_ID>;
status = "disabled";
};
@@ -655,7 +659,9 @@ pwm_ef: pwm@5400 {
reg = <0x0 0x5400 0x0 0x24>;
#pwm-cells = <3>;
clocks = <&clkc_periphs CLKID_PWM_E>,
- <&clkc_periphs CLKID_PWM_F>;
+ <&clkc_periphs CLKID_PWM_F>,
+ <&clkc_periphs CLKID_PWM_EF>;
+ clock-names = "channel-a", "channel-b", "core";
power-domains = <&pwrc PWRC_I2C_ID>;
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-s4.dtsi b/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
index 2a6fbd5308362..ca9abbf857178 100644
--- a/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-s4.dtsi
@@ -685,7 +685,9 @@ pwm_ab: pwm@58000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x58000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_A>,
- <&clkc_periphs CLKID_PWM_B>;
+ <&clkc_periphs CLKID_PWM_B>,
+ <&clkc_periphs CLKID_PWM_AB>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -694,7 +696,9 @@ pwm_cd: pwm@5a000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x5a000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_C>,
- <&clkc_periphs CLKID_PWM_D>;
+ <&clkc_periphs CLKID_PWM_D>,
+ <&clkc_periphs CLKID_PWM_CD>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -703,7 +707,9 @@ pwm_ef: pwm@5c000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x5c000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_E>,
- <&clkc_periphs CLKID_PWM_F>;
+ <&clkc_periphs CLKID_PWM_F>,
+ <&clkc_periphs CLKID_PWM_EF>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -712,7 +718,9 @@ pwm_gh: pwm@5e000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x5e000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_G>,
- <&clkc_periphs CLKID_PWM_H>;
+ <&clkc_periphs CLKID_PWM_H>,
+ <&clkc_periphs CLKID_PWM_GH>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};
@@ -721,7 +729,9 @@ pwm_ij: pwm@60000 {
compatible = "amlogic,meson-s4-pwm";
reg = <0x0 0x60000 0x0 0x24>;
clocks = <&clkc_periphs CLKID_PWM_I>,
- <&clkc_periphs CLKID_PWM_J>;
+ <&clkc_periphs CLKID_PWM_J>,
+ <&clkc_periphs CLKID_PWM_IJ>;
+ clock-names = "channel-a", "channel-b", "core";
#pwm-cells = <3>;
status = "disabled";
};

--
2.49.0