Add PMIC DT files for sc7280
Subsystems (4)
v3 cover Add PMIC DT files for sc7280
Hi All,
Resending V3 as there was a mistake earlier, changes in patches 4 and 5 got clubbed unknowingly. Apologies for that.
Thanks,
Satya Priya
Add PM7325 DT file with gpio and temp-alarm nodes.
For PM8350C, PMR735A and PMK8350 add the required peripherals
as the base DT files are already added [1].
[1] https://lore.kernel.org/patchwork/project/lkml/list/?series=489011&state=%2A&archive=both
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
satya priya (5):
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 PMIC peripherals for pmk8350
arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280
arch/arm64/boot/dts/qcom/pm7325.dtsi | 53 +++++++++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/pm8350c.dtsi | 32 ++++++++++++++++++- arch/arm64/boot/dts/qcom/pmk8350.dtsi | 55 ++++++++++++++++++++++++++++++++- arch/arm64/boot/dts/qcom/pmr735a.dtsi | 32 ++++++++++++++++++- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 30 ++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 ++ 6 files changed, 202 insertions(+), 3 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 RESEND v3 1/5 arm64: dts: qcom: pm7325: Add pm7325 base dts file
Add 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 RESEND v3 2/5 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 RESEND v3 3/5 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
Re: [RESEND PATCH V3 3/5] arm64: dts: qcom: pmr735a: Add temp-alarm support
Quoted 4 lines · satya priya
Add temp-alarm node for PMR735A pmic and also modify gpio node to add gpio ranges and "qcom,spmi-gpio" compatible.
Signed-off-by satya priya <[email protected]>
PATCH RESEND v3 4/5 arm64: dts: qcom: pmk8350: Add PMIC peripherals for pmk8350
In reply to satya priyaAdd PON, RTC and other PMIC infra modules support for PMK8350.
--- arch/arm64/boot/dts/qcom/pmk8350.dtsi | 55 ++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/pmk8350.dtsi +54 -1
@@ -3,6 +3,12 @@ * Copyright (c) 2021, Linaro Limited */ +#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmr735b.h> +#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 +19,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: [RESEND PATCH V3 4/5] arm64: dts: qcom: pmk8350: Add PMIC peripherals for pmk8350
Quoted 1 line · satya priya
Subject: arm64: dts: qcom: pmk8350: Add PMIC peripherals for pmk8350
nit: why 'PMIC peripherals', are these peripherals somehow specific to PMICs?
Quoted 1 line
Add PON, RTC and other PMIC infra modules support for PMK8350.
nit: it seems somewhat arbitrary to specifically mention PON and RTC, and then treat the ADC and the thermal monitor as 'others'. You could just spell them out too.
Quoted 11 lines
Signed-off-by satya priya <[email protected]>--- arch/arm64/boot/dts/qcom/pmk8350.dtsi | 55 ++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-)arch/arm64/boot/dts/qcom/pmk8350.dtsi +0
-0
arch/arm64/boot/dts/qcom/pmk8350.dtsi line 9
Quoted 7 lines
arch/arm64/boot/dts/qcom/pmk8350.dtsi +4
-0@@ -3,6 +3,12 @@ * Copyright (c) 2021, Linaro Limited */ +#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmr735b.h>
the includes of the constants for the other PMICs seems to be an remainder from older vesions, which included nodes for the on die temperatures of these PMICs.
Re: [RESEND PATCH V3 4/5] arm64: dts: qcom: pmk8350: Add PMIC peripherals for pmk8350
Quoted 7 lines · Matthias Kaehlcke
Quoted 1 line · satya priya
Subject: arm64: dts: qcom: pmk8350: Add PMIC peripherals for pmk8350
nit: why 'PMIC peripherals', are these peripherals somehow specific to PMICs?
Okay will change it.
Quoted 6 lines
Quoted 1 line
Add PON, RTC and other PMIC infra modules support for PMK8350.
nit: it seems somewhat arbitrary to specifically mention PON and RTC, and then treat the ADC and the thermal monitor as 'others'. You could just spell them out too.
Okay.
Quoted 15 lines
Quoted 15 lines
Signed-off-by satya priya <[email protected]>--- arch/arm64/boot/dts/qcom/pmk8350.dtsi | 55 ++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-)arch/arm64/boot/dts/qcom/pmk8350.dtsi +0
-0@@ -3,6 +3,12 @@ * Copyright (c) 2021, Linaro Limited */
Quoted 8 lines
arch/arm64/boot/dts/qcom/pmk8350.dtsi line 9
Quoted 4 lines
arch/arm64/boot/dts/qcom/pmk8350.dtsi +4
-0+#include <dt-bindings/iio/qcom,spmi-adc7-pm8350.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmk8350.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmr735a.h> +#include <dt-bindings/iio/qcom,spmi-adc7-pmr735b.h>the includes of the constants for the other PMICs seems to be an remainder from older vesions, which included nodes for the on die temperatures of these PMICs.
As I have added on die temp nodes for these pmics in sc7280-idp file, will add these header files also there.
Thanks,
Satya Priya
PATCH RESEND v3 5/5 arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280
In reply to satya priyaInclude pm7325, pm8350c, pmk8350 and pmr735a DT files. Add channel nodes for pmk8350_vadc. Also, add the thermal_zones node in dtsi.
--- arch/arm64/boot/dts/qcom/sc7280-idp.dts | 30 ++++++++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 +++ 2 files changed, 33 insertions(+)
arch/arm64/boot/dts/qcom/sc7280-idp.dts +30 -0
@@ -8,6 +8,10 @@ /dts-v1/; #include "sc7280.dtsi" +#include "pm7325.dtsi" +#include "pm8350c.dtsi" +#include "pmk8350.dtsi" +#include "pmr735a.dtsi" / { model = "Qualcomm Technologies, Inc. sc7280 IDP platform";
@@ -22,6 +26,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"; };
arch/arm64/boot/dts/qcom/sc7280.dtsi +3 -0
@@ -605,4 +605,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: [RESEND PATCH V3 5/5] arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280
Quoted 1 line · satya priya
Subject: arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280
Please make sure to distinguish between the SoC (sc7280) and the board (sc7280-idp), this patch primarily adds stuff to the board not the SoC, this should be clear from the subject.
Quoted 1 line
Include pm7325, pm8350c, pmk8350 and pmr735a DT files.
How about something like 'The sc7280-idp has four PMICs, include their .dtsi files'?
Quoted 1 line
Add channel nodes for
pmk8350_vadc.
It's not super important, but I don't like it when things like this get sneaked in with a commit message saying 'Include PMIC DT files for sc7280'. I would suggest a separate patch. And please mention that the channels are for the on die temperatures of the PMICs.
Quoted 1 line
Also, add the
thermal_zonesnode in dtsi.
This is not the right patch to add it. This patch is about the sc7280-board and doesn't do anything (directly) with thermal zones. However other patches further down in the stack of in this series require the 'thermal-zones' to exist, hence the node should exist before these patches reference it. A dedicated patch adding the node seems like the best option to me.
Re: [RESEND PATCH V3 5/5] arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280
Quoted 8 lines · Matthias Kaehlcke
Quoted 1 line · satya priya
Subject: arm64: dts: qcom: sc7280: Include PMIC DT files for sc7280
Please make sure to distinguish between the SoC (sc7280) and the board (sc7280-idp), this patch primarily adds stuff to the board not the SoC, this should be clear from the subject.
Sure, will mention sc7280-idp in the subject.
Quoted 5 lines
Quoted 1 line
Include pm7325, pm8350c, pmk8350 and pmr735a DT files.
How about something like 'The sc7280-idp has four PMICs, include their .dtsi files'?
Okay.
Quoted 7 lines
Quoted 1 line
Add channel nodes for
pmk8350_vadc.It's not super important, but I don't like it when things like this get sneaked in with a commit message saying 'Include PMIC DT files for sc7280'. I would suggest a separate patch. And please mention that the channels are for the on die temperatures of the PMICs.
Okay, will make a separate patch for adding channel nodes.
Quoted 8 lines
Quoted 1 line
Also, add the
thermal_zonesnode in dtsi.This is not the right patch to add it. This patch is about the sc7280-board and doesn't do anything (directly) with thermal zones. However other patches further down in the stack of in this series require the 'thermal-zones' to exist, hence the node should exist before these patches reference it. A dedicated patch adding the node seems like the best option to me.
Okay, I will add a separate patch for adding thermal-zones node and place it in the beginning of the series.
Thanks,
Satya Priya