* [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding
@ 2024-12-27 21:25 Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 1/5] ARM: dts: amlogic: meson8: " Martin Blumenstingl
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: Martin Blumenstingl @ 2024-12-27 21:25 UTC (permalink / raw)
To: linux-amlogic
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet,
neil.armstrong, Martin Blumenstingl
This series switches all Amlogic SoCs to use the new PWM controller
binding. The main benefits of the new binding are:
- the pwm controller driver now picks the best possible clock to
achieve the most accurate pwm output
- board.dts don't have to know about the pwm clock inputs anymore (as
the driver picks the best one automatically)
- new SoCs only need a new compatible string but no pwm-meson driver
changes, assuming only the clock inputs differ from older IP
revisions
This silences the following warning(s) at boot (for each pwm
controller instance):
using obsolete compatible, please consider updating dt
I have tested this on two devices:
- meson8b: odroidc1 (boots fine and cycling through all CPU
frequencies and thus voltages works fine)
- meson-sm1: x96-air-gbit (boots and the rtw8822cs SDIO card is
detected, so the 32kHz clock for the SDIO card works)
Since I cannot test all devices I'm asking for this series to be
applied so the Kernel CI board farm can help verify it works on all
boards available there.
Martin Blumenstingl (5):
ARM: dts: amlogic: meson8: switch to the new PWM controller binding
ARM: dts: amlogic: meson8b: switch to the new PWM controller binding
arm64: dts: amlogic: gx: switch to the new PWM controller binding
arm64: dts: amlogic: axg: switch to the new PWM controller binding
arm64: dts: amlogic: g12: switch to the new PWM controller binding
arch/arm/boot/dts/amlogic/meson8.dtsi | 18 ++++++++--
arch/arm/boot/dts/amlogic/meson8b-ec100.dts | 2 --
arch/arm/boot/dts/amlogic/meson8b-mxq.dts | 2 --
.../arm/boot/dts/amlogic/meson8b-odroidc1.dts | 2 --
arch/arm/boot/dts/amlogic/meson8b.dtsi | 18 ++++++++--
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 24 +++++++++++---
.../boot/dts/amlogic/meson-g12-common.dtsi | 33 ++++++++++++++++---
.../boot/dts/amlogic/meson-g12a-fbx8am.dts | 4 ---
.../dts/amlogic/meson-g12a-radxa-zero.dts | 4 ---
.../boot/dts/amlogic/meson-g12a-sei510.dts | 4 ---
.../boot/dts/amlogic/meson-g12a-u200.dts | 2 --
.../boot/dts/amlogic/meson-g12a-x96-max.dts | 4 ---
.../amlogic/meson-g12b-a311d-libretech-cc.dts | 2 --
.../dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 4 ---
.../boot/dts/amlogic/meson-g12b-bananapi.dtsi | 4 ---
.../dts/amlogic/meson-g12b-khadas-vim3.dtsi | 4 ---
.../boot/dts/amlogic/meson-g12b-odroid.dtsi | 4 ---
.../dts/amlogic/meson-g12b-radxa-zero2.dts | 8 -----
.../boot/dts/amlogic/meson-g12b-w400.dtsi | 6 ----
.../dts/amlogic/meson-gx-libretech-pc.dtsi | 6 ----
.../boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 --
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 8 ++---
.../boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 2 --
.../dts/amlogic/meson-gxbb-nexbox-a95x.dts | 2 --
.../boot/dts/amlogic/meson-gxbb-p20x.dtsi | 2 --
.../boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 2 --
.../boot/dts/amlogic/meson-gxbb-wetek.dtsi | 2 --
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 25 ++++++++++++++
.../boot/dts/amlogic/meson-gxl-s805x-p241.dts | 2 --
.../meson-gxl-s905w-jethome-jethub-j80.dts | 2 --
.../meson-gxl-s905x-hwacom-amazetv.dts | 2 --
.../amlogic/meson-gxl-s905x-khadas-vim.dts | 2 --
.../amlogic/meson-gxl-s905x-nexbox-a95x.dts | 2 --
.../dts/amlogic/meson-gxl-s905x-p212.dtsi | 2 --
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 25 ++++++++++++++
.../dts/amlogic/meson-gxm-khadas-vim2.dts | 4 ---
.../boot/dts/amlogic/meson-gxm-rbox-pro.dts | 2 --
.../amlogic/meson-libretech-cottonwood.dtsi | 6 ----
.../boot/dts/amlogic/meson-sm1-ac2xx.dtsi | 6 ----
.../boot/dts/amlogic/meson-sm1-bananapi.dtsi | 2 --
.../dts/amlogic/meson-sm1-khadas-vim3l.dts | 2 --
.../boot/dts/amlogic/meson-sm1-odroid.dtsi | 2 --
.../boot/dts/amlogic/meson-sm1-sei610.dts | 6 ----
43 files changed, 132 insertions(+), 135 deletions(-)
--
2.47.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 1/5] ARM: dts: amlogic: meson8: switch to the new PWM controller binding
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
@ 2024-12-27 21:25 ` Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 2/5] ARM: dts: amlogic: meson8b: " Martin Blumenstingl
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Martin Blumenstingl @ 2024-12-27 21:25 UTC (permalink / raw)
To: linux-amlogic
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet,
neil.armstrong, Martin Blumenstingl
Use the new PWM controller binding which now relies on passing all
clock inputs available on the SoC (instead of passing the "wanted"
clock input for a given board).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
arch/arm/boot/dts/amlogic/meson8.dtsi | 18 +++++++++++++++---
1 file changed, 15 insertions(+), 3 deletions(-)
diff --git a/arch/arm/boot/dts/amlogic/meson8.dtsi b/arch/arm/boot/dts/amlogic/meson8.dtsi
index 9ff142d9fe3f..847f7b1f1e96 100644
--- a/arch/arm/boot/dts/amlogic/meson8.dtsi
+++ b/arch/arm/boot/dts/amlogic/meson8.dtsi
@@ -449,7 +449,11 @@ analog_top: analog-top@81a8 {
};
pwm_ef: pwm@86c0 {
- compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm";
+ compatible = "amlogic,meson8-pwm-v2";
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "Video PLL" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
reg = <0x86c0 0x10>;
#pwm-cells = <3>;
status = "disabled";
@@ -699,11 +703,19 @@ timer@600 {
};
&pwm_ab {
- compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm";
+ compatible = "amlogic,meson8-pwm-v2";
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "Video PLL" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
};
&pwm_cd {
- compatible = "amlogic,meson8-pwm", "amlogic,meson8b-pwm";
+ compatible = "amlogic,meson8-pwm-v2";
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "Video PLL" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
};
&rtc {
--
2.47.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 2/5] ARM: dts: amlogic: meson8b: switch to the new PWM controller binding
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 1/5] ARM: dts: amlogic: meson8: " Martin Blumenstingl
@ 2024-12-27 21:25 ` Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 3/5] arm64: dts: amlogic: gx: " Martin Blumenstingl
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Martin Blumenstingl @ 2024-12-27 21:25 UTC (permalink / raw)
To: linux-amlogic
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet,
neil.armstrong, Martin Blumenstingl
Use the new PWM controller binding which now relies on passing all
clock inputs available on the SoC (instead of passing the "wanted"
clock input for a given board).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
arch/arm/boot/dts/amlogic/meson8b-ec100.dts | 2 --
arch/arm/boot/dts/amlogic/meson8b-mxq.dts | 2 --
arch/arm/boot/dts/amlogic/meson8b-odroidc1.dts | 2 --
arch/arm/boot/dts/amlogic/meson8b.dtsi | 18 +++++++++++++++---
4 files changed, 15 insertions(+), 9 deletions(-)
diff --git a/arch/arm/boot/dts/amlogic/meson8b-ec100.dts b/arch/arm/boot/dts/amlogic/meson8b-ec100.dts
index 18ea6592b7d7..236999548094 100644
--- a/arch/arm/boot/dts/amlogic/meson8b-ec100.dts
+++ b/arch/arm/boot/dts/amlogic/meson8b-ec100.dts
@@ -443,8 +443,6 @@ &pwm_cd {
status = "okay";
pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
pinctrl-names = "default";
- clocks = <&xtal>, <&xtal>;
- clock-names = "clkin0", "clkin1";
};
&rtc {
diff --git a/arch/arm/boot/dts/amlogic/meson8b-mxq.dts b/arch/arm/boot/dts/amlogic/meson8b-mxq.dts
index fb28cb330f17..0bca0b33eea2 100644
--- a/arch/arm/boot/dts/amlogic/meson8b-mxq.dts
+++ b/arch/arm/boot/dts/amlogic/meson8b-mxq.dts
@@ -162,8 +162,6 @@ &pwm_cd {
status = "okay";
pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
pinctrl-names = "default";
- clocks = <&xtal>, <&xtal>;
- clock-names = "clkin0", "clkin1";
};
&uart_AO {
diff --git a/arch/arm/boot/dts/amlogic/meson8b-odroidc1.dts b/arch/arm/boot/dts/amlogic/meson8b-odroidc1.dts
index 2aa012f38a3b..1cd2093202ca 100644
--- a/arch/arm/boot/dts/amlogic/meson8b-odroidc1.dts
+++ b/arch/arm/boot/dts/amlogic/meson8b-odroidc1.dts
@@ -347,8 +347,6 @@ &pwm_cd {
status = "okay";
pinctrl-0 = <&pwm_c1_pins>, <&pwm_d_pins>;
pinctrl-names = "default";
- clocks = <&xtal>, <&xtal>;
- clock-names = "clkin0", "clkin1";
};
&rtc {
diff --git a/arch/arm/boot/dts/amlogic/meson8b.dtsi b/arch/arm/boot/dts/amlogic/meson8b.dtsi
index 9e02a97f86a0..0876611ce26a 100644
--- a/arch/arm/boot/dts/amlogic/meson8b.dtsi
+++ b/arch/arm/boot/dts/amlogic/meson8b.dtsi
@@ -403,8 +403,12 @@ analog_top: analog-top@81a8 {
};
pwm_ef: pwm@86c0 {
- compatible = "amlogic,meson8b-pwm";
+ compatible = "amlogic,meson8b-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x86c0 0x10>;
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "Video PLL" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
#pwm-cells = <3>;
status = "disabled";
};
@@ -674,11 +678,19 @@ timer@600 {
};
&pwm_ab {
- compatible = "amlogic,meson8b-pwm";
+ compatible = "amlogic,meson8b-pwm-v2", "amlogic,meson8-pwm-v2";
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "Video PLL" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
};
&pwm_cd {
- compatible = "amlogic,meson8b-pwm";
+ compatible = "amlogic,meson8b-pwm-v2", "amlogic,meson8-pwm-v2";
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "Video PLL" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
};
&rtc {
--
2.47.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 3/5] arm64: dts: amlogic: gx: switch to the new PWM controller binding
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 1/5] ARM: dts: amlogic: meson8: " Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 2/5] ARM: dts: amlogic: meson8b: " Martin Blumenstingl
@ 2024-12-27 21:25 ` Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 4/5] arm64: dts: amlogic: axg: " Martin Blumenstingl
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Martin Blumenstingl @ 2024-12-27 21:25 UTC (permalink / raw)
To: linux-amlogic
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet,
neil.armstrong, Martin Blumenstingl
Use the new PWM controller binding which now relies on passing all
clock inputs available on the SoC (instead of passing the "wanted"
clock input for a given board).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
.../dts/amlogic/meson-gx-libretech-pc.dtsi | 6 -----
.../boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 --
arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 8 +++---
.../boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 2 --
.../dts/amlogic/meson-gxbb-nexbox-a95x.dts | 2 --
.../boot/dts/amlogic/meson-gxbb-p20x.dtsi | 2 --
.../boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 2 --
.../boot/dts/amlogic/meson-gxbb-wetek.dtsi | 2 --
arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 25 +++++++++++++++++++
.../boot/dts/amlogic/meson-gxl-s805x-p241.dts | 2 --
.../meson-gxl-s905w-jethome-jethub-j80.dts | 2 --
.../meson-gxl-s905x-hwacom-amazetv.dts | 2 --
.../amlogic/meson-gxl-s905x-khadas-vim.dts | 2 --
.../amlogic/meson-gxl-s905x-nexbox-a95x.dts | 2 --
.../dts/amlogic/meson-gxl-s905x-p212.dtsi | 2 --
arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 25 +++++++++++++++++++
.../dts/amlogic/meson-gxm-khadas-vim2.dts | 4 ---
.../boot/dts/amlogic/meson-gxm-rbox-pro.dts | 2 --
18 files changed, 54 insertions(+), 40 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi
index d38c3a224fbe..2da49cfbde77 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-libretech-pc.dtsi
@@ -345,24 +345,18 @@ rtc: rtc@51 {
&pwm_AO_ab {
pinctrl-0 = <&pwm_ao_a_3_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
status = "okay";
};
&pwm_ab {
pinctrl-0 = <&pwm_b_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
status = "okay";
};
&pwm_ef {
pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
index 45ccddd1aaf0..6da1316d97c6 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx-p23x-q20x.dtsi
@@ -240,8 +240,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
index 2673f0dbafe7..7d99ca44e660 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gx.dtsi
@@ -329,14 +329,14 @@ i2c_A: i2c@8500 {
};
pwm_ab: pwm@8550 {
- compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
+ compatible = "amlogic,meson-gxbb-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x0 0x08550 0x0 0x10>;
#pwm-cells = <3>;
status = "disabled";
};
pwm_cd: pwm@8650 {
- compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
+ compatible = "amlogic,meson-gxbb-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x0 0x08650 0x0 0x10>;
#pwm-cells = <3>;
status = "disabled";
@@ -351,7 +351,7 @@ saradc: adc@8680 {
};
pwm_ef: pwm@86c0 {
- compatible = "amlogic,meson-gx-pwm", "amlogic,meson-gxbb-pwm";
+ compatible = "amlogic,meson-gxbb-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x0 0x086c0 0x0 0x10>;
#pwm-cells = <3>;
status = "disabled";
@@ -498,7 +498,7 @@ i2c_AO: i2c@500 {
};
pwm_AO_ab: pwm@550 {
- compatible = "amlogic,meson-gx-ao-pwm", "amlogic,meson-gxbb-ao-pwm";
+ compatible = "amlogic,meson-gxbb-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x0 0x00550 0x0 0x10>;
#pwm-cells = <3>;
status = "disabled";
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
index cf2e2ef81680..2ecc6ebd5a43 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nanopi-k2.dts
@@ -298,8 +298,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
index 7d7dde93fff3..c09da40ff7b0 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-nexbox-a95x.dts
@@ -241,8 +241,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
/* Wireless SDIO Module */
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
index 52d57773a77f..b463d03c3ed9 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-p20x.dtsi
@@ -150,8 +150,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
/* Wireless SDIO Module */
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
index 3807a184810b..6ff567225fee 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-vega-s95.dtsi
@@ -222,8 +222,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
index deb295227189..bfedfc1472ec 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb-wetek.dtsi
@@ -185,8 +185,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
index ed00e67e6923..8ebce7114a60 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi
@@ -739,6 +739,31 @@ mux {
};
};
+&pwm_ab {
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
+};
+
+&pwm_AO_ab {
+ clocks = <&xtal>, <&clkc CLKID_CLK81>;
+};
+
+&pwm_cd {
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
+};
+
+&pwm_ef {
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
+};
+
&pwrc {
resets = <&reset RESET_VIU>,
<&reset RESET_VENC>,
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
index c5e2306ad7a4..ca7c4e8e7cac 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s805x-p241.dts
@@ -280,8 +280,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
/* This is connected to the Bluetooth module: */
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts
index 2b94b6e5285e..4ca90ac947b7 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905w-jethome-jethub-j80.dts
@@ -116,8 +116,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts
index 89fe5110f7a2..62a2da766a00 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-hwacom-amazetv.dts
@@ -115,8 +115,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
/* SD card */
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
index a80f0ea2773b..4e89d6f6bb57 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-khadas-vim.dts
@@ -211,8 +211,6 @@ &pwm_AO_ab {
status = "okay";
pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>;
pinctrl-names = "default";
- clocks = <&xtal> , <&xtal>;
- clock-names = "clkin0", "clkin1" ;
};
&pwm_ef {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
index c79f9f2099bf..236cedec9f19 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-nexbox-a95x.dts
@@ -145,8 +145,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
/* Wireless SDIO Module */
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
index 7e7dc87ede2d..b295f97021de 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl-s905x-p212.dtsi
@@ -101,8 +101,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
index f58d1790de1c..2dc2fdaecf9f 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-gxl.dtsi
@@ -809,6 +809,31 @@ internal_phy: ethernet-phy@8 {
};
};
+&pwm_ab {
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
+};
+
+&pwm_AO_ab {
+ clocks = <&xtal>, <&clkc CLKID_CLK81>;
+};
+
+&pwm_cd {
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
+};
+
+&pwm_ef {
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
+};
+
&pwrc {
resets = <&reset RESET_VIU>,
<&reset RESET_VENC>,
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
index 96a3dd2d8a99..2a09b3d550e2 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-khadas-vim2.dts
@@ -289,16 +289,12 @@ &pwm_AO_ab {
status = "okay";
pinctrl-0 = <&pwm_ao_a_3_pins>, <&pwm_ao_b_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
&pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>, <&pwm_f_clk_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
&sd_emmc_a {
diff --git a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
index 7356d3b628b1..ecaf678b23dd 100644
--- a/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-gxm-rbox-pro.dts
@@ -192,8 +192,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&clkc CLKID_FCLK_DIV4>;
- clock-names = "clkin0";
};
/* Wireless SDIO Module */
--
2.47.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 4/5] arm64: dts: amlogic: axg: switch to the new PWM controller binding
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
` (2 preceding siblings ...)
2024-12-27 21:25 ` [PATCH 3/5] arm64: dts: amlogic: gx: " Martin Blumenstingl
@ 2024-12-27 21:25 ` Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 5/5] arm64: dts: amlogic: g12: " Martin Blumenstingl
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Martin Blumenstingl @ 2024-12-27 21:25 UTC (permalink / raw)
To: linux-amlogic
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet,
neil.armstrong, Martin Blumenstingl
Use the new PWM controller binding which now relies on passing all
clock inputs available on the SoC (instead of passing the "wanted"
clock input for a given board).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 24 ++++++++++++++++++----
1 file changed, 20 insertions(+), 4 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
index e9b22868983d..a6924d246bb1 100644
--- a/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-axg.dtsi
@@ -1693,8 +1693,12 @@ sec_AO: ao-secure@140 {
};
pwm_AO_cd: pwm@2000 {
- compatible = "amlogic,meson-axg-ao-pwm";
+ compatible = "amlogic,meson-axg-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x0 0x02000 0x0 0x20>;
+ clocks = <&xtal>,
+ <&clkc_AO CLKID_AO_CLK81>,
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV5>;
#pwm-cells = <3>;
status = "disabled";
};
@@ -1728,8 +1732,12 @@ i2c_AO: i2c@5000 {
};
pwm_AO_ab: pwm@7000 {
- compatible = "amlogic,meson-axg-ao-pwm";
+ compatible = "amlogic,meson-axg-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x0 0x07000 0x0 0x20>;
+ clocks = <&xtal>,
+ <&clkc_AO CLKID_AO_CLK81>,
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV5>;
#pwm-cells = <3>;
status = "disabled";
};
@@ -1806,15 +1814,23 @@ watchdog@f0d0 {
};
pwm_ab: pwm@1b000 {
- compatible = "amlogic,meson-axg-ee-pwm";
+ compatible = "amlogic,meson-axg-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x0 0x1b000 0x0 0x20>;
+ clocks = <&xtal>,
+ <&clkc CLKID_FCLK_DIV5>,
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
#pwm-cells = <3>;
status = "disabled";
};
pwm_cd: pwm@1a000 {
- compatible = "amlogic,meson-axg-ee-pwm";
+ compatible = "amlogic,meson-axg-pwm-v2", "amlogic,meson8-pwm-v2";
reg = <0x0 0x1a000 0x0 0x20>;
+ clocks = <&xtal>,
+ <&clkc CLKID_FCLK_DIV5>,
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
#pwm-cells = <3>;
status = "disabled";
};
--
2.47.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* [PATCH 5/5] arm64: dts: amlogic: g12: switch to the new PWM controller binding
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
` (3 preceding siblings ...)
2024-12-27 21:25 ` [PATCH 4/5] arm64: dts: amlogic: axg: " Martin Blumenstingl
@ 2024-12-27 21:25 ` Martin Blumenstingl
2024-12-30 9:56 ` [PATCH 0/5] dts: amlogic: " neil.armstrong
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: Martin Blumenstingl @ 2024-12-27 21:25 UTC (permalink / raw)
To: linux-amlogic
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet,
neil.armstrong, Martin Blumenstingl
Use the new PWM controller binding which now relies on passing all
clock inputs available on the SoC (instead of passing the "wanted"
clock input for a given board).
Signed-off-by: Martin Blumenstingl <martin.blumenstingl@googlemail.com>
---
.../boot/dts/amlogic/meson-g12-common.dtsi | 33 ++++++++++++++++---
.../boot/dts/amlogic/meson-g12a-fbx8am.dts | 4 ---
.../dts/amlogic/meson-g12a-radxa-zero.dts | 4 ---
.../boot/dts/amlogic/meson-g12a-sei510.dts | 4 ---
.../boot/dts/amlogic/meson-g12a-u200.dts | 2 --
.../boot/dts/amlogic/meson-g12a-x96-max.dts | 4 ---
.../amlogic/meson-g12b-a311d-libretech-cc.dts | 2 --
.../dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 4 ---
.../boot/dts/amlogic/meson-g12b-bananapi.dtsi | 4 ---
.../dts/amlogic/meson-g12b-khadas-vim3.dtsi | 4 ---
.../boot/dts/amlogic/meson-g12b-odroid.dtsi | 4 ---
.../dts/amlogic/meson-g12b-radxa-zero2.dts | 8 -----
.../boot/dts/amlogic/meson-g12b-w400.dtsi | 6 ----
.../amlogic/meson-libretech-cottonwood.dtsi | 6 ----
.../boot/dts/amlogic/meson-sm1-ac2xx.dtsi | 6 ----
.../boot/dts/amlogic/meson-sm1-bananapi.dtsi | 2 --
.../dts/amlogic/meson-sm1-khadas-vim3l.dts | 2 --
.../boot/dts/amlogic/meson-sm1-odroid.dtsi | 2 --
.../boot/dts/amlogic/meson-sm1-sei610.dts | 6 ----
19 files changed, 28 insertions(+), 79 deletions(-)
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
index 49b51c54013f..ab2b3f15ef19 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12-common.dtsi
@@ -2060,8 +2060,11 @@ cecb_AO: cec@280 {
};
pwm_AO_cd: pwm@2000 {
- compatible = "amlogic,meson-g12a-ao-pwm-cd";
+ compatible = "amlogic,meson-g12-pwm-v2",
+ "amlogic,meson8-pwm-v2";
reg = <0x0 0x2000 0x0 0x20>;
+ clocks = <&xtal>,
+ <&clkc_AO CLKID_AO_CLK81>;
#pwm-cells = <3>;
status = "disabled";
};
@@ -2099,8 +2102,13 @@ i2c_AO: i2c@5000 {
};
pwm_AO_ab: pwm@7000 {
- compatible = "amlogic,meson-g12a-ao-pwm-ab";
+ compatible = "amlogic,meson-g12-pwm-v2",
+ "amlogic,meson8-pwm-v2";
reg = <0x0 0x7000 0x0 0x20>;
+ clocks = <&xtal>,
+ <&clkc_AO CLKID_AO_CLK81>,
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV5>;
#pwm-cells = <3>;
status = "disabled";
};
@@ -2301,22 +2309,37 @@ spifc: spi@14000 {
};
pwm_ef: pwm@19000 {
- compatible = "amlogic,meson-g12a-ee-pwm";
+ compatible = "amlogic,meson-g12-pwm-v2",
+ "amlogic,meson8-pwm-v2";
reg = <0x0 0x19000 0x0 0x20>;
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
#pwm-cells = <3>;
status = "disabled";
};
pwm_cd: pwm@1a000 {
- compatible = "amlogic,meson-g12a-ee-pwm";
+ compatible = "amlogic,meson-g12-pwm-v2",
+ "amlogic,meson8-pwm-v2";
reg = <0x0 0x1a000 0x0 0x20>;
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
#pwm-cells = <3>;
status = "disabled";
};
pwm_ab: pwm@1b000 {
- compatible = "amlogic,meson-g12a-ee-pwm";
+ compatible = "amlogic,meson-g12-pwm-v2",
+ "amlogic,meson8-pwm-v2";
reg = <0x0 0x1b000 0x0 0x20>;
+ clocks = <&xtal>,
+ <>, /* unknown/untested, the datasheet calls it "vid_pll" */
+ <&clkc CLKID_FCLK_DIV4>,
+ <&clkc CLKID_FCLK_DIV3>;
#pwm-cells = <3>;
status = "disabled";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts
index a457b3f4397b..9aa36f17ffa2 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-fbx8am.dts
@@ -346,8 +346,6 @@ &ir {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
@@ -355,8 +353,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&pdm {
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
index c779a5da7d1e..952b8d02e5c2 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-radxa-zero.dts
@@ -284,8 +284,6 @@ &ir {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
@@ -293,8 +291,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts
index ea51341f031b..52fbc5103e45 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-sei510.dts
@@ -389,8 +389,6 @@ &ir {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
@@ -398,8 +396,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&pdm {
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
index f70a46967e2b..5407049d2647 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-u200.dts
@@ -502,8 +502,6 @@ &i2c3 {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
index 32f98a192494..01da83658ae3 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12a-x96-max.dts
@@ -328,8 +328,6 @@ &ir {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
@@ -363,8 +361,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&uart_A {
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-libretech-cc.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-libretech-cc.dts
index 65b963d794cd..adedc1340c78 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-libretech-cc.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-a311d-libretech-cc.dts
@@ -116,6 +116,4 @@ &cpu103 {
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>, <&pwm_b_x7_pins>;
- clocks = <&xtal>, <&xtal>;
- clock-names = "clkin0", "clkin1";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
index 08c33ec7e9f1..92e8b26ecccc 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi-cm4.dtsi
@@ -257,8 +257,6 @@ &pcie {
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
status = "okay";
};
@@ -273,8 +271,6 @@ &pwm_ef {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi
index d4e1990b5f26..54663c55a20e 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-bananapi.dtsi
@@ -367,8 +367,6 @@ &pwm_ab {
status = "okay";
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&pwm_ef {
@@ -380,8 +378,6 @@ &pwm_ef {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-khadas-vim3.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-khadas-vim3.dtsi
index 16dd409051b4..48650bad230d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-khadas-vim3.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-khadas-vim3.dtsi
@@ -92,16 +92,12 @@ &cpu103 {
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
status = "okay";
};
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi
index 09d959aefb18..7e8964bacfce 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-odroid.dtsi
@@ -327,16 +327,12 @@ hdmi_tx_tmds_out: endpoint {
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
status = "okay";
};
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
index 39feba7f2d08..fc05ecf90714 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-radxa-zero2.dts
@@ -379,32 +379,24 @@ &ir {
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
status = "okay";
};
&pwm_ef {
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
status = "okay";
};
&pwm_AO_ab {
pinctrl-0 = <&pwm_ao_a_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
status = "okay";
};
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi b/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi
index 4cb6930ffb19..a7a0fc264cdc 100644
--- a/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-g12b-w400.dtsi
@@ -304,24 +304,18 @@ &ir {
&pwm_ab {
pinctrl-0 = <&pwm_a_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
status = "okay";
};
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
&pwm_ef {
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-libretech-cottonwood.dtsi b/arch/arm64/boot/dts/amlogic/meson-libretech-cottonwood.dtsi
index 929e4720ae76..ac9c4c2673b1 100644
--- a/arch/arm64/boot/dts/amlogic/meson-libretech-cottonwood.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-libretech-cottonwood.dtsi
@@ -458,24 +458,18 @@ &pwm_AO_cd {
status = "okay";
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
};
&pwm_ab {
status = "okay";
pinctrl-0 = <&pwm_b_x7_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
};
&pwm_cd {
status = "okay";
pinctrl-0 = <&pwm_d_x3_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi
index d1fa8b8bf795..a3463149db3d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-ac2xx.dtsi
@@ -199,15 +199,11 @@ &pwm_AO_ab {
status = "okay";
pinctrl-0 = <&pwm_ao_a_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
@@ -215,8 +211,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&saradc {
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi
index 81dce862902a..40db95f64636 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-bananapi.dtsi
@@ -367,8 +367,6 @@ &ir {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts
index 9c0b544e2209..5d75ad3f3e46 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-khadas-vim3l.dts
@@ -78,8 +78,6 @@ &cpu3 {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
index 7b0e9817a615..ad8d07883760 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-odroid.dtsi
@@ -392,8 +392,6 @@ &ir {
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
diff --git a/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts b/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts
index 2e3397e55da2..37d7f64b6d5d 100644
--- a/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts
+++ b/arch/arm64/boot/dts/amlogic/meson-sm1-sei610.dts
@@ -435,15 +435,11 @@ &pwm_AO_ab {
status = "okay";
pinctrl-0 = <&pwm_ao_a_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&pwm_AO_cd {
pinctrl-0 = <&pwm_ao_d_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin1";
status = "okay";
};
@@ -451,8 +447,6 @@ &pwm_ef {
status = "okay";
pinctrl-0 = <&pwm_e_pins>;
pinctrl-names = "default";
- clocks = <&xtal>;
- clock-names = "clkin0";
};
&saradc {
--
2.47.1
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
` (4 preceding siblings ...)
2024-12-27 21:25 ` [PATCH 5/5] arm64: dts: amlogic: g12: " Martin Blumenstingl
@ 2024-12-30 9:56 ` neil.armstrong
2024-12-30 9:59 ` (subset) " Neil Armstrong
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: neil.armstrong @ 2024-12-30 9:56 UTC (permalink / raw)
To: Martin Blumenstingl, linux-amlogic
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet
On 27/12/2024 22:25, Martin Blumenstingl wrote:
> This series switches all Amlogic SoCs to use the new PWM controller
> binding. The main benefits of the new binding are:
> - the pwm controller driver now picks the best possible clock to
> achieve the most accurate pwm output
> - board.dts don't have to know about the pwm clock inputs anymore (as
> the driver picks the best one automatically)
> - new SoCs only need a new compatible string but no pwm-meson driver
> changes, assuming only the clock inputs differ from older IP
> revisions
>
> This silences the following warning(s) at boot (for each pwm
> controller instance):
> using obsolete compatible, please consider updating dt
>
> I have tested this on two devices:
> - meson8b: odroidc1 (boots fine and cycling through all CPU
> frequencies and thus voltages works fine)
> - meson-sm1: x96-air-gbit (boots and the rtw8822cs SDIO card is
> detected, so the 32kHz clock for the SDIO card works)
>
> Since I cannot test all devices I'm asking for this series to be
> applied so the Kernel CI board farm can help verify it works on all
> boards available there.
Ack I'll appply them for the next release so it stays in -next for a while.
For the serie:
Reviewed-by: Neil Armstrong <neil.armstrong@linaro.org>
Thanks!
Neil
>
>
> Martin Blumenstingl (5):
> ARM: dts: amlogic: meson8: switch to the new PWM controller binding
> ARM: dts: amlogic: meson8b: switch to the new PWM controller binding
> arm64: dts: amlogic: gx: switch to the new PWM controller binding
> arm64: dts: amlogic: axg: switch to the new PWM controller binding
> arm64: dts: amlogic: g12: switch to the new PWM controller binding
>
> arch/arm/boot/dts/amlogic/meson8.dtsi | 18 ++++++++--
> arch/arm/boot/dts/amlogic/meson8b-ec100.dts | 2 --
> arch/arm/boot/dts/amlogic/meson8b-mxq.dts | 2 --
> .../arm/boot/dts/amlogic/meson8b-odroidc1.dts | 2 --
> arch/arm/boot/dts/amlogic/meson8b.dtsi | 18 ++++++++--
> arch/arm64/boot/dts/amlogic/meson-axg.dtsi | 24 +++++++++++---
> .../boot/dts/amlogic/meson-g12-common.dtsi | 33 ++++++++++++++++---
> .../boot/dts/amlogic/meson-g12a-fbx8am.dts | 4 ---
> .../dts/amlogic/meson-g12a-radxa-zero.dts | 4 ---
> .../boot/dts/amlogic/meson-g12a-sei510.dts | 4 ---
> .../boot/dts/amlogic/meson-g12a-u200.dts | 2 --
> .../boot/dts/amlogic/meson-g12a-x96-max.dts | 4 ---
> .../amlogic/meson-g12b-a311d-libretech-cc.dts | 2 --
> .../dts/amlogic/meson-g12b-bananapi-cm4.dtsi | 4 ---
> .../boot/dts/amlogic/meson-g12b-bananapi.dtsi | 4 ---
> .../dts/amlogic/meson-g12b-khadas-vim3.dtsi | 4 ---
> .../boot/dts/amlogic/meson-g12b-odroid.dtsi | 4 ---
> .../dts/amlogic/meson-g12b-radxa-zero2.dts | 8 -----
> .../boot/dts/amlogic/meson-g12b-w400.dtsi | 6 ----
> .../dts/amlogic/meson-gx-libretech-pc.dtsi | 6 ----
> .../boot/dts/amlogic/meson-gx-p23x-q20x.dtsi | 2 --
> arch/arm64/boot/dts/amlogic/meson-gx.dtsi | 8 ++---
> .../boot/dts/amlogic/meson-gxbb-nanopi-k2.dts | 2 --
> .../dts/amlogic/meson-gxbb-nexbox-a95x.dts | 2 --
> .../boot/dts/amlogic/meson-gxbb-p20x.dtsi | 2 --
> .../boot/dts/amlogic/meson-gxbb-vega-s95.dtsi | 2 --
> .../boot/dts/amlogic/meson-gxbb-wetek.dtsi | 2 --
> arch/arm64/boot/dts/amlogic/meson-gxbb.dtsi | 25 ++++++++++++++
> .../boot/dts/amlogic/meson-gxl-s805x-p241.dts | 2 --
> .../meson-gxl-s905w-jethome-jethub-j80.dts | 2 --
> .../meson-gxl-s905x-hwacom-amazetv.dts | 2 --
> .../amlogic/meson-gxl-s905x-khadas-vim.dts | 2 --
> .../amlogic/meson-gxl-s905x-nexbox-a95x.dts | 2 --
> .../dts/amlogic/meson-gxl-s905x-p212.dtsi | 2 --
> arch/arm64/boot/dts/amlogic/meson-gxl.dtsi | 25 ++++++++++++++
> .../dts/amlogic/meson-gxm-khadas-vim2.dts | 4 ---
> .../boot/dts/amlogic/meson-gxm-rbox-pro.dts | 2 --
> .../amlogic/meson-libretech-cottonwood.dtsi | 6 ----
> .../boot/dts/amlogic/meson-sm1-ac2xx.dtsi | 6 ----
> .../boot/dts/amlogic/meson-sm1-bananapi.dtsi | 2 --
> .../dts/amlogic/meson-sm1-khadas-vim3l.dts | 2 --
> .../boot/dts/amlogic/meson-sm1-odroid.dtsi | 2 --
> .../boot/dts/amlogic/meson-sm1-sei610.dts | 6 ----
> 43 files changed, 132 insertions(+), 135 deletions(-)
>
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: (subset) [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
` (5 preceding siblings ...)
2024-12-30 9:56 ` [PATCH 0/5] dts: amlogic: " neil.armstrong
@ 2024-12-30 9:59 ` Neil Armstrong
2024-12-30 9:59 ` Neil Armstrong
[not found] ` <4A37D0CD-FD4F-445A-87F8-19D65CB7FDB9@hewittfamily.org.uk>
8 siblings, 0 replies; 10+ messages in thread
From: Neil Armstrong @ 2024-12-30 9:59 UTC (permalink / raw)
To: linux-amlogic, Martin Blumenstingl
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet
Hi,
On Fri, 27 Dec 2024 22:25:09 +0100, Martin Blumenstingl wrote:
> This series switches all Amlogic SoCs to use the new PWM controller
> binding. The main benefits of the new binding are:
> - the pwm controller driver now picks the best possible clock to
> achieve the most accurate pwm output
> - board.dts don't have to know about the pwm clock inputs anymore (as
> the driver picks the best one automatically)
> - new SoCs only need a new compatible string but no pwm-meson driver
> changes, assuming only the clock inputs differ from older IP
> revisions
>
> [...]
Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.15/arm-dt)
[1/5] ARM: dts: amlogic: meson8: switch to the new PWM controller binding
https://git.kernel.org/amlogic/c/d352e8fc91526bdbb70468e8dea13581b905891f
[2/5] ARM: dts: amlogic: meson8b: switch to the new PWM controller binding
https://git.kernel.org/amlogic/c/39786592bfdd92b64a68283fa896e108ca9822de
These changes has been applied on the intermediate git tree [1].
The v6.15/arm-dt branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.
In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].
The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.
If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
--
Neil
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: (subset) [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
` (6 preceding siblings ...)
2024-12-30 9:59 ` (subset) " Neil Armstrong
@ 2024-12-30 9:59 ` Neil Armstrong
[not found] ` <4A37D0CD-FD4F-445A-87F8-19D65CB7FDB9@hewittfamily.org.uk>
8 siblings, 0 replies; 10+ messages in thread
From: Neil Armstrong @ 2024-12-30 9:59 UTC (permalink / raw)
To: linux-amlogic, Martin Blumenstingl
Cc: linux-arm-kernel, linux-kernel, devicetree, jbrunet
Hi,
On Fri, 27 Dec 2024 22:25:09 +0100, Martin Blumenstingl wrote:
> This series switches all Amlogic SoCs to use the new PWM controller
> binding. The main benefits of the new binding are:
> - the pwm controller driver now picks the best possible clock to
> achieve the most accurate pwm output
> - board.dts don't have to know about the pwm clock inputs anymore (as
> the driver picks the best one automatically)
> - new SoCs only need a new compatible string but no pwm-meson driver
> changes, assuming only the clock inputs differ from older IP
> revisions
>
> [...]
Thanks, Applied to https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git (v6.15/arm64-dt)
[3/5] arm64: dts: amlogic: gx: switch to the new PWM controller binding
https://git.kernel.org/amlogic/c/12abaac5a70994490e565249dcffbb5c329b30bd
[4/5] arm64: dts: amlogic: axg: switch to the new PWM controller binding
https://git.kernel.org/amlogic/c/77747dbb11466d5ac2ee11a260e8de0b65f3fd1c
[5/5] arm64: dts: amlogic: g12: switch to the new PWM controller binding
https://git.kernel.org/amlogic/c/06c993691a2fdcabc43053a8fdd813cdeef516c4
These changes has been applied on the intermediate git tree [1].
The v6.15/arm64-dt branch will then be sent via a formal Pull Request to the Linux SoC maintainers
for inclusion in their intermediate git branches in order to be sent to Linus during
the next merge window, or sooner if it's a set of fixes.
In the cases of fixes, those will be merged in the current release candidate
kernel and as soon they appear on the Linux master branch they will be
backported to the previous Stable and Long-Stable kernels [2].
The intermediate git branches are merged daily in the linux-next tree [3],
people are encouraged testing these pre-release kernels and report issues on the
relevant mailing-lists.
If problems are discovered on those changes, please submit a signed-off-by revert
patch followed by a corrective changeset.
[1] https://git.kernel.org/pub/scm/linux/kernel/git/amlogic/linux.git
[2] https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
[3] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
--
Neil
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding
[not found] ` <4A37D0CD-FD4F-445A-87F8-19D65CB7FDB9@hewittfamily.org.uk>
@ 2025-04-20 16:53 ` Martin Blumenstingl
0 siblings, 0 replies; 10+ messages in thread
From: Martin Blumenstingl @ 2025-04-20 16:53 UTC (permalink / raw)
To: Christian Hewitt
Cc: linux-amlogic, linux-arm-kernel, linux-kernel, devicetree,
jbrunet, neil.armstrong
On Sun, Apr 20, 2025 at 9:45 AM Christian Hewitt
<christian@hewittfamily.org.uk> wrote:
>
> > On 28 Dec 2024, at 1:25 am, Martin Blumenstingl <martin.blumenstingl@googlemail.com> wrote:
> >
> > This series switches all Amlogic SoCs to use the new PWM controller
> > binding. The main benefits of the new binding are:
> > - the pwm controller driver now picks the best possible clock to
> > achieve the most accurate pwm output
> > - board.dts don't have to know about the pwm clock inputs anymore (as
> > the driver picks the best one automatically)
> > - new SoCs only need a new compatible string but no pwm-meson driver
> > changes, assuming only the clock inputs differ from older IP
> > revisions
> >
> > This silences the following warning(s) at boot (for each pwm
> > controller instance):
> > using obsolete compatible, please consider updating dt
> >
> > I have tested this on two devices:
> > - meson8b: odroidc1 (boots fine and cycling through all CPU
> > frequencies and thus voltages works fine)
> > - meson-sm1: x96-air-gbit (boots and the rtw8822cs SDIO card is
> > detected, so the 32kHz clock for the SDIO card works)
> >
> > Since I cannot test all devices I'm asking for this series to be
> > applied so the Kernel CI board farm can help verify it works on all
> > boards available there.
>
> This series breaks Broadcom BT on the GXBB/GXM/G12B boards in my
> current test rotation. I’m running Linux 6.14.2 with this series
> backported for testing. This is generally what’s seen in dmesg:
>
> VIM2:~ # dmesg | grep -i blue
> [ 8.659535] Bluetooth: Core ver 2.22
> [ 8.659681] NET: Registered PF_BLUETOOTH protocol family
> [ 8.659690] Bluetooth: HCI device and connection manager initialized
> [ 8.659712] Bluetooth: HCI socket layer initialized
> [ 8.659721] Bluetooth: L2CAP socket layer initialized
> [ 8.659742] Bluetooth: SCO socket layer initialized
> [ 8.724898] Bluetooth: HCI UART driver ver 2.3
> [ 8.724953] Bluetooth: HCI UART protocol H4 registered
> [ 8.725106] Bluetooth: HCI UART protocol Three-wire (H5) registered
> [ 8.725434] Bluetooth: HCI UART protocol Broadcom registered
> [ 8.725502] Bluetooth: HCI UART protocol QCA registered
> [ 8.725559] Bluetooth: HCI UART protocol AML registered
> [ 8.966727] Bluetooth: hci0: Frame reassembly failed (-84)
> [ 8.966772] Bluetooth: hci0: Frame reassembly failed (-84)
> [ 11.148157] Bluetooth: hci0: command 0xfc18 tx timeout
> [ 11.148383] Bluetooth: hci0: BCM: failed to write update baudrate (-110)
> [ 11.148446] Bluetooth: hci0: Failed to set baudrate
> [ 13.281510] Bluetooth: hci0: command 0xfc18 tx timeout
> [ 13.281576] Bluetooth: hci0: BCM: Reset failed (-110)
>
> This is also visible on a VIM3 board in kernelci (Linux 6.15.-rc2):
>
> https://dashboard.kernelci.org/test/maestro%3A67fd3cda3328e043e96da230?l=true
>
> [ 3.954267] Bluetooth: hci0: Frame reassembly failed (-84)
> [ 4.040555] Bluetooth: hci0: Frame reassembly failed (-84)
>
> (linux-firmware and thus kernelci is lacking Broadcom BT firmwares so
> later messages that result from trying to load fw aren’t seen)
>
> With the series reverted:
>
> VIM2:~ # dmesg | grep -i blue
> [ 8.452570] Bluetooth: Core ver 2.22
> [ 8.452695] NET: Registered PF_BLUETOOTH protocol family
> [ 8.452703] Bluetooth: HCI device and connection manager initialized
> [ 8.452724] Bluetooth: HCI socket layer initialized
> [ 8.452735] Bluetooth: L2CAP socket layer initialized
> [ 8.452752] Bluetooth: SCO socket layer initialized
> [ 8.530077] Bluetooth: HCI UART driver ver 2.3
> [ 8.530113] Bluetooth: HCI UART protocol H4 registered
> [ 8.530387] Bluetooth: HCI UART protocol Three-wire (H5) registered
> [ 8.530902] Bluetooth: HCI UART protocol Broadcom registered
> [ 8.530983] Bluetooth: HCI UART protocol QCA registered
> [ 8.531037] Bluetooth: HCI UART protocol AML registered
> [ 8.917685] Bluetooth: hci0: BCM: chip id 101
> [ 8.918000] Bluetooth: hci0: BCM: features 0x2f
> [ 8.919526] Bluetooth: hci0: BCM4354A2
> [ 8.919560] Bluetooth: hci0: BCM4356A2 (001.003.015) build 0000
> [ 8.941837] Bluetooth: hci0: BCM4356A2 'brcm/BCM4356A2.hcd' Patch
> [ 9.831321] Bluetooth: hci0: BCM: features 0x2f
> [ 9.832884] Bluetooth: hci0: BCM4356 37.4MHz AMPAK AP6356-0055
> [ 9.832902] Bluetooth: hci0: BCM4356A2 (001.003.015) build 0266
> [ 9.856044] Bluetooth: MGMT ver 1.23
>
> An SML544TW board (S905D) with a QCA9377 chip is not affected by the
> changes so the scope appears to be limited to Broadcom BT.
>
> I’ve also noticed that VIM3 and the SML5442TW have device-tree items
> like max-speed, clocks, clock-names defined, but adding these to e.g.
> a WeTek Play2 board or removing from VIM3 doesn’t change anything.
Thanks for reporting this - a fix has been submitted here: [0]
[0] https://lore.kernel.org/linux-amlogic/20250420164801.330505-1-martin.blumenstingl@googlemail.com/T/#t
_______________________________________________
linux-amlogic mailing list
linux-amlogic@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-amlogic
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2025-04-20 16:58 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2024-12-27 21:25 [PATCH 0/5] dts: amlogic: switch to the new PWM controller binding Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 1/5] ARM: dts: amlogic: meson8: " Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 2/5] ARM: dts: amlogic: meson8b: " Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 3/5] arm64: dts: amlogic: gx: " Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 4/5] arm64: dts: amlogic: axg: " Martin Blumenstingl
2024-12-27 21:25 ` [PATCH 5/5] arm64: dts: amlogic: g12: " Martin Blumenstingl
2024-12-30 9:56 ` [PATCH 0/5] dts: amlogic: " neil.armstrong
2024-12-30 9:59 ` (subset) " Neil Armstrong
2024-12-30 9:59 ` Neil Armstrong
[not found] ` <4A37D0CD-FD4F-445A-87F8-19D65CB7FDB9@hewittfamily.org.uk>
2025-04-20 16:53 ` Martin Blumenstingl
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
Powered by JetHome