[PATCH 4/4] arm64: dts: address cros-ec-pwm channels by type

From: Fabio Baltieri
Date: Mon Mar 21 2022 - 10:33:49 EST


Update various cros-ec-pwm board definitions to address the keyboard and
screen backlight PWM channels by type rather than channel number. This
makes the instance independent by the actual hardware configuration,
relying on the EC firmware to pick the right channel, and allows
dropping few dtsi overrides as a consequence.

Changed the node label used to cros_ec_pwm_type to avoid ambiguity about
the pwm cell meaning.

Signed-off-by: Fabio Baltieri <fabiobaltieri@xxxxxxxxxxxx>
---
.../dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dts | 4 ++--
arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi | 3 ++-
arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 1 +
arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi | 4 ----
arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi | 8 +++++---
arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi | 6 ++++--
arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi | 3 ++-
arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi | 6 ++++--
arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts | 4 ----
arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi | 4 +++-
arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts | 4 ----
arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi | 1 +
12 files changed, 24 insertions(+), 24 deletions(-)

diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dts b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dts
index dec11a4eb59e..e2554a313deb 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dts
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi-fennel-sku1.dts
@@ -15,13 +15,13 @@ pwmleds {
compatible = "pwm-leds";
keyboard_backlight: keyboard-backlight {
label = "cros_ec::kbd_backlight";
- pwms = <&cros_ec_pwm 0>;
+ pwms = <&cros_ec_pwm_type CROS_EC_PWM_DT_KB_LIGHT>;
max-brightness = <1023>;
};
};
};

-&cros_ec_pwm {
+&cros_ec_pwm_type {
status = "okay";
};

diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi
index 8f7bf33f607d..eaea09d0f8cd 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui-jacuzzi.dtsi
@@ -92,10 +92,11 @@ volume_up {
};

&cros_ec {
- cros_ec_pwm: ec-pwm {
+ cros_ec_pwm_type: ec-pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
status = "disabled";
+ google,use_pwm_type;
};
};

diff --git a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
index 0f9480f91261..ff54687ab8bf 100644
--- a/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
+++ b/arch/arm64/boot/dts/mediatek/mt8183-kukui.dtsi
@@ -7,6 +7,7 @@

#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/mfd/cros_ec.h>
#include "mt8183.dtsi"
#include "mt6358.dtsi"

diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
index 14ed09f30a73..bcdfabe1860d 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor-coachz.dtsi
@@ -77,10 +77,6 @@ &ap_spi_fp {
status = "okay";
};

-&backlight {
- pwms = <&cros_ec_pwm 0>;
-};
-
&camcc {
status = "okay";
};
diff --git a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
index bd5909ffb3dc..3deddbf97cb3 100644
--- a/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7180-trogdor.dtsi
@@ -8,6 +8,7 @@
#include <dt-bindings/gpio/gpio.h>
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/mfd/cros_ec.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include <dt-bindings/sound/sc7180-lpass.h>

@@ -222,7 +223,7 @@ backlight: backlight {
num-interpolated-steps = <64>;
default-brightness-level = <951>;

- pwms = <&cros_ec_pwm 1>;
+ pwms = <&cros_ec_pwm_type CROS_EC_PWM_DT_DISPLAY_LIGHT>;
enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
power-supply = <&ppvar_sys>;
pinctrl-names = "default";
@@ -260,7 +261,7 @@ pwmleds {
keyboard_backlight: keyboard-backlight {
status = "disabled";
label = "cros_ec::kbd_backlight";
- pwms = <&cros_ec_pwm 0>;
+ pwms = <&cros_ec_pwm_type CROS_EC_PWM_DT_KB_LIGHT>;
max-brightness = <1023>;
};
};
@@ -543,9 +544,10 @@ cros_ec: ec@0 {
pinctrl-0 = <&ap_ec_int_l>;
spi-max-frequency = <3000000>;

- cros_ec_pwm: ec-pwm {
+ cros_ec_pwm_type: ec-pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
+ google,use_pwm_type;
};

i2c_tunnel: i2c-tunnel {
diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
index 4619fa9fcacd..8676c8a677b9 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine.dtsi
@@ -12,6 +12,7 @@
#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h>
#include <dt-bindings/input/gpio-keys.h>
#include <dt-bindings/input/input.h>
+#include <dt-bindings/mfd/cros_ec.h>
#include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>

@@ -379,7 +380,7 @@ pwmleds {
keyboard_backlight: keyboard-backlight {
status = "disabled";
label = "cros_ec::kbd_backlight";
- pwms = <&cros_ec_pwm 0>;
+ pwms = <&cros_ec_pwm_type CROS_EC_PWM_DT_KB_LIGHT>;
max-brightness = <1023>;
};
};
@@ -771,9 +772,10 @@ cros_ec: ec@0 {
pinctrl-0 = <&ap_ec_int_l>;
spi-max-frequency = <3000000>;

- cros_ec_pwm: ec-pwm {
+ cros_ec_pwm_type: ec-pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
+ google,use_pwm_type;
};

i2c_tunnel: i2c-tunnel {
diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi
index 0896a6151817..48bb2159e126 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp-ec-h1.dtsi
@@ -20,9 +20,10 @@ cros_ec: ec@0 {
pinctrl-0 = <&ap_ec_int_l>;
spi-max-frequency = <3000000>;

- cros_ec_pwm: ec-pwm {
+ cros_ec_pwm_type: ec-pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
+ google,use_pwm_type;
};

i2c_tunnel: i2c-tunnel {
diff --git a/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi b/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi
index 4a6285a25f77..e6dc4bc57f01 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi
+++ b/arch/arm64/boot/dts/qcom/sdm845-cheza.dtsi
@@ -6,6 +6,7 @@
*/

#include <dt-bindings/input/input.h>
+#include <dt-bindings/mfd/cros_ec.h>
#include <dt-bindings/regulator/qcom,rpmh-regulator.h>
#include "sdm845.dtsi"

@@ -27,7 +28,7 @@ chosen {

backlight: backlight {
compatible = "pwm-backlight";
- pwms = <&cros_ec_pwm 0>;
+ pwms = <&cros_ec_pwm_type CROS_EC_PWM_DT_DISPLAY_LIGHT>;
enable-gpios = <&tlmm 37 GPIO_ACTIVE_HIGH>;
power-supply = <&ppvar_sys>;
pinctrl-names = "default";
@@ -708,9 +709,10 @@ cros_ec: ec@0 {
pinctrl-0 = <&ec_ap_int_l>;
spi-max-frequency = <3000000>;

- cros_ec_pwm: ec-pwm {
+ cros_ec_pwm_type: ec-pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
+ google,use_pwm_type;
};

i2c_tunnel: i2c-tunnel {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts b/arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts
index 31ebb4e5fd33..5a076c2564f6 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-bob.dts
@@ -55,10 +55,6 @@ trackpad: trackpad@15 {
};
};

-&backlight {
- pwms = <&cros_ec_pwm 0>;
-};
-
&cpu_alert0 {
temperature = <65000>;
};
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
index 9b2c679f5eca..324bb8871fe2 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-chromebook.dtsi
@@ -198,6 +198,7 @@ backlight: backlight {
power-supply = <&pp3300_disp>;
pinctrl-names = "default";
pinctrl-0 = <&bl_en>;
+ pwms = <&cros_ec_pwm_type CROS_EC_PWM_DT_DISPLAY_LIGHT>;
pwm-delay-us = <10000>;
};

@@ -462,9 +463,10 @@ ap_i2c_tp: &i2c5 {
};

&cros_ec {
- cros_ec_pwm: ec-pwm {
+ cros_ec_pwm_type: ec-pwm {
compatible = "google,cros-ec-pwm";
#pwm-cells = <1>;
+ google,use_pwm_type;
};

usbc_extcon1: extcon1 {
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
index 6863689df06f..e959a33af34b 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru-kevin.dts
@@ -84,10 +84,6 @@ thermistor_ppvar_litcpu: thermistor-ppvar-litcpu {
};
};

-&backlight {
- pwms = <&cros_ec_pwm 1>;
-};
-
&gpio_keys {
pinctrl-names = "default";
pinctrl-0 = <&bt_host_wake_l>, <&cpu1_pen_eject>;
diff --git a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
index 162f08bca0d4..181159e9982d 100644
--- a/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
+++ b/arch/arm64/boot/dts/rockchip/rk3399-gru.dtsi
@@ -6,6 +6,7 @@
*/

#include <dt-bindings/input/input.h>
+#include <dt-bindings/mfd/cros_ec.h>
#include "rk3399.dtsi"
#include "rk3399-op1-opp.dtsi"

--
2.35.1.894.gb6a874cedc-goog