xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pm660.dtsi (revision 4bf09754)
14870c76cSKonrad Dybcio// SPDX-License-Identifier: BSD-3-Clause
24870c76cSKonrad Dybcio/*
34870c76cSKonrad Dybcio * Copyright (c) 2020, Konrad Dybcio
44870c76cSKonrad Dybcio */
54870c76cSKonrad Dybcio
6*4bf09754SKonrad Dybcio#include <dt-bindings/iio/qcom,spmi-vadc.h>
74870c76cSKonrad Dybcio#include <dt-bindings/input/linux-event-codes.h>
84870c76cSKonrad Dybcio#include <dt-bindings/interrupt-controller/irq.h>
94870c76cSKonrad Dybcio#include <dt-bindings/spmi/spmi.h>
10*4bf09754SKonrad Dybcio#include <dt-bindings/thermal/thermal.h>
11*4bf09754SKonrad Dybcio
12*4bf09754SKonrad Dybcio/ {
13*4bf09754SKonrad Dybcio	thermal-zones {
14*4bf09754SKonrad Dybcio		pm660 {
15*4bf09754SKonrad Dybcio			polling-delay-passive = <250>;
16*4bf09754SKonrad Dybcio			polling-delay = <1000>;
17*4bf09754SKonrad Dybcio
18*4bf09754SKonrad Dybcio			thermal-sensors = <&pm660_temp>;
19*4bf09754SKonrad Dybcio
20*4bf09754SKonrad Dybcio			trips {
21*4bf09754SKonrad Dybcio				pm660_alert0: pm660-alert0 {
22*4bf09754SKonrad Dybcio					temperature = <95000>;
23*4bf09754SKonrad Dybcio					hysteresis = <2000>;
24*4bf09754SKonrad Dybcio					type = "passive";
25*4bf09754SKonrad Dybcio				};
26*4bf09754SKonrad Dybcio				pm660_crit: pm660-crit {
27*4bf09754SKonrad Dybcio					temperature = <125000>;
28*4bf09754SKonrad Dybcio					hysteresis = <2000>;
29*4bf09754SKonrad Dybcio					type = "critical";
30*4bf09754SKonrad Dybcio				};
31*4bf09754SKonrad Dybcio			};
32*4bf09754SKonrad Dybcio		};
33*4bf09754SKonrad Dybcio	};
34*4bf09754SKonrad Dybcio};
354870c76cSKonrad Dybcio
364870c76cSKonrad Dybcio&spmi_bus {
374870c76cSKonrad Dybcio
384870c76cSKonrad Dybcio	pmic@0 {
394870c76cSKonrad Dybcio		compatible = "qcom,pm660", "qcom,spmi-pmic";
404870c76cSKonrad Dybcio		reg = <0x0 SPMI_USID>;
414870c76cSKonrad Dybcio		#address-cells = <1>;
424870c76cSKonrad Dybcio		#size-cells = <0>;
434870c76cSKonrad Dybcio
444870c76cSKonrad Dybcio		rtc@6000 {
454870c76cSKonrad Dybcio			compatible = "qcom,pm8941-rtc";
464870c76cSKonrad Dybcio			reg = <0x6000>, <0x6100>;
474870c76cSKonrad Dybcio			reg-names = "rtc", "alarm";
484870c76cSKonrad Dybcio			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
494870c76cSKonrad Dybcio		};
504870c76cSKonrad Dybcio
514870c76cSKonrad Dybcio		pon: pon@800 {
524870c76cSKonrad Dybcio			compatible = "qcom,pm8916-pon";
534870c76cSKonrad Dybcio
544870c76cSKonrad Dybcio			reg = <0x800>;
554870c76cSKonrad Dybcio
564870c76cSKonrad Dybcio			pwrkey {
574870c76cSKonrad Dybcio				compatible = "qcom,pm8941-pwrkey";
584870c76cSKonrad Dybcio				interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>;
594870c76cSKonrad Dybcio				debounce = <15625>;
604870c76cSKonrad Dybcio				bias-pull-up;
614870c76cSKonrad Dybcio				linux,code = <KEY_POWER>;
624870c76cSKonrad Dybcio			};
634870c76cSKonrad Dybcio
644870c76cSKonrad Dybcio		};
654870c76cSKonrad Dybcio
66*4bf09754SKonrad Dybcio		pm660_temp: temp-alarm@2400 {
67*4bf09754SKonrad Dybcio			compatible = "qcom,spmi-temp-alarm";
68*4bf09754SKonrad Dybcio			reg = <0x2400>;
69*4bf09754SKonrad Dybcio			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
70*4bf09754SKonrad Dybcio			io-channels = <&pm660_adc ADC5_DIE_TEMP>;
71*4bf09754SKonrad Dybcio			io-channel-names = "thermal";
72*4bf09754SKonrad Dybcio			#thermal-sensor-cells = <0>;
73*4bf09754SKonrad Dybcio		};
74*4bf09754SKonrad Dybcio
75*4bf09754SKonrad Dybcio		pm660_adc: adc@3100 {
76*4bf09754SKonrad Dybcio			compatible = "qcom,spmi-adc-rev2";
77*4bf09754SKonrad Dybcio			reg = <0x3100>;
78*4bf09754SKonrad Dybcio			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
79*4bf09754SKonrad Dybcio			#address-cells = <1>;
80*4bf09754SKonrad Dybcio			#size-cells = <0>;
81*4bf09754SKonrad Dybcio			#io-channel-cells = <1>;
82*4bf09754SKonrad Dybcio
83*4bf09754SKonrad Dybcio			ref_gnd: ref_gnd@0 {
84*4bf09754SKonrad Dybcio				reg = <ADC5_REF_GND>;
85*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
86*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
87*4bf09754SKonrad Dybcio			};
88*4bf09754SKonrad Dybcio
89*4bf09754SKonrad Dybcio			vref_1p25: vref_1p25@1 {
90*4bf09754SKonrad Dybcio				reg = <ADC5_1P25VREF>;
91*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
92*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
93*4bf09754SKonrad Dybcio			};
94*4bf09754SKonrad Dybcio
95*4bf09754SKonrad Dybcio			die_temp: die_temp@6 {
96*4bf09754SKonrad Dybcio				reg = <ADC5_DIE_TEMP>;
97*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
98*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
99*4bf09754SKonrad Dybcio			};
100*4bf09754SKonrad Dybcio
101*4bf09754SKonrad Dybcio			xo_therm: xo_therm@4c {
102*4bf09754SKonrad Dybcio				reg = <ADC5_XO_THERM_100K_PU>;
103*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
104*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
105*4bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
106*4bf09754SKonrad Dybcio				qcom,ratiometric;
107*4bf09754SKonrad Dybcio			};
108*4bf09754SKonrad Dybcio
109*4bf09754SKonrad Dybcio			msm_therm: msm_therm@4d {
110*4bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM1_100K_PU>;
111*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
112*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
113*4bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
114*4bf09754SKonrad Dybcio				qcom,ratiometric;
115*4bf09754SKonrad Dybcio			};
116*4bf09754SKonrad Dybcio
117*4bf09754SKonrad Dybcio			emmc_therm: emmc_therm@4e {
118*4bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM2_100K_PU>;
119*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
120*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
121*4bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
122*4bf09754SKonrad Dybcio				qcom,ratiometric;
123*4bf09754SKonrad Dybcio			};
124*4bf09754SKonrad Dybcio
125*4bf09754SKonrad Dybcio			pa_therm0: thermistor0@4f {
126*4bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM3_100K_PU>;
127*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
128*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
129*4bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
130*4bf09754SKonrad Dybcio				qcom,ratiometric;
131*4bf09754SKonrad Dybcio			};
132*4bf09754SKonrad Dybcio
133*4bf09754SKonrad Dybcio			pa_therm1: thermistor1@50 {
134*4bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM4_100K_PU>;
135*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
136*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
137*4bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
138*4bf09754SKonrad Dybcio				qcom,ratiometric;
139*4bf09754SKonrad Dybcio			};
140*4bf09754SKonrad Dybcio
141*4bf09754SKonrad Dybcio			quiet_therm: quiet_therm@51 {
142*4bf09754SKonrad Dybcio				reg = <ADC5_AMUX_THM5_100K_PU>;
143*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 1>;
144*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
145*4bf09754SKonrad Dybcio				qcom,hw-settle-time = <200>;
146*4bf09754SKonrad Dybcio				qcom,ratiometric;
147*4bf09754SKonrad Dybcio			};
148*4bf09754SKonrad Dybcio
149*4bf09754SKonrad Dybcio			vadc_vph_pwr: vph_pwr@83 {
150*4bf09754SKonrad Dybcio				reg = <ADC5_VPH_PWR>;
151*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
152*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 3>;
153*4bf09754SKonrad Dybcio			};
154*4bf09754SKonrad Dybcio
155*4bf09754SKonrad Dybcio			vcoin: vcoin@83 {
156*4bf09754SKonrad Dybcio				reg = <ADC5_VCOIN>;
157*4bf09754SKonrad Dybcio				qcom,decimation = <1024>;
158*4bf09754SKonrad Dybcio				qcom,pre-scaling = <1 3>;
159*4bf09754SKonrad Dybcio			};
160*4bf09754SKonrad Dybcio		};
161*4bf09754SKonrad Dybcio
1624870c76cSKonrad Dybcio		pm660_gpios: gpios@c000 {
1634870c76cSKonrad Dybcio			compatible = "qcom,pm660-gpio";
1644870c76cSKonrad Dybcio			reg = <0xc000>;
1654870c76cSKonrad Dybcio			gpio-controller;
1664870c76cSKonrad Dybcio			gpio-ranges = <&pm660_gpios 0 0 13>;
1674870c76cSKonrad Dybcio			#gpio-cells = <2>;
1684870c76cSKonrad Dybcio			interrupt-controller;
16922f5adc7SŁukasz Patron			#interrupt-cells = <2>;
1704870c76cSKonrad Dybcio		};
1714870c76cSKonrad Dybcio	};
172b59b058cSAngeloGioacchino Del Regno
173b59b058cSAngeloGioacchino Del Regno	pmic@1 {
174b59b058cSAngeloGioacchino Del Regno		compatible = "qcom,pm660", "qcom,spmi-pmic";
175b59b058cSAngeloGioacchino Del Regno		reg = <0x1 SPMI_USID>;
176b59b058cSAngeloGioacchino Del Regno		#address-cells = <1>;
177b59b058cSAngeloGioacchino Del Regno		#size-cells = <0>;
178b59b058cSAngeloGioacchino Del Regno
179b59b058cSAngeloGioacchino Del Regno		pm660_spmi_regulators: pm660-regulators {
180b59b058cSAngeloGioacchino Del Regno			compatible = "qcom,pm660-regulators";
181b59b058cSAngeloGioacchino Del Regno		};
182b59b058cSAngeloGioacchino Del Regno	};
1834870c76cSKonrad Dybcio};
184