Add PMIC DT files for sc7280
Subsystems (4)
v4 cover Add PMIC DT files for sc7280
Changes in V2:
- As per Matthias comments:
- I've Split the patch into per-PMIC patches and one sc7280 patch
- Removed 2nd critical point, thermal-governer property
- s/pm8325_tz/pm7325_temp_alarm and s/pm7325_temp_alarm/pm7325_thermal
- Fixed few other minor errors.
- As per Bjorn's comments, replaced '_' with '-' in node names and moved DT files inclusion to board dts.
Changes in V3:
- As per Matthias comments, changed commit text, modified critical interrupt node name like <name>-crit for all pmics.
- Moved pmk8350_vadc channel nodes to idp dts, as it is not guaranteed that a board with the pmk8350 will always have the other 3 PMICs
Changes in V4:
- PMR735A and PM8350C PMICS are used in sm8350 SoC. Added thermal_zones label for thermal-zones node to avoid compilation error while using the phandle in pmic dt files.
- As per Matthias comments:
- Changed commit text for pmk8350 pmic patch
- Moved the header files inclusion for the on die tempertures of PMICs from
pmk8350 dt file to sc7280-idp dts
- Changed commit text and made a dedicated patch to include pmic dt files
for sc7280-idp- Made separate patches for on die temp channel nodes and for adding thermal- zones node in sc7280 SoC dtsi
satya priya (8):
arm64: dts: qcom: sm8350: Add label for thermal-zones node
arm64: dts: qcom: sc7280: Add thermal-zones node
arm64: dts: qcom: pm7325: Add pm7325 base dts file
arm64: dts: qcom: pm8350c: Add temp-alarm support
arm64: dts: qcom: pmr735a: Add temp-alarm support
arm64: dts: qcom: pmk8350: Add peripherals for pmk8350
arm64: dts: qcom: sc7280: Add channel nodes for sc7280-idp
arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280-idp
arch/arm64/boot/dts/qcom/pm7325.dtsi | 53 +++++++++++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/pm8350c.dtsi | 32 +++++++++++++++++++- arch/arm64/boot/dts/qcom/pmk8350.dtsi | 51 ++++++++++++++++++++++++++++++- arch/arm64/boot/dts/qcom/pmr735a.dtsi | 32 +++++++++++++++++++- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 34 +++++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 ++ arch/arm64/boot/dts/qcom/sm8350.dtsi | 2 +- 7 files changed, 203 insertions(+), 4 deletions(-) create mode 100644 arch/arm64/boot/dts/qcom/pm7325.dtsi
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH v4 1/8 arm64: dts: qcom: sm8350: Add label for thermal-zones node
Add label "thermal_zones" for thermal-zones node.
--- arch/arm64/boot/dts/qcom/sm8350.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/sm8350.dtsi +1 -1
@@ -1317,7 +1317,7 @@ }; }; - thermal-zones { + thermal_zones: thermal-zones { cpu0-thermal { polling-delay-passive = <250>; polling-delay = <1000>;
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V4 1/8] arm64: dts: qcom: sm8350: Add label for thermal-zones node
Quoted 3 lines · satya priya
Add label "
thermal_zones" for thermal-zones node.Signed-off-by satya priya <[email protected]>
PATCH v4 2/8 arm64: dts: qcom: sc7280: Add thermal-zones node
In reply to satya priyaAdd thermal-zones node for SC7280 SoC.
--- arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 +++ 1 file changed, 3 insertions(+)
arch/arm64/boot/dts/qcom/sc7280.dtsi +3 -0
@@ -1125,4 +1125,7 @@ <GIC_PPI 11 IRQ_TYPE_LEVEL_LOW>, <GIC_PPI 10 IRQ_TYPE_LEVEL_LOW>; }; + + thermal_zones: thermal-zones { + }; };
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V4 2/8] arm64: dts: qcom: sc7280: Add thermal-zones node
Quoted 3 lines · satya priya
Add thermal-zones node for SC7280 SoC.
Signed-off-by satya priya <[email protected]>
The patch won't be needed after 'arm64: dts: qcom: SC7280: Add thermal zone
support' (https://patchwork.kernel.org/project/linux-arm-msm/patch/[email protected]/)
lands, but looks good for now.
PATCH v4 3/8 arm64: dts: qcom: pm7325: Add pm7325 base dts file
In reply to satya priyaAdd base DTS file for pm7325 along with GPIOs and temp-alarm nodes.
--- arch/arm64/boot/dts/qcom/pm7325.dtsi | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 arch/arm64/boot/dts/qcom/pm7325.dtsi
arch/arm64/boot/dts/qcom/pm7325.dtsi new file +53 -0
@@ -0,0 +1,53 @@ +// SPDX-License-Identifier: BSD-3-Clause +// Copyright (c) 2021, The Linux Foundation. All rights reserved. + +#include <dt-bindings/interrupt-controller/irq.h> +#include <dt-bindings/spmi/spmi.h> + +&spmi_bus { + pm7325: pmic@1 { + compatible = "qcom,pm7325", "qcom,spmi-pmic"; + reg = <0x1 SPMI_USID>; + #address-cells = <1>; + #size-cells = <0>; + + pm7325_temp_alarm: temp-alarm@a00 { + compatible = "qcom,spmi-temp-alarm"; + reg = <0xa00>; + interrupts = <0x1 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; + #thermal-sensor-cells = <0>; + }; + + pm7325_gpios: gpios@8800 { + compatible = "qcom,pm7325-gpio", "qcom,spmi-gpio"; + reg = <0x8800>; + gpio-controller; + gpio-ranges = <&pm7325_gpios 0 0 10>; + #gpio-cells = <2>; + interrupt-controller; + #interrupt-cells = <2>; + }; + }; +}; + +&thermal_zones { + pm7325_thermal: pm7325-thermal { + polling-delay-passive = <100>; + polling-delay = <0>; + thermal-sensors = <&pm7325_temp_alarm>; + + trips { + pm7325_trip0: trip0 { + temperature = <95000>; + hysteresis = <0>; + type = "passive"; + }; + + pm7325_crit: pm7325-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + }; +};
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH v4 4/8 arm64: dts: qcom: pm8350c: Add temp-alarm support
In reply to satya priyaAdd temp-alarm node for PM8350C pmic and also modify gpio node to add gpio ranges and "qcom,spmi-gpio" compatible.
--- arch/arm64/boot/dts/qcom/pm8350c.dtsi | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/pm8350c.dtsi +31 -1
@@ -13,13 +13,43 @@ #address-cells = <1>; #size-cells = <0>; + pm8350c_temp_alarm: temp-alarm@a00 { + compatible = "qcom,spmi-temp-alarm"; + reg = <0xa00>; + interrupts = <0x2 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; + #thermal-sensor-cells = <0>; + }; + pm8350c_gpios: gpio@8800 { - compatible = "qcom,pm8350c-gpio"; + compatible = "qcom,pm8350c-gpio", "qcom,spmi-gpio"; reg = <0x8800>; gpio-controller; + gpio-ranges = <&pm8350c_gpios 0 0 9>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; }; }; + +&thermal_zones { + pm8350c_thermal: pm8350c-thermal { + polling-delay-passive = <100>; + polling-delay = <0>; + thermal-sensors = <&pm8350c_temp_alarm>; + + trips { + pm8350c_trip0: trip0 { + temperature = <95000>; + hysteresis = <0>; + type = "passive"; + }; + + pm8350c_crit: pm8350c-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + }; +};
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH v4 5/8 arm64: dts: qcom: pmr735a: Add temp-alarm support
In reply to satya priyaAdd temp-alarm node for PMR735A pmic and also modify gpio node to add gpio ranges and "qcom,spmi-gpio" compatible.
--- arch/arm64/boot/dts/qcom/pmr735a.dtsi | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/pmr735a.dtsi +31 -1
@@ -13,13 +13,43 @@ #address-cells = <1>; #size-cells = <0>; + pmr735a_temp_alarm: temp-alarm@a00 { + compatible = "qcom,spmi-temp-alarm"; + reg = <0xa00>; + interrupts = <0x4 0xa 0x0 IRQ_TYPE_EDGE_BOTH>; + #thermal-sensor-cells = <0>; + }; + pmr735a_gpios: gpio@8800 { - compatible = "qcom,pmr735a-gpio"; + compatible = "qcom,pmr735a-gpio", "qcom,spmi-gpio"; reg = <0x8800>; gpio-controller; + gpio-ranges = <&pmr735a_gpios 0 0 4>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; }; }; }; + +&thermal_zones { + pmr735a_thermal: pmr735a-thermal { + polling-delay-passive = <100>; + polling-delay = <0>; + thermal-sensors = <&pmr735a_temp_alarm>; + + trips { + pmr735a_trip0: trip0 { + temperature = <95000>; + hysteresis = <0>; + type = "passive"; + }; + + pmr735a_crit: pmr735a-crit { + temperature = <115000>; + hysteresis = <0>; + type = "critical"; + }; + }; + }; +};
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
PATCH v4 6/8 arm64: dts: qcom: pmk8350: Add peripherals for pmk8350
In reply to satya priyaAdd PON, RTC, VADC and ACD_TM support for PMK8350.
--- arch/arm64/boot/dts/qcom/pmk8350.dtsi | 51 ++++++++++++++++++++++++++++++++++- 1 file changed, 50 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/pmk8350.dtsi +50 -1
@@ -3,6 +3,8 @@ * Copyright (c) 2021, Linaro Limited */ +#include <dt-bindings/input/input.h> +#include <dt-bindings/input/linux-event-codes.h> #include <dt-bindings/interrupt-controller/irq.h> #include <dt-bindings/spmi/spmi.h>
@@ -13,10 +15,57 @@ #address-cells = <1>; #size-cells = <0>; + pmk8350_pon: pon@1300 { + compatible = "qcom,pm8998-pon"; + reg = <0x1300>; + + pwrkey { + compatible = "qcom,pmk8350-pwrkey"; + interrupts = <0x0 0x13 0x7 IRQ_TYPE_EDGE_BOTH>; + linux,code = <KEY_POWER>; + }; + + resin { + compatible = "qcom,pmk8350-resin"; + interrupts = <0x0 0x13 0x6 IRQ_TYPE_EDGE_BOTH>; + linux,code = <KEY_VOLUMEDOWN>; + }; + }; + + pmk8350_vadc: adc@3100 { + compatible = "qcom,spmi-adc7"; + reg = <0x3100>; + #address-cells = <1>; + #size-cells = <0>; + 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 { + 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>; + status = "disabled"; + }; + + pmk8350_rtc: rtc@6100 { + compatible = "qcom,pmk8350-rtc"; + reg = <0x6100>, <0x6200>; + reg-names = "rtc", "alarm"; + interrupts = <0x0 0x62 0x1 IRQ_TYPE_EDGE_RISING>; + }; + pmk8350_gpios: gpio@b000 { - compatible = "qcom,pmk8350-gpio"; + compatible = "qcom,pmk8350-gpio", "qcom,spmi-gpio"; reg = <0xb000>; gpio-controller; + gpio-ranges = <&pmk8350_gpios 0 0 4>; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>;
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V4 6/8] arm64: dts: qcom: pmk8350: Add peripherals for pmk8350
Quoted 3 lines · satya priya
Add PON, RTC, VADC and
ACD_TMsupport for PMK8350.Signed-off-by satya priya <[email protected]>
Please make sure to include per patch change logs for v > 1. It's generally useful for following the evolution of a patch and can save reviewers time by focussing their attention on the parts that have changed with respect to the previous version, rather than having to review the entire patch with possibly only minor (or no) changes over and over again (though multiple passes are often useful).
PATCH v4 7/8 arm64: dts: qcom: sc7280: Add channel nodes for sc7280-idp
In reply to satya priyaAdd channel nodes for the on die temperatures of PMICS pmk8350, pm8350, pmr735a and pmr735b.
--- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp.dts +30 -0
@@ -7,6 +7,10 @@ /dts-v1/; +#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmr735b.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> #include "sc7280.dtsi" / {
@@ -234,6 +238,32 @@ }; }; +&pmk8350_vadc { + pm8350_die_temp { + reg = <PM8350_ADC7_DIE_TEMP>; + label = "pm8350_die_temp"; + qcom,pre-scaling = <1 1>; + }; + + pmk8350_die_temp { + reg = <PMK8350_ADC7_DIE_TEMP>; + label = "pmk8350_die_temp"; + qcom,pre-scaling = <1 1>; + }; + + pmr735a_die_temp { + reg = <PMR735A_ADC7_DIE_TEMP>; + label = "pmr735a_die_temp"; + qcom,pre-scaling = <1 1>; + }; + + pmr735b_die_temp { + reg = <PMR735B_ADC7_DIE_TEMP>; + label = "pmr735b_die_temp"; + qcom,pre-scaling = <1 1>; + }; +}; + &qupv3_id_0 { status = "okay"; };
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V4 7/8] arm64: dts: qcom: sc7280: Add channel nodes for sc7280-idp
Quoted 1 line · satya priya
Subject: arm64: dts: qcom: sc7280: Add channel nodes for sc7280-idp
nit: just 'channel nodes' is a bit vague. In case you respin maybe change it to something like 'Add ADC channel nodes for PMIC temperatures to sc7280-idp'
In any case it doesn't seem worth to respin just for this.
Quoted 5 lines
Add channel nodes for the on die temperatures of PMICS pmk8350, pm8350, pmr735a and pmr735b.
Signed-off-by satya priya <[email protected]>
Re: [PATCH V4 7/8] arm64: dts: qcom: sc7280: Add channel nodes for sc7280-idp
Quoted 8 lines · Matthias Kaehlcke
Quoted 1 line · satya priya
Subject: arm64: dts: qcom: sc7280: Add channel nodes for sc7280-idp
nit: just 'channel nodes' is a bit vague. In case you respin maybe change it to something like 'Add ADC channel nodes for PMIC temperatures to sc7280-idp'
Okay will change it and resend v4.
Quoted 9 lines
In any case it doesn't seem worth to respin just for this.
Quoted 5 lines
Add channel nodes for the on die temperatures of PMICS pmk8350, pm8350, pmr735a and pmr735b.
Signed-off-by satya priya <[email protected]>Reviewed-by Matthias Kaehlcke <[email protected]>
PATCH v4 8/8 arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280-idp
In reply to satya priyaThe sc7280-idp has four PMICs, include their .dtsi files.
--- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 4 ++++ 1 file changed, 4 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp.dts +4 -0
@@ -12,6 +12,10 @@ #include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h> #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> #include "sc7280.dtsi" +#include "pm7325.dtsi" +#include "pmr735a.dtsi" +#include "pm8350c.dtsi" +#include "pmk8350.dtsi" / { model = "Qualcomm Technologies, Inc. sc7280 IDP platform";
Signature · 2 lines
QUALCOMM INDIA, on behalf of Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, hosted by The Linux Foundation
Re: [PATCH V4 8/8] arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280-idp
Quoted 12 lines · satya priya
The sc7280-idp has four PMICs, include their .dtsi files.
Signed-off-by satya priya <[email protected]>--- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/qcom/sc7280-idp.dts +0
-0
arch/arm64/boot/dts/qcom/sc7280-idp.dts line 18
Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dts +4
-0@@ -12,6 +12,10 @@ #include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h> #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> #include "sc7280.dtsi" +#include "pm7325.dtsi" +#include "pmr735a.dtsi" +#include "pm8350c.dtsi" +#include "pmk8350.dtsi"
Patch '[7/8] arm64: dts: qcom: sc7280: Add channel nodes for sc7280-idp' of this series makes use of the label 'pmk8350_vadc', which doesn't exist at that point.
A series should be organized in a way that applying only a subset of the series (in order, starting with patch 1) doesn't cause any build or runtime issues. To achieve this patch [7/8] and [8/8] of this series need to be swapped.
Re: [PATCH V4 8/8] arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280-idp
Quoted 25 lines · Matthias Kaehlcke
Quoted 12 lines · satya priya
The sc7280-idp has four PMICs, include their .dtsi files.
Signed-off-by satya priya <[email protected]>--- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 4 ++++ 1 file changed, 4 insertions(+)arch/arm64/boot/dts/qcom/sc7280-idp.dts +0
-0arch/arm64/boot/dts/qcom/sc7280-idp.dts line 18
Quoted 7 lines
arch/arm64/boot/dts/qcom/sc7280-idp.dts +4
-0@@ -12,6 +12,10 @@ #include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h> #include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> #include "sc7280.dtsi" +#include "pm7325.dtsi" +#include "pmr735a.dtsi" +#include "pm8350c.dtsi" +#include "pmk8350.dtsi"Patch '[7/8] arm64: dts: qcom: sc7280: Add channel nodes for sc7280-idp' of this series makes use of the label '
pmk8350_vadc', which doesn't exist at that point.
Quoted 4 lines
A series should be organized in a way that applying only a subset of the series (in order, starting with patch 1) doesn't cause any build or runtime issues. To achieve this patch [7/8] and [8/8] of this series need to be swapped.
Okay, I will re-arrange the series and resend v4.
Thanks,
Satya Priya