xref: /openbmc/linux/arch/arm64/boot/dts/qcom/pm6125.dtsi (revision 7c969c6e)
1*7c969c6eSMarijn Suijten// SPDX-License-Identifier: BSD-3-Clause
2*7c969c6eSMarijn Suijten
3*7c969c6eSMarijn Suijten#include <dt-bindings/iio/qcom,spmi-vadc.h>
4*7c969c6eSMarijn Suijten#include <dt-bindings/input/input.h>
5*7c969c6eSMarijn Suijten#include <dt-bindings/input/linux-event-codes.h>
6*7c969c6eSMarijn Suijten#include <dt-bindings/interrupt-controller/irq.h>
7*7c969c6eSMarijn Suijten#include <dt-bindings/spmi/spmi.h>
8*7c969c6eSMarijn Suijten
9*7c969c6eSMarijn Suijten/ {
10*7c969c6eSMarijn Suijten	thermal-zones {
11*7c969c6eSMarijn Suijten		pm6125-thermal {
12*7c969c6eSMarijn Suijten			polling-delay-passive = <100>;
13*7c969c6eSMarijn Suijten			polling-delay = <0>;
14*7c969c6eSMarijn Suijten
15*7c969c6eSMarijn Suijten			thermal-sensors = <&pm6125_temp>;
16*7c969c6eSMarijn Suijten
17*7c969c6eSMarijn Suijten			trips {
18*7c969c6eSMarijn Suijten				trip0 {
19*7c969c6eSMarijn Suijten					temperature = <95000>;
20*7c969c6eSMarijn Suijten					hysteresis = <0>;
21*7c969c6eSMarijn Suijten					type = "passive";
22*7c969c6eSMarijn Suijten				};
23*7c969c6eSMarijn Suijten
24*7c969c6eSMarijn Suijten				trip1 {
25*7c969c6eSMarijn Suijten					temperature = <115000>;
26*7c969c6eSMarijn Suijten					hysteresis = <0>;
27*7c969c6eSMarijn Suijten					type = "hot";
28*7c969c6eSMarijn Suijten				};
29*7c969c6eSMarijn Suijten
30*7c969c6eSMarijn Suijten				trip2 {
31*7c969c6eSMarijn Suijten					temperature = <145000>;
32*7c969c6eSMarijn Suijten					hysteresis = <0>;
33*7c969c6eSMarijn Suijten					type = "critical";
34*7c969c6eSMarijn Suijten				};
35*7c969c6eSMarijn Suijten			};
36*7c969c6eSMarijn Suijten		};
37*7c969c6eSMarijn Suijten	};
38*7c969c6eSMarijn Suijten};
39*7c969c6eSMarijn Suijten
40*7c969c6eSMarijn Suijten&spmi_bus {
41*7c969c6eSMarijn Suijten	pmic@0 {
42*7c969c6eSMarijn Suijten		compatible = "qcom,pm6125", "qcom,spmi-pmic";
43*7c969c6eSMarijn Suijten		reg = <0x0 SPMI_USID>;
44*7c969c6eSMarijn Suijten		#address-cells = <1>;
45*7c969c6eSMarijn Suijten		#size-cells = <0>;
46*7c969c6eSMarijn Suijten
47*7c969c6eSMarijn Suijten		pm6125_pon: pon@800 {
48*7c969c6eSMarijn Suijten			compatible = "qcom,pm8998-pon";
49*7c969c6eSMarijn Suijten			reg = <0x800>;
50*7c969c6eSMarijn Suijten			mode-bootloader = <0x2>;
51*7c969c6eSMarijn Suijten			mode-recovery = <0x1>;
52*7c969c6eSMarijn Suijten
53*7c969c6eSMarijn Suijten			pon_pwrkey: pwrkey {
54*7c969c6eSMarijn Suijten				compatible = "qcom,pm8941-pwrkey";
55*7c969c6eSMarijn Suijten				interrupts = <0x0 0x8 0x0 IRQ_TYPE_EDGE_BOTH>;
56*7c969c6eSMarijn Suijten				debounce = <15625>;
57*7c969c6eSMarijn Suijten				linux,code = <KEY_POWER>;
58*7c969c6eSMarijn Suijten				bias-pull-up;
59*7c969c6eSMarijn Suijten				status = "disabled";
60*7c969c6eSMarijn Suijten			};
61*7c969c6eSMarijn Suijten
62*7c969c6eSMarijn Suijten			pon_resin: resin {
63*7c969c6eSMarijn Suijten				compatible = "qcom,pm8941-resin";
64*7c969c6eSMarijn Suijten				interrupts = <0x0 0x8 0x1 IRQ_TYPE_EDGE_BOTH>;
65*7c969c6eSMarijn Suijten				debounce = <15625>;
66*7c969c6eSMarijn Suijten				bias-pull-up;
67*7c969c6eSMarijn Suijten				status = "disabled";
68*7c969c6eSMarijn Suijten			};
69*7c969c6eSMarijn Suijten		};
70*7c969c6eSMarijn Suijten
71*7c969c6eSMarijn Suijten		pm6125_temp: temp-alarm@2400 {
72*7c969c6eSMarijn Suijten			compatible = "qcom,spmi-temp-alarm";
73*7c969c6eSMarijn Suijten			reg = <0x2400>;
74*7c969c6eSMarijn Suijten			interrupts = <0x0 0x24 0x0 IRQ_TYPE_EDGE_RISING>;
75*7c969c6eSMarijn Suijten			io-channels = <&pm6125_adc ADC5_DIE_TEMP>;
76*7c969c6eSMarijn Suijten			io-channel-names = "thermal";
77*7c969c6eSMarijn Suijten			#thermal-sensor-cells = <0>;
78*7c969c6eSMarijn Suijten		};
79*7c969c6eSMarijn Suijten
80*7c969c6eSMarijn Suijten		pm6125_adc: adc@3100 {
81*7c969c6eSMarijn Suijten			compatible = "qcom,spmi-adc5";
82*7c969c6eSMarijn Suijten			reg = <0x3100>;
83*7c969c6eSMarijn Suijten			#address-cells = <1>;
84*7c969c6eSMarijn Suijten			#size-cells = <0>;
85*7c969c6eSMarijn Suijten			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
86*7c969c6eSMarijn Suijten			#io-channel-cells = <1>;
87*7c969c6eSMarijn Suijten
88*7c969c6eSMarijn Suijten			ref-gnd@0 {
89*7c969c6eSMarijn Suijten				reg = <ADC5_REF_GND>;
90*7c969c6eSMarijn Suijten				qcom,pre-scaling = <1 1>;
91*7c969c6eSMarijn Suijten			};
92*7c969c6eSMarijn Suijten
93*7c969c6eSMarijn Suijten			vref-1p25@1 {
94*7c969c6eSMarijn Suijten				reg = <ADC5_1P25VREF>;
95*7c969c6eSMarijn Suijten				qcom,pre-scaling = <1 1>;
96*7c969c6eSMarijn Suijten			};
97*7c969c6eSMarijn Suijten
98*7c969c6eSMarijn Suijten			die-temp@6 {
99*7c969c6eSMarijn Suijten				reg = <ADC5_DIE_TEMP>;
100*7c969c6eSMarijn Suijten				qcom,pre-scaling = <1 1>;
101*7c969c6eSMarijn Suijten			};
102*7c969c6eSMarijn Suijten
103*7c969c6eSMarijn Suijten			vph-pwr@83 {
104*7c969c6eSMarijn Suijten				reg = <ADC5_VPH_PWR>;
105*7c969c6eSMarijn Suijten				qcom,pre-scaling = <1 3>;
106*7c969c6eSMarijn Suijten			};
107*7c969c6eSMarijn Suijten
108*7c969c6eSMarijn Suijten			vcoin@85 {
109*7c969c6eSMarijn Suijten				reg = <ADC5_VCOIN>;
110*7c969c6eSMarijn Suijten				qcom,pre-scaling = <1 3>;
111*7c969c6eSMarijn Suijten			};
112*7c969c6eSMarijn Suijten
113*7c969c6eSMarijn Suijten			xo-therm@4c {
114*7c969c6eSMarijn Suijten				reg = <ADC5_XO_THERM_100K_PU>;
115*7c969c6eSMarijn Suijten				qcom,pre-scaling = <1 1>;
116*7c969c6eSMarijn Suijten				qcom,hw-settle-time = <200>;
117*7c969c6eSMarijn Suijten				qcom,ratiometric;
118*7c969c6eSMarijn Suijten			};
119*7c969c6eSMarijn Suijten		};
120*7c969c6eSMarijn Suijten
121*7c969c6eSMarijn Suijten		pm6125_adc_tm: adc-tm@3500 {
122*7c969c6eSMarijn Suijten			compatible = "qcom,spmi-adc-tm5";
123*7c969c6eSMarijn Suijten			reg = <0x3500>;
124*7c969c6eSMarijn Suijten			interrupts = <0x0 0x35 0x0 IRQ_TYPE_EDGE_RISING>;
125*7c969c6eSMarijn Suijten			#address-cells = <1>;
126*7c969c6eSMarijn Suijten			#size-cells = <0>;
127*7c969c6eSMarijn Suijten			#thermal-sensor-cells = <1>;
128*7c969c6eSMarijn Suijten			status = "disabled";
129*7c969c6eSMarijn Suijten		};
130*7c969c6eSMarijn Suijten
131*7c969c6eSMarijn Suijten		pm6125_rtc: rtc@6000 {
132*7c969c6eSMarijn Suijten			compatible = "qcom,pm8941-rtc";
133*7c969c6eSMarijn Suijten			reg = <0x6000>, <0x6100>;
134*7c969c6eSMarijn Suijten			reg-names = "rtc", "alarm";
135*7c969c6eSMarijn Suijten			interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
136*7c969c6eSMarijn Suijten			status = "disabled";
137*7c969c6eSMarijn Suijten		};
138*7c969c6eSMarijn Suijten
139*7c969c6eSMarijn Suijten		pm6125_gpio: gpio@c000 {
140*7c969c6eSMarijn Suijten			compatible = "qcom,pm6125-gpio", "qcom,spmi-gpio";
141*7c969c6eSMarijn Suijten			reg = <0xc000>;
142*7c969c6eSMarijn Suijten			gpio-controller;
143*7c969c6eSMarijn Suijten			gpio-ranges = <&pm6125_gpio 0 0 9>;
144*7c969c6eSMarijn Suijten			#gpio-cells = <2>;
145*7c969c6eSMarijn Suijten			interrupt-controller;
146*7c969c6eSMarijn Suijten			#interrupt-cells = <2>;
147*7c969c6eSMarijn Suijten		};
148*7c969c6eSMarijn Suijten	};
149*7c969c6eSMarijn Suijten
150*7c969c6eSMarijn Suijten	pmic@1 {
151*7c969c6eSMarijn Suijten		compatible = "qcom,pm6125", "qcom,spmi-pmic";
152*7c969c6eSMarijn Suijten		reg = <0x1 SPMI_USID>;
153*7c969c6eSMarijn Suijten	};
154*7c969c6eSMarijn Suijten};
155