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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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]>
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]>
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
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]>
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]>
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 [李琼斯]
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 [李琼斯]