xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pm8994.dtsi (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1b2441318SGreg Kroah-Hartman// SPDX-License-Identifier: GPL-2.0
2183d4cafSKonrad Dybcio#include <dt-bindings/iio/qcom,spmi-vadc.h>
3183d4cafSKonrad Dybcio#include <dt-bindings/input/linux-event-codes.h>
438757eb3SStephen Boyd#include <dt-bindings/interrupt-controller/irq.h>
538757eb3SStephen Boyd#include <dt-bindings/spmi/spmi.h>
638757eb3SStephen Boyd
70763f585SKonrad Dybcio/ {
80763f585SKonrad Dybcio	thermal-zones {
93a786086SManivannan Sadhasivam		pm8994-thermal {
100763f585SKonrad Dybcio			polling-delay-passive = <250>;
110763f585SKonrad Dybcio			polling-delay = <1000>;
120763f585SKonrad Dybcio
130763f585SKonrad Dybcio			thermal-sensors = <&pm8994_temp>;
140763f585SKonrad Dybcio
150763f585SKonrad Dybcio			trips {
160763f585SKonrad Dybcio				pm8994_alert0: pm8994-alert0 {
170763f585SKonrad Dybcio					temperature = <95000>;
180763f585SKonrad Dybcio					hysteresis = <2000>;
190763f585SKonrad Dybcio					type = "passive";
200763f585SKonrad Dybcio				};
210763f585SKonrad Dybcio				pm8994_crit: pm8994-crit {
220763f585SKonrad Dybcio					temperature = <125000>;
230763f585SKonrad Dybcio					hysteresis = <2000>;
240763f585SKonrad Dybcio					type = "critical";
250763f585SKonrad Dybcio				};
260763f585SKonrad Dybcio			};
270763f585SKonrad Dybcio		};
280763f585SKonrad Dybcio	};
290763f585SKonrad Dybcio};
300763f585SKonrad Dybcio
3138757eb3SStephen Boyd&spmi_bus {
3238757eb3SStephen Boyd
3338757eb3SStephen Boyd	pmic@0 {
3438757eb3SStephen Boyd		compatible = "qcom,pm8994", "qcom,spmi-pmic";
3538757eb3SStephen Boyd		reg = <0x0 SPMI_USID>;
3638757eb3SStephen Boyd		#address-cells = <1>;
3738757eb3SStephen Boyd		#size-cells = <0>;
380804308fSStephen Boyd
3927414e41SBjorn Andersson		rtc@6000 {
4027414e41SBjorn Andersson			compatible = "qcom,pm8941-rtc";
4127414e41SBjorn Andersson			reg = <0x6000>, <0x6100>;
4227414e41SBjorn Andersson			reg-names = "rtc", "alarm";
4327414e41SBjorn Andersson			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
4427414e41SBjorn Andersson		};
4527414e41SBjorn Andersson
46da3a82e3SGustave Monce		pm8994_pon: pon@800 {
472f74b3dbSVinod Koul			compatible = "qcom,pm8916-pon";
482f74b3dbSVinod Koul			reg = <0x800>;
492f74b3dbSVinod Koul			mode-bootloader = <0x2>;
502f74b3dbSVinod Koul			mode-recovery = <0x1>;
512f74b3dbSVinod Koul
522f74b3dbSVinod Koul			pwrkey {
532f74b3dbSVinod Koul				compatible = "qcom,pm8941-pwrkey";
542f74b3dbSVinod Koul				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
552f74b3dbSVinod Koul				debounce = <15625>;
562f74b3dbSVinod Koul				bias-pull-up;
572f74b3dbSVinod Koul				linux,code = <KEY_POWER>;
582f74b3dbSVinod Koul			};
592f74b3dbSVinod Koul
60f7342c7dSKonrad Dybcio			pm8994_resin: resin {
61f7342c7dSKonrad Dybcio				compatible = "qcom,pm8941-resin";
62f7342c7dSKonrad Dybcio				interrupts = <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
63f7342c7dSKonrad Dybcio				debounce = <15625>;
64f7342c7dSKonrad Dybcio				bias-pull-up;
65f7342c7dSKonrad Dybcio				status = "disabled";
66f7342c7dSKonrad Dybcio			};
672f74b3dbSVinod Koul		};
682f74b3dbSVinod Koul
694778b2f1SKonrad Dybcio		pm8994_temp: temp-alarm@2400 {
704778b2f1SKonrad Dybcio			compatible = "qcom,spmi-temp-alarm";
714778b2f1SKonrad Dybcio			reg = <0x2400>;
724778b2f1SKonrad Dybcio			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
734778b2f1SKonrad Dybcio			io-channels = <&pm8994_vadc VADC_DIE_TEMP>;
744778b2f1SKonrad Dybcio			io-channel-names = "thermal";
754778b2f1SKonrad Dybcio			#thermal-sensor-cells = <0>;
764778b2f1SKonrad Dybcio		};
774778b2f1SKonrad Dybcio
78183d4cafSKonrad Dybcio		pm8994_vadc: adc@3100 {
79183d4cafSKonrad Dybcio			compatible = "qcom,spmi-vadc";
80183d4cafSKonrad Dybcio			reg = <0x3100>;
81183d4cafSKonrad Dybcio			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
82183d4cafSKonrad Dybcio			#address-cells = <1>;
83183d4cafSKonrad Dybcio			#size-cells = <0>;
84183d4cafSKonrad Dybcio			#io-channel-cells = <1>;
85183d4cafSKonrad Dybcio
86*41c18552SMarijn Suijten			channel@7 {
87183d4cafSKonrad Dybcio				reg = <VADC_VSYS>;
88183d4cafSKonrad Dybcio				qcom,pre-scaling = <1 3>;
89183d4cafSKonrad Dybcio				label = "vph_pwr";
90183d4cafSKonrad Dybcio			};
91*41c18552SMarijn Suijten			channel@8 {
92183d4cafSKonrad Dybcio				reg = <VADC_DIE_TEMP>;
93183d4cafSKonrad Dybcio				label = "die_temp";
94183d4cafSKonrad Dybcio			};
95*41c18552SMarijn Suijten			channel@9 {
96183d4cafSKonrad Dybcio				reg = <VADC_REF_625MV>;
97183d4cafSKonrad Dybcio				label = "ref_625mv";
98183d4cafSKonrad Dybcio			};
99*41c18552SMarijn Suijten			channel@a {
100183d4cafSKonrad Dybcio				reg = <VADC_REF_1250MV>;
101183d4cafSKonrad Dybcio				label = "ref_1250mv";
102183d4cafSKonrad Dybcio			};
103*41c18552SMarijn Suijten			channel@e {
104183d4cafSKonrad Dybcio				reg = <VADC_GND_REF>;
105183d4cafSKonrad Dybcio			};
106*41c18552SMarijn Suijten			channel@f {
107183d4cafSKonrad Dybcio				reg = <VADC_VDD_VADC>;
108183d4cafSKonrad Dybcio			};
109183d4cafSKonrad Dybcio		};
110183d4cafSKonrad Dybcio
111c95243eeSKrzysztof Kozlowski		pm8994_gpios: gpio@c000 {
11289393048SKonrad Dybcio			compatible = "qcom,pm8994-gpio", "qcom,spmi-gpio";
1130804308fSStephen Boyd			reg = <0xc000>;
1140804308fSStephen Boyd			gpio-controller;
11589393048SKonrad Dybcio			gpio-ranges = <&pm8994_gpios 0 0 22>;
1160804308fSStephen Boyd			#gpio-cells = <2>;
11789393048SKonrad Dybcio			interrupt-controller;
11889393048SKonrad Dybcio			#interrupt-cells = <2>;
1190804308fSStephen Boyd		};
1200804308fSStephen Boyd
1210804308fSStephen Boyd		pm8994_mpps: mpps@a000 {
12258d92e6eSDmitry Baryshkov			compatible = "qcom,pm8994-mpp", "qcom,spmi-mpp";
1230804308fSStephen Boyd			reg = <0xa000>;
1240804308fSStephen Boyd			gpio-controller;
1250804308fSStephen Boyd			#gpio-cells = <2>;
12658d92e6eSDmitry Baryshkov			gpio-ranges = <&pm8994_mpps 0 0 8>;
1278f48ceefSDmitry Baryshkov			interrupt-controller;
1288f48ceefSDmitry Baryshkov			#interrupt-cells = <2>;
1290804308fSStephen Boyd		};
13038757eb3SStephen Boyd	};
13138757eb3SStephen Boyd
13238757eb3SStephen Boyd	pmic@1 {
13338757eb3SStephen Boyd		compatible = "qcom,pm8994", "qcom,spmi-pmic";
13438757eb3SStephen Boyd		reg = <0x1 SPMI_USID>;
13538757eb3SStephen Boyd		#address-cells = <1>;
13638757eb3SStephen Boyd		#size-cells = <0>;
1377a2a2231SLoic Poulain
13815f50a48SKrzysztof Kozlowski		pm8994_lpg: pwm {
139e79a1385SBjorn Andersson			compatible = "qcom,pm8994-lpg";
140e79a1385SBjorn Andersson
141e79a1385SBjorn Andersson			#address-cells = <1>;
142e79a1385SBjorn Andersson			#size-cells = <0>;
143e79a1385SBjorn Andersson			#pwm-cells = <2>;
144e79a1385SBjorn Andersson
145e79a1385SBjorn Andersson			status = "disabled";
146e79a1385SBjorn Andersson		};
147e79a1385SBjorn Andersson
1487a2a2231SLoic Poulain		pm8994_spmi_regulators: regulators {
1497a2a2231SLoic Poulain			compatible = "qcom,pm8994-regulators";
1507a2a2231SLoic Poulain		};
15138757eb3SStephen Boyd	};
15238757eb3SStephen Boyd};
153