2022-08-28 08:45:23

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 00/14] arm64/dt-bindings: mfd: qcom: SPMI PMIC fixes

Hi,

The Qualcomm SPMI PMIC DT schema conversion was not really tested and several
issues in the bindings and DTS should be corrected.

1. The DTS patches can go independently.
2. The binding change continuous work of PWM reg fix and depends on it in
context (diff hunk):
https://lore.kernel.org/all/[email protected]/
Binidings changes and above, can be taken via MFD tree (fixed commit was
merged in v6.0-rc1).

Best regards,
Krzysztof

Krzysztof Kozlowski (14):
ARM: dts: qcom: align SPMI PMIC ADC node name with dtschema
ARM: dts: qcom: pm8941: align SPMI PMIC LPG node name with dtschema
ARM: dts: qcom: pmx55: align SPMI PMIC Power-on node name with
dtschema
arm64: dts: qcom: pmk8350: drop incorrect io-channel-ranges
arm64: dts: qcom: pmk8350: drop interrupt-names from ADC
arm64: dts: qcom: align SPMI PMIC ADC node name with dtschema
arm64: dts: qcom: align SPMI PMIC regulators node name with dtschema
arm64: dts: qcom: align SPMI PMIC LPG node name with dtschema
arm64: dts: qcom: align SPMI PMIC Power-on node name with dtschema
arm64: dts: qcom: align PMIC GPIO pin configuration with DT schema
arm64: dts: qcom: sc7280-idp: correct ADC channel node name and unit
address
arm64: dts: qcom: sdm845-mtp: correct ADC settle time
dt-bindings: mfd: qcom,spmi-pmic: fix regulator node schema
dt-bindings: mfd: qcom,spmi-pmic: fix TM ADC node schema on PM8998

.../bindings/mfd/qcom,spmi-pmic.yaml | 20 +++++++++++++++++--
arch/arm/boot/dts/qcom-pm8941.dtsi | 4 ++--
arch/arm/boot/dts/qcom-pma8084.dtsi | 2 +-
arch/arm/boot/dts/qcom-pmx55.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm660.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm660l.dtsi | 4 ++--
arch/arm64/boot/dts/qcom/pm8150.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm8150b.dtsi | 4 ++--
arch/arm64/boot/dts/qcom/pm8150l.dtsi | 4 ++--
arch/arm64/boot/dts/qcom/pm8953.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm8994.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pmi8994.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pmi8998.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pmk8350.dtsi | 3 ---
arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi | 2 +-
.../boot/dts/qcom/sc7280-herobrine-crd.dts | 2 +-
arch/arm64/boot/dts/qcom/sc7280-idp.dts | 2 +-
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 2 +-
arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 12 +++++------
.../boot/dts/qcom/sdm845-xiaomi-polaris.dts | 2 +-
21 files changed, 46 insertions(+), 33 deletions(-)

--
2.34.1


2022-08-28 08:45:30

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 01/14] ARM: dts: qcom: align SPMI PMIC ADC node name with dtschema

Bindings expect VADC node name to be "adc":

pmic@0: 'vadc@3100' does not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/qcom-pm8941.dtsi | 2 +-
arch/arm/boot/dts/qcom-pma8084.dtsi | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm/boot/dts/qcom-pm8941.dtsi b/arch/arm/boot/dts/qcom-pm8941.dtsi
index 59d0cde63251..3e5c85fbed7b 100644
--- a/arch/arm/boot/dts/qcom-pm8941.dtsi
+++ b/arch/arm/boot/dts/qcom-pm8941.dtsi
@@ -93,7 +93,7 @@ pm8941_temp: temp-alarm@2400 {
#thermal-sensor-cells = <0>;
};

- pm8941_vadc: vadc@3100 {
+ pm8941_vadc: adc@3100 {
compatible = "qcom,spmi-vadc";
reg = <0x3100>;
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
diff --git a/arch/arm/boot/dts/qcom-pma8084.dtsi b/arch/arm/boot/dts/qcom-pma8084.dtsi
index 7b8a8d9695da..e77602e9f95c 100644
--- a/arch/arm/boot/dts/qcom-pma8084.dtsi
+++ b/arch/arm/boot/dts/qcom-pma8084.dtsi
@@ -56,7 +56,7 @@ pma8084_temp: temp-alarm@2400 {
io-channel-names = "thermal";
};

- pma8084_vadc: vadc@3100 {
+ pma8084_vadc: adc@3100 {
compatible = "qcom,spmi-vadc";
reg = <0x3100>;
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
--
2.34.1

2022-08-28 08:45:36

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 02/14] ARM: dts: qcom: pm8941: align SPMI PMIC LPG node name with dtschema

Bindings expect LPG/PWM node name to be "pwm":

pmic@5: 'lpg' does not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/qcom-pm8941.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-pm8941.dtsi b/arch/arm/boot/dts/qcom-pm8941.dtsi
index 3e5c85fbed7b..9cd49deb9fa7 100644
--- a/arch/arm/boot/dts/qcom-pm8941.dtsi
+++ b/arch/arm/boot/dts/qcom-pm8941.dtsi
@@ -144,7 +144,7 @@ pm8941_1: pm8941@1 {
#address-cells = <1>;
#size-cells = <0>;

- pm8941_lpg: lpg {
+ pm8941_lpg: pwm {
compatible = "qcom,pm8941-lpg";

#address-cells = <1>;
--
2.34.1

2022-08-28 08:45:50

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 06/14] arm64: dts: qcom: align SPMI PMIC ADC node name with dtschema

Bindings expect VADC node name to be "adc":

pmic@0: 'vadc@3100' does not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/pm8953.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/pm8953.dtsi b/arch/arm64/boot/dts/qcom/pm8953.dtsi
index 741c538a9cee..a1d36f9ebbd2 100644
--- a/arch/arm64/boot/dts/qcom/pm8953.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8953.dtsi
@@ -45,7 +45,7 @@ temp-alarm@2400 {
#thermal-sensor-cells = <0>;
};

- pm8953_vadc: vadc@3100 {
+ pm8953_vadc: adc@3100 {
compatible = "qcom,spmi-vadc";
reg = <0x3100>;
interrupts = <0x00 0x31 0x00 0x01>;
--
2.34.1

2022-08-28 08:46:05

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 07/14] arm64: dts: qcom: align SPMI PMIC regulators node name with dtschema

Bindings expect regulators node name to be "regulators":

qcom/sdm630-sony-xperia-nile-voyager.dtb: pmic@3: 'pm660l-regulators' does not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/pm660.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm660l.dtsi | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/pm660.dtsi b/arch/arm64/boot/dts/qcom/pm660.dtsi
index d0eefbb51663..e1622b16c08b 100644
--- a/arch/arm64/boot/dts/qcom/pm660.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm660.dtsi
@@ -187,7 +187,7 @@ pmic@1 {
#address-cells = <1>;
#size-cells = <0>;

- pm660_spmi_regulators: pm660-regulators {
+ pm660_spmi_regulators: regulators {
compatible = "qcom,pm660-regulators";
};
};
diff --git a/arch/arm64/boot/dts/qcom/pm660l.dtsi b/arch/arm64/boot/dts/qcom/pm660l.dtsi
index c7945470ffee..8957c6a8c92f 100644
--- a/arch/arm64/boot/dts/qcom/pm660l.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm660l.dtsi
@@ -81,7 +81,7 @@ pm660l_wled: leds@d800 {
status = "disabled";
};

- pm660l_spmi_regulators: pm660l-regulators {
+ pm660l_spmi_regulators: regulators {
compatible = "qcom,pm660l-regulators";
};
};
--
2.34.1

2022-08-28 08:46:56

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 09/14] arm64: dts: qcom: align SPMI PMIC Power-on node name with dtschema

Bindings expect Power-on node name to be "pon":

'power-on@800' do not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/pm8150.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm8150b.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm8150l.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi | 2 +-
5 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/pm8150.dtsi b/arch/arm64/boot/dts/qcom/pm8150.dtsi
index fd8434215924..574fa95a2871 100644
--- a/arch/arm64/boot/dts/qcom/pm8150.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8150.dtsi
@@ -47,7 +47,7 @@ pm8150_0: pmic@0 {
#address-cells = <1>;
#size-cells = <0>;

- pon: power-on@800 {
+ pon: pon@800 {
compatible = "qcom,pm8998-pon";
reg = <0x0800>;
mode-bootloader = <0x2>;
diff --git a/arch/arm64/boot/dts/qcom/pm8150b.dtsi b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
index 47f74b547a3a..cdded791d96e 100644
--- a/arch/arm64/boot/dts/qcom/pm8150b.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
@@ -46,7 +46,7 @@ pmic@2 {
#address-cells = <1>;
#size-cells = <0>;

- power-on@800 {
+ pon@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;

diff --git a/arch/arm64/boot/dts/qcom/pm8150l.dtsi b/arch/arm64/boot/dts/qcom/pm8150l.dtsi
index e1479e6a371e..135bfb8d629b 100644
--- a/arch/arm64/boot/dts/qcom/pm8150l.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8150l.dtsi
@@ -46,7 +46,7 @@ pmic@4 {
#address-cells = <1>;
#size-cells = <0>;

- power-on@800 {
+ pon@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;

diff --git a/arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi b/arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi
index 68e9122363ae..20c5d60c8c2c 100644
--- a/arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi
@@ -46,7 +46,7 @@ pmic@0 {
#address-cells = <1>;
#size-cells = <0>;

- pon: power-on@800 {
+ pon: pon@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;
pwrkey {
diff --git a/arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi b/arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi
index c307fc662511..1da4606e8ee6 100644
--- a/arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi
@@ -45,7 +45,7 @@ pmic@4 {
#address-cells = <1>;
#size-cells = <0>;

- power-on@800 {
+ pon@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;

--
2.34.1

2022-08-28 08:46:57

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 10/14] arm64: dts: qcom: align PMIC GPIO pin configuration with DT schema

DT schema expects PMIC GPIO pin configuration nodes to be named with
'-state' suffix:

qcom/sc7280-herobrine-crd.dtb: pmic@2: gpio@8800: 'edp-bl-reg-en' does not match any of the regexes: '-state$', 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts | 2 +-
arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts b/arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts
index 7881bbc641a0..269bc4c42791 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts
+++ b/arch/arm64/boot/dts/qcom/sc7280-herobrine-crd.dts
@@ -167,7 +167,7 @@ &pm8350c_gpios {
"PMIC_EDP_BL_PWM",
"";

- edp_bl_reg_en: edp-bl-reg-en {
+ edp_bl_reg_en: edp-bl-reg-en-state {
pins = "gpio6";
function = "normal";
bias-disable;
diff --git a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts
index 7747081b9887..56a510b150ab 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-xiaomi-polaris.dts
@@ -522,7 +522,7 @@ &pmi8998_wled {
};

&pm8998_gpio {
- volume_up_gpio: pm8998_gpio6 {
+ volume_up_gpio: pm8998-gpio6-state {
pinconf {
qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
function = "normal";
--
2.34.1

2022-08-28 08:48:09

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 12/14] arm64: dts: qcom: sdm845-mtp: correct ADC settle time

The PMIC's VADC property for settle time is qcom,hw-settle-time, not
qcom,hw-settle-time-us. The latter is used in PMIC's TM ADC.

qcom/sdm845-mtp.dtb: pmic@0: adc@3100:adc-chan@4c: 'qcom,hw-settle-time-us' does not match any of the regexes: 'pinctrl-[0-9]+'

Fixes: d5e12f3823ae ("arm64: dts: qcom: sdm845: mtp: Add vadc channels and thermal zones")
Cc: <[email protected]>
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
index 7713e8060c5b..de2d10e0315a 100644
--- a/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
+++ b/arch/arm64/boot/dts/qcom/sdm845-mtp.dts
@@ -536,42 +536,42 @@ adc-chan@4c {
reg = <ADC5_XO_THERM_100K_PU>;
label = "xo_therm";
qcom,ratiometric;
- qcom,hw-settle-time-us = <200>;
+ qcom,hw-settle-time = <200>;
};

adc-chan@4d {
reg = <ADC5_AMUX_THM1_100K_PU>;
label = "msm_therm";
qcom,ratiometric;
- qcom,hw-settle-time-us = <200>;
+ qcom,hw-settle-time = <200>;
};

adc-chan@4f {
reg = <ADC5_AMUX_THM3_100K_PU>;
label = "pa_therm1";
qcom,ratiometric;
- qcom,hw-settle-time-us = <200>;
+ qcom,hw-settle-time = <200>;
};

adc-chan@51 {
reg = <ADC5_AMUX_THM5_100K_PU>;
label = "quiet_therm";
qcom,ratiometric;
- qcom,hw-settle-time-us = <200>;
+ qcom,hw-settle-time = <200>;
};

adc-chan@83 {
reg = <ADC5_VPH_PWR>;
label = "vph_pwr";
qcom,ratiometric;
- qcom,hw-settle-time-us = <200>;
+ qcom,hw-settle-time = <200>;
};

adc-chan@85 {
reg = <ADC5_VCOIN>;
label = "vcoin";
qcom,ratiometric;
- qcom,hw-settle-time-us = <200>;
+ qcom,hw-settle-time = <200>;
};
};

--
2.34.1

2022-08-28 08:51:40

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 13/14] dt-bindings: mfd: qcom,spmi-pmic: fix regulator node schema

The regulators node of Qualcomm SPMI PMIC represents sub-device, so it
has its own compatible, multiple regulators and uses dedicated bindings.

Fixes: 3f5117be9584 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
index 7e42ab75d71b..e062de7510ca 100644
--- a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
+++ b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
@@ -94,7 +94,7 @@ properties:

regulators:
type: object
- $ref: /schemas/regulator/regulator.yaml#
+ $ref: /schemas/regulator/qcom,spmi-regulator.yaml#

pwm:
type: object
--
2.34.1

2022-08-28 08:56:37

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 05/14] arm64: dts: qcom: pmk8350: drop interrupt-names from ADC

The SPMI PMIC VADC and Thermal Monitoring ADC have only one interrupt
line and their bindings do not allow interrupt-names. None of other
variants use them, so drop it from DTSI.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/pmk8350.dtsi | 2 --
1 file changed, 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/pmk8350.dtsi b/arch/arm64/boot/dts/qcom/pmk8350.dtsi
index 97c9f8ece2a6..a7ec9d11946d 100644
--- a/arch/arm64/boot/dts/qcom/pmk8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmk8350.dtsi
@@ -39,7 +39,6 @@ pmk8350_vadc: adc@3100 {
#address-cells = <1>;
#size-cells = <0>;
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
- interrupt-names = "eoc-int-en-set";
#io-channel-cells = <1>;
};

@@ -47,7 +46,6 @@ pmk8350_adc_tm: adc-tm@3400 {
compatible = "qcom,adc-tm7";
reg = <0x3400>;
interrupts = <0x0 0x34 0x0 IRQ_TYPE_EDGE_RISING>;
- interrupt-names = "threshold";
#address-cells = <1>;
#size-cells = <0>;
#thermal-sensor-cells = <1>;
--
2.34.1

2022-08-28 08:56:45

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 04/14] arm64: dts: qcom: pmk8350: drop incorrect io-channel-ranges

Since commit 044b32fa5229 ("dt-bindings:iio:qcom-spmi-vadc drop
incorrect io-channel-ranges from example") the io-channel-ranges are not
allowed in the Qualcomm SPMI PMIC ADC and anyway they are not correct
for IIO provider.

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/pmk8350.dtsi | 1 -
1 file changed, 1 deletion(-)

diff --git a/arch/arm64/boot/dts/qcom/pmk8350.dtsi b/arch/arm64/boot/dts/qcom/pmk8350.dtsi
index 0f94c46a1444..97c9f8ece2a6 100644
--- a/arch/arm64/boot/dts/qcom/pmk8350.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmk8350.dtsi
@@ -41,7 +41,6 @@ pmk8350_vadc: adc@3100 {
interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
interrupt-names = "eoc-int-en-set";
#io-channel-cells = <1>;
- io-channel-ranges;
};

pmk8350_adc_tm: adc-tm@3400 {
--
2.34.1

2022-08-28 08:56:48

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 08/14] arm64: dts: qcom: align SPMI PMIC LPG node name with dtschema

Bindings expect LPG/PWM node name to be "pwm":

pmic@5: 'lpg' does not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/pm660l.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm8150b.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm8150l.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pm8994.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pmi8994.dtsi | 2 +-
arch/arm64/boot/dts/qcom/pmi8998.dtsi | 2 +-
6 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/pm660l.dtsi b/arch/arm64/boot/dts/qcom/pm660l.dtsi
index 8957c6a8c92f..8aa0a5078772 100644
--- a/arch/arm64/boot/dts/qcom/pm660l.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm660l.dtsi
@@ -65,7 +65,7 @@ pmic@3 {
#address-cells = <1>;
#size-cells = <0>;

- pm660l_lpg: lpg@b100 {
+ pm660l_lpg: pwm {
compatible = "qcom,pm660l-lpg";

status = "disabled";
diff --git a/arch/arm64/boot/dts/qcom/pm8150b.dtsi b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
index 5d1ec3a6cc3c..47f74b547a3a 100644
--- a/arch/arm64/boot/dts/qcom/pm8150b.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8150b.dtsi
@@ -128,7 +128,7 @@ pmic@3 {
#address-cells = <1>;
#size-cells = <0>;

- pm8150b_lpg: lpg {
+ pm8150b_lpg: pwm {
compatible = "qcom,pm8150b-lpg";

#address-cells = <1>;
diff --git a/arch/arm64/boot/dts/qcom/pm8150l.dtsi b/arch/arm64/boot/dts/qcom/pm8150l.dtsi
index c62d023b39a2..e1479e6a371e 100644
--- a/arch/arm64/boot/dts/qcom/pm8150l.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8150l.dtsi
@@ -116,7 +116,7 @@ pmic@5 {
#address-cells = <1>;
#size-cells = <0>;

- pm8150l_lpg: lpg {
+ pm8150l_lpg: pwm {
compatible = "qcom,pm8150l-lpg";

#address-cells = <1>;
diff --git a/arch/arm64/boot/dts/qcom/pm8994.dtsi b/arch/arm64/boot/dts/qcom/pm8994.dtsi
index ab342397fcd8..e92e5ac414d3 100644
--- a/arch/arm64/boot/dts/qcom/pm8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/pm8994.dtsi
@@ -135,7 +135,7 @@ pmic@1 {
#address-cells = <1>;
#size-cells = <0>;

- pm8994_lpg: lpg {
+ pm8994_lpg: pwm {
compatible = "qcom,pm8994-lpg";

#address-cells = <1>;
diff --git a/arch/arm64/boot/dts/qcom/pmi8994.dtsi b/arch/arm64/boot/dts/qcom/pmi8994.dtsi
index 84c44912ec93..2e8b58f944e9 100644
--- a/arch/arm64/boot/dts/qcom/pmi8994.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmi8994.dtsi
@@ -37,7 +37,7 @@ pmic@3 {
#address-cells = <1>;
#size-cells = <0>;

- pmi8994_lpg: lpg {
+ pmi8994_lpg: pwm {
compatible = "qcom,pmi8994-lpg";

#address-cells = <1>;
diff --git a/arch/arm64/boot/dts/qcom/pmi8998.dtsi b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
index 6d3d212560c1..3852a012bb0f 100644
--- a/arch/arm64/boot/dts/qcom/pmi8998.dtsi
+++ b/arch/arm64/boot/dts/qcom/pmi8998.dtsi
@@ -42,7 +42,7 @@ lab: lab {
};
};

- pmi8998_lpg: lpg {
+ pmi8998_lpg: pwm {
compatible = "qcom,pmi8998-lpg";

#address-cells = <1>;
--
2.34.1

2022-08-28 08:56:49

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 14/14] dt-bindings: mfd: qcom,spmi-pmic: fix TM ADC node schema on PM8998

There are two bindings for Qualcomm SPMI PMIC Thermal Monitoring ADC:
one for ADC HC and one for ADC TM5 and TM7. PM8998 uses the former one,
so fix matching of child schema:

qcom/msm8998-asus-novago-tp370ql.dtb: pmic@0: adc-tm@3400:compatible:0: 'qcom,spmi-adc-tm-hc' is not one of ['qcom,spmi-adc-tm5', 'qcom,spmi-adc-tm5-gen2', 'qcom,adc-tm7']

Fixes: 3f5117be9584 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
.../bindings/mfd/qcom,spmi-pmic.yaml | 18 +++++++++++++++++-
1 file changed, 17 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
index e062de7510ca..2946d08dd42f 100644
--- a/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
+++ b/Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml
@@ -107,7 +107,7 @@ patternProperties:

"^adc-tm@[0-9a-f]+$":
type: object
- $ref: /schemas/thermal/qcom-spmi-adc-tm5.yaml#
+ # ref depends on compatible, see allOf below

"^audio-codec@[0-9a-f]+$":
type: object
@@ -150,6 +150,22 @@ required:
- compatible
- reg

+allOf:
+ - if:
+ properties:
+ compatible:
+ contains:
+ enum:
+ - qcom,pm8998
+ then:
+ patternProperties:
+ "^adc-tm@[0-9a-f]+$":
+ $ref: /schemas/thermal/qcom-spmi-adc-tm-hc.yaml#
+ else:
+ patternProperties:
+ "^adc-tm@[0-9a-f]+$":
+ $ref: /schemas/thermal/qcom-spmi-adc-tm5.yaml#
+
additionalProperties: false

examples:
--
2.34.1

2022-08-28 08:57:05

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 03/14] ARM: dts: qcom: pmx55: align SPMI PMIC Power-on node name with dtschema

Bindings expect Power-on node name to be "pon":

'power-on@800' do not match any of the regexes

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm/boot/dts/qcom-pmx55.dtsi | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/arch/arm/boot/dts/qcom-pmx55.dtsi b/arch/arm/boot/dts/qcom-pmx55.dtsi
index 9de7578a4c5f..e1b869480bbd 100644
--- a/arch/arm/boot/dts/qcom-pmx55.dtsi
+++ b/arch/arm/boot/dts/qcom-pmx55.dtsi
@@ -16,7 +16,7 @@ pmic@8 {
#address-cells = <1>;
#size-cells = <0>;

- power-on@800 {
+ pon@800 {
compatible = "qcom,pm8916-pon";
reg = <0x0800>;

--
2.34.1

2022-08-28 09:00:11

by Krzysztof Kozlowski

[permalink] [raw]
Subject: [PATCH 11/14] arm64: dts: qcom: sc7280-idp: correct ADC channel node name and unit address

Correct SPMI PMIC VADC channel node name:
1. Use hyphens instead of underscores,
2. Add missing unit address.

This fixes `make dtbs_check` warnings like:

qcom/sc7280-idp.dtb: pmic@0: adc@3100: 'pmk8350_die_temp', 'pmr735a_die_temp' do not match any of the regexes: '^.*@[0-9a-f]+$', 'pinctrl-[0-9]+'

Signed-off-by: Krzysztof Kozlowski <[email protected]>
---
arch/arm64/boot/dts/qcom/sc7280-idp.dts | 2 +-
arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dts b/arch/arm64/boot/dts/qcom/sc7280-idp.dts
index 6d3ff80582ae..e2e37a0292ad 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dts
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dts
@@ -78,7 +78,7 @@ &nvme_3v3_regulator {
};

&pmk8350_vadc {
- pmr735a_die_temp {
+ pmr735a-die-temp@403 {
reg = <PMR735A_ADC7_DIE_TEMP>;
label = "pmr735a_die_temp";
qcom,pre-scaling = <1 1>;
diff --git a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
index a74e0b730db6..27c47ddbdf02 100644
--- a/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
+++ b/arch/arm64/boot/dts/qcom/sc7280-idp.dtsi
@@ -264,7 +264,7 @@ &pcie1_phy {
};

&pmk8350_vadc {
- pmk8350_die_temp {
+ pmk8350-die-temp@3 {
reg = <PMK8350_ADC7_DIE_TEMP>;
label = "pmk8350_die_temp";
qcom,pre-scaling = <1 1>;
--
2.34.1

2022-08-29 15:26:32

by David Heidelberg

[permalink] [raw]
Subject: Re: [PATCH 00/14] arm64/dt-bindings: mfd: qcom: SPMI PMIC fixes

Patches 1 ‒ 3 and 7 ‒ 13

Reviewed-by: David Heidelberg <[email protected]>

On 28/08/2022 10:43, Krzysztof Kozlowski wrote:
> Hi,
>
> The Qualcomm SPMI PMIC DT schema conversion was not really tested and several
> issues in the bindings and DTS should be corrected.
>
> 1. The DTS patches can go independently.
> 2. The binding change continuous work of PWM reg fix and depends on it in
> context (diff hunk):
> https://lore.kernel.org/all/[email protected]/
> Binidings changes and above, can be taken via MFD tree (fixed commit was
> merged in v6.0-rc1).
>
> Best regards,
> Krzysztof
>
> Krzysztof Kozlowski (14):
> ARM: dts: qcom: align SPMI PMIC ADC node name with dtschema
> ARM: dts: qcom: pm8941: align SPMI PMIC LPG node name with dtschema
> ARM: dts: qcom: pmx55: align SPMI PMIC Power-on node name with
> dtschema
> arm64: dts: qcom: pmk8350: drop incorrect io-channel-ranges
> arm64: dts: qcom: pmk8350: drop interrupt-names from ADC
> arm64: dts: qcom: align SPMI PMIC ADC node name with dtschema
> arm64: dts: qcom: align SPMI PMIC regulators node name with dtschema
> arm64: dts: qcom: align SPMI PMIC LPG node name with dtschema
> arm64: dts: qcom: align SPMI PMIC Power-on node name with dtschema
> arm64: dts: qcom: align PMIC GPIO pin configuration with DT schema
> arm64: dts: qcom: sc7280-idp: correct ADC channel node name and unit
> address
> arm64: dts: qcom: sdm845-mtp: correct ADC settle time
> dt-bindings: mfd: qcom,spmi-pmic: fix regulator node schema
> dt-bindings: mfd: qcom,spmi-pmic: fix TM ADC node schema on PM8998
>
> .../bindings/mfd/qcom,spmi-pmic.yaml | 20 +++++++++++++++++--
> arch/arm/boot/dts/qcom-pm8941.dtsi | 4 ++--
> arch/arm/boot/dts/qcom-pma8084.dtsi | 2 +-
> arch/arm/boot/dts/qcom-pmx55.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pm660.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pm660l.dtsi | 4 ++--
> arch/arm64/boot/dts/qcom/pm8150.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pm8150b.dtsi | 4 ++--
> arch/arm64/boot/dts/qcom/pm8150l.dtsi | 4 ++--
> arch/arm64/boot/dts/qcom/pm8953.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pm8994.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pmi8994.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pmi8998.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pmk8350.dtsi | 3 ---
> arch/arm64/boot/dts/qcom/pmm8155au_1.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/pmm8155au_2.dtsi | 2 +-
> .../boot/dts/qcom/sc7280-herobrine-crd.dts | 2 +-
> arch/arm64/boot/dts/qcom/sc7280-idp.dts | 2 +-
> arch/arm64/boot/dts/qcom/sc7280-idp.dtsi | 2 +-
> arch/arm64/boot/dts/qcom/sdm845-mtp.dts | 12 +++++------
> .../boot/dts/qcom/sdm845-xiaomi-polaris.dts | 2 +-
> 21 files changed, 46 insertions(+), 33 deletions(-)
>
--
David Heidelberg
Consultant Software Engineer

Matrix: @okias:matrix.org

2022-08-29 17:47:02

by Vinod Koul

[permalink] [raw]
Subject: Re: [PATCH 00/14] arm64/dt-bindings: mfd: qcom: SPMI PMIC fixes

On 28-08-22, 11:43, Krzysztof Kozlowski wrote:
> Hi,
>
> The Qualcomm SPMI PMIC DT schema conversion was not really tested and several
> issues in the bindings and DTS should be corrected.
>
> 1. The DTS patches can go independently.
> 2. The binding change continuous work of PWM reg fix and depends on it in
> context (diff hunk):
> https://lore.kernel.org/all/[email protected]/
> Binidings changes and above, can be taken via MFD tree (fixed commit was
> merged in v6.0-rc1).

Reviewed-by: Vinod Koul <[email protected]>

--
~Vinod

2022-08-29 22:16:20

by Stephen Boyd

[permalink] [raw]
Subject: Re: [PATCH 00/14] arm64/dt-bindings: mfd: qcom: SPMI PMIC fixes

Quoting Krzysztof Kozlowski (2022-08-28 01:43:27)
> Hi,
>
> The Qualcomm SPMI PMIC DT schema conversion was not really tested and several
> issues in the bindings and DTS should be corrected.
>
> 1. The DTS patches can go independently.
> 2. The binding change continuous work of PWM reg fix and depends on it in
> context (diff hunk):
> https://lore.kernel.org/all/[email protected]/
> Binidings changes and above, can be taken via MFD tree (fixed commit was
> merged in v6.0-rc1).
>

Reviewed-by: Stephen Boyd <[email protected]>

2022-08-30 03:31:12

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 00/14] arm64/dt-bindings: mfd: qcom: SPMI PMIC fixes

On Sun, 28 Aug 2022 11:43:27 +0300, Krzysztof Kozlowski wrote:
> The Qualcomm SPMI PMIC DT schema conversion was not really tested and several
> issues in the bindings and DTS should be corrected.
>
> 1. The DTS patches can go independently.
> 2. The binding change continuous work of PWM reg fix and depends on it in
> context (diff hunk):
> https://lore.kernel.org/all/[email protected]/
> Binidings changes and above, can be taken via MFD tree (fixed commit was
> merged in v6.0-rc1).
>
> [...]

Applied, thanks!

[01/14] ARM: dts: qcom: align SPMI PMIC ADC node name with dtschema
commit: 662e305dfc29b96913a03dde1e89e8968da65238
[02/14] ARM: dts: qcom: pm8941: align SPMI PMIC LPG node name with dtschema
commit: 7b357d3126226b7ec4810e26f4ded44b2286d197
[03/14] ARM: dts: qcom: pmx55: align SPMI PMIC Power-on node name with dtschema
commit: 4bdfd92cb14d97ef58600926ea6b2788b31c719f

Best regards,
--
Bjorn Andersson <[email protected]>

2022-08-30 03:31:35

by Bjorn Andersson

[permalink] [raw]
Subject: Re: (subset) [PATCH 00/14] arm64/dt-bindings: mfd: qcom: SPMI PMIC fixes

On Mon, Aug 29, 2022 at 10:26:43PM -0500, Bjorn Andersson wrote:
> On Sun, 28 Aug 2022 11:43:27 +0300, Krzysztof Kozlowski wrote:
> > The Qualcomm SPMI PMIC DT schema conversion was not really tested and several
> > issues in the bindings and DTS should be corrected.
> >
> > 1. The DTS patches can go independently.
> > 2. The binding change continuous work of PWM reg fix and depends on it in
> > context (diff hunk):
> > https://lore.kernel.org/all/[email protected]/
> > Binidings changes and above, can be taken via MFD tree (fixed commit was
> > merged in v6.0-rc1).
> >
> > [...]
>
> Applied, thanks!
>
> [01/14] ARM: dts: qcom: align SPMI PMIC ADC node name with dtschema
> commit: 662e305dfc29b96913a03dde1e89e8968da65238
> [02/14] ARM: dts: qcom: pm8941: align SPMI PMIC LPG node name with dtschema
> commit: 7b357d3126226b7ec4810e26f4ded44b2286d197
> [03/14] ARM: dts: qcom: pmx55: align SPMI PMIC Power-on node name with dtschema
> commit: 4bdfd92cb14d97ef58600926ea6b2788b31c719f

Not sure what I did to trick b4 here, but I also merged 4-12.

Regards,
Bjorn

2022-08-30 16:42:11

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 14/14] dt-bindings: mfd: qcom,spmi-pmic: fix TM ADC node schema on PM8998

On Sun, 28 Aug 2022 11:43:41 +0300, Krzysztof Kozlowski wrote:
> There are two bindings for Qualcomm SPMI PMIC Thermal Monitoring ADC:
> one for ADC HC and one for ADC TM5 and TM7. PM8998 uses the former one,
> so fix matching of child schema:
>
> qcom/msm8998-asus-novago-tp370ql.dtb: pmic@0: adc-tm@3400:compatible:0: 'qcom,spmi-adc-tm-hc' is not one of ['qcom,spmi-adc-tm5', 'qcom,spmi-adc-tm5-gen2', 'qcom,adc-tm7']
>
> Fixes: 3f5117be9584 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/mfd/qcom,spmi-pmic.yaml | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)
>

Acked-by: Rob Herring <[email protected]>

2022-08-30 17:02:19

by Rob Herring

[permalink] [raw]
Subject: Re: [PATCH 13/14] dt-bindings: mfd: qcom,spmi-pmic: fix regulator node schema

On Sun, 28 Aug 2022 11:43:40 +0300, Krzysztof Kozlowski wrote:
> The regulators node of Qualcomm SPMI PMIC represents sub-device, so it
> has its own compatible, multiple regulators and uses dedicated bindings.
>
> Fixes: 3f5117be9584 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>

Acked-by: Rob Herring <[email protected]>

2022-09-05 15:13:58

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH 13/14] dt-bindings: mfd: qcom,spmi-pmic: fix regulator node schema

On Sun, 28 Aug 2022, Krzysztof Kozlowski wrote:

> The regulators node of Qualcomm SPMI PMIC represents sub-device, so it
> has its own compatible, multiple regulators and uses dedicated bindings.
>
> Fixes: 3f5117be9584 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> Documentation/devicetree/bindings/mfd/qcom,spmi-pmic.yaml | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)

Applied, thanks.

--
Lee Jones [李琼斯]

2022-09-05 15:14:14

by Lee Jones

[permalink] [raw]
Subject: Re: [PATCH 14/14] dt-bindings: mfd: qcom,spmi-pmic: fix TM ADC node schema on PM8998

On Sun, 28 Aug 2022, Krzysztof Kozlowski wrote:

> There are two bindings for Qualcomm SPMI PMIC Thermal Monitoring ADC:
> one for ADC HC and one for ADC TM5 and TM7. PM8998 uses the former one,
> so fix matching of child schema:
>
> qcom/msm8998-asus-novago-tp370ql.dtb: pmic@0: adc-tm@3400:compatible:0: 'qcom,spmi-adc-tm-hc' is not one of ['qcom,spmi-adc-tm5', 'qcom,spmi-adc-tm5-gen2', 'qcom,adc-tm7']
>
> Fixes: 3f5117be9584 ("dt-bindings: mfd: convert to yaml Qualcomm SPMI PMIC")
> Signed-off-by: Krzysztof Kozlowski <[email protected]>
> ---
> .../bindings/mfd/qcom,spmi-pmic.yaml | 18 +++++++++++++++++-
> 1 file changed, 17 insertions(+), 1 deletion(-)

Applied, thanks.

--
Lee Jones [李琼斯]