1*01da7bafSRobert Marko// SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
2*01da7bafSRobert Marko
3*01da7bafSRobert Marko#include <dt-bindings/spmi/spmi.h>
4*01da7bafSRobert Marko#include <dt-bindings/iio/qcom,spmi-vadc.h>
5*01da7bafSRobert Marko
6*01da7bafSRobert Marko&spmi_bus {
7*01da7bafSRobert Marko	pmic@0 {
8*01da7bafSRobert Marko		compatible = "qcom,pmp8074", "qcom,spmi-pmic";
9*01da7bafSRobert Marko		reg = <0x0 SPMI_USID>;
10*01da7bafSRobert Marko		#address-cells = <1>;
11*01da7bafSRobert Marko		#size-cells = <0>;
12*01da7bafSRobert Marko
13*01da7bafSRobert Marko		pmp8074_adc: adc@3100 {
14*01da7bafSRobert Marko			compatible = "qcom,spmi-adc-rev2";
15*01da7bafSRobert Marko			reg = <0x3100>;
16*01da7bafSRobert Marko			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
17*01da7bafSRobert Marko			#address-cells = <1>;
18*01da7bafSRobert Marko			#size-cells = <0>;
19*01da7bafSRobert Marko			#io-channel-cells = <1>;
20*01da7bafSRobert Marko
21*01da7bafSRobert Marko			ref-gnd@0 {
22*01da7bafSRobert Marko				reg = <ADC5_REF_GND>;
23*01da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
24*01da7bafSRobert Marko			};
25*01da7bafSRobert Marko
26*01da7bafSRobert Marko			vref-1p25@1 {
27*01da7bafSRobert Marko				reg = <ADC5_1P25VREF>;
28*01da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
29*01da7bafSRobert Marko			};
30*01da7bafSRobert Marko
31*01da7bafSRobert Marko			vref-vadc@2 {
32*01da7bafSRobert Marko				reg = <ADC5_VREF_VADC>;
33*01da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
34*01da7bafSRobert Marko			};
35*01da7bafSRobert Marko
36*01da7bafSRobert Marko			pmic_die: die-temp@6 {
37*01da7bafSRobert Marko				reg = <ADC5_DIE_TEMP>;
38*01da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
39*01da7bafSRobert Marko			};
40*01da7bafSRobert Marko
41*01da7bafSRobert Marko			xo_therm: xo-temp@76 {
42*01da7bafSRobert Marko				reg = <ADC5_XO_THERM_100K_PU>;
43*01da7bafSRobert Marko				qcom,ratiometric;
44*01da7bafSRobert Marko				qcom,hw-settle-time = <200>;
45*01da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
46*01da7bafSRobert Marko			};
47*01da7bafSRobert Marko
48*01da7bafSRobert Marko			pa_therm1: thermistor1@77 {
49*01da7bafSRobert Marko				reg = <ADC5_AMUX_THM1_100K_PU>;
50*01da7bafSRobert Marko				qcom,ratiometric;
51*01da7bafSRobert Marko				qcom,hw-settle-time = <200>;
52*01da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
53*01da7bafSRobert Marko			};
54*01da7bafSRobert Marko
55*01da7bafSRobert Marko			pa_therm2: thermistor2@78 {
56*01da7bafSRobert Marko				reg = <ADC5_AMUX_THM2_100K_PU>;
57*01da7bafSRobert Marko				qcom,ratiometric;
58*01da7bafSRobert Marko				qcom,hw-settle-time = <200>;
59*01da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
60*01da7bafSRobert Marko			};
61*01da7bafSRobert Marko
62*01da7bafSRobert Marko			pa_therm3: thermistor3@79 {
63*01da7bafSRobert Marko				reg = <ADC5_AMUX_THM3_100K_PU>;
64*01da7bafSRobert Marko				qcom,ratiometric;
65*01da7bafSRobert Marko				qcom,hw-settle-time = <200>;
66*01da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
67*01da7bafSRobert Marko			};
68*01da7bafSRobert Marko
69*01da7bafSRobert Marko			vph-pwr@131 {
70*01da7bafSRobert Marko				reg = <ADC5_VPH_PWR>;
71*01da7bafSRobert Marko				qcom,pre-scaling = <1 3>;
72*01da7bafSRobert Marko			};
73*01da7bafSRobert Marko		};
74*01da7bafSRobert Marko
75*01da7bafSRobert Marko		pmp8074_rtc: rtc@6000 {
76*01da7bafSRobert Marko			compatible = "qcom,pm8941-rtc";
77*01da7bafSRobert Marko			reg = <0x6000>;
78*01da7bafSRobert Marko			reg-names = "rtc", "alarm";
79*01da7bafSRobert Marko			interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
80*01da7bafSRobert Marko			allow-set-time;
81*01da7bafSRobert Marko			status = "disabled";
82*01da7bafSRobert Marko		};
83*01da7bafSRobert Marko
84*01da7bafSRobert Marko		pmp8074_gpios: gpio@c000 {
85*01da7bafSRobert Marko			compatible = "qcom,pmp8074-gpio", "qcom,spmi-gpio";
86*01da7bafSRobert Marko			reg = <0xc000>;
87*01da7bafSRobert Marko			gpio-controller;
88*01da7bafSRobert Marko			#gpio-cells = <2>;
89*01da7bafSRobert Marko			gpio-ranges = <&pmp8074_gpios 0 0 12>;
90*01da7bafSRobert Marko			interrupt-controller;
91*01da7bafSRobert Marko			#interrupt-cells = <2>;
92*01da7bafSRobert Marko		};
93*01da7bafSRobert Marko	};
94*01da7bafSRobert Marko
95*01da7bafSRobert Marko	pmic@1 {
96*01da7bafSRobert Marko		compatible = "qcom,pmp8074", "qcom,spmi-pmic";
97*01da7bafSRobert Marko		reg = <0x1 SPMI_USID>;
98*01da7bafSRobert Marko
99*01da7bafSRobert Marko		regulators {
100*01da7bafSRobert Marko			compatible = "qcom,pmp8074-regulators";
101*01da7bafSRobert Marko
102*01da7bafSRobert Marko			s3: s3 {
103*01da7bafSRobert Marko				regulator-name = "vdd_s3";
104*01da7bafSRobert Marko				regulator-min-microvolt = <592000>;
105*01da7bafSRobert Marko				regulator-max-microvolt = <1064000>;
106*01da7bafSRobert Marko				regulator-always-on;
107*01da7bafSRobert Marko				regulator-boot-on;
108*01da7bafSRobert Marko			};
109*01da7bafSRobert Marko
110*01da7bafSRobert Marko			s4: s4 {
111*01da7bafSRobert Marko				regulator-name = "vdd_s4";
112*01da7bafSRobert Marko				regulator-min-microvolt = <712000>;
113*01da7bafSRobert Marko				regulator-max-microvolt = <992000>;
114*01da7bafSRobert Marko				regulator-always-on;
115*01da7bafSRobert Marko				regulator-boot-on;
116*01da7bafSRobert Marko			};
117*01da7bafSRobert Marko
118*01da7bafSRobert Marko			l11: l11 {
119*01da7bafSRobert Marko				regulator-name = "l11";
120*01da7bafSRobert Marko				regulator-min-microvolt = <1800000>;
121*01da7bafSRobert Marko				regulator-max-microvolt = <3300000>;
122*01da7bafSRobert Marko			};
123*01da7bafSRobert Marko		};
124*01da7bafSRobert Marko	};
125*01da7bafSRobert Marko};
126