Add PMIC DT files for sc7280
Subsystems (4)
v3 cover Add PMIC DT files for sc7280
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 criticl 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 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
Re: [PATCH V3 1/5] arm64: dts: qcom: pm7325: Add pm7325 base dts file
Quoted 3 lines · satya priya
Add base DTS file for pm7325 along with GPIOs and temp-alarm nodes.
Signed-off-by satya priya <[email protected]>
PATCH 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
Re: [PATCH V3 2/5] arm64: dts: qcom: pm8350c: Add temp-alarm support
Quoted 19 lines · satya priya
Add temp-alarm node for PM8350C pmic and also modify gpio node to add gpio ranges and "qcom,spmi-gpio" compatible.
Signed-off-by satya priya <[email protected]>--- arch/arm64/boot/dts/qcom/pm8350c.dtsi | 32 +++++++++++++++++++++++++++++++- 1 file changed, 31 insertions(+), 1 deletion(-)arch/arm64/boot/dts/qcom/pm8350c.dtsi +3
-0@@ -13,13 +13,43 @@ #address-cells = <1>; #size-cells = <0>; + pm8350c_temp_alarm: temp-alarm@a00 { + compatible = "qcom,spmi-temp-alarm"; + reg = <0xa00>;
arch/arm64/boot/dts/qcom/pm8350c.dtsi line 27
Quoted 10 lines
arch/arm64/boot/dts/qcom/pm8350c.dtsi +6
-1+ 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>;
a separate patch for this would probably be preferable, but I guess it's ok
PATCH 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
PATCH 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 | 49 ++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-)
arch/arm64/boot/dts/qcom/pmk8350.dtsi +48 -1
@@ -13,10 +13,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
PATCH 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/pmk8350.dtsi | 6 ++++++ arch/arm64/boot/dts/qcom/sc7280-idp.dts | 30 ++++++++++++++++++++++++++++++ arch/arm64/boot/dts/qcom/sc7280.dtsi | 3 +++ 3 files changed, 39 insertions(+)
arch/arm64/boot/dts/qcom/pmk8350.dtsi +6 -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> +#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>
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