101da7bafSRobert Marko// SPDX-License-Identifier: GPL-2.0-only OR BSD-3-Clause
201da7bafSRobert Marko
301da7bafSRobert Marko#include <dt-bindings/spmi/spmi.h>
401da7bafSRobert Marko#include <dt-bindings/iio/qcom,spmi-vadc.h>
501da7bafSRobert Marko
601da7bafSRobert Marko&spmi_bus {
701da7bafSRobert Marko	pmic@0 {
801da7bafSRobert Marko		compatible = "qcom,pmp8074", "qcom,spmi-pmic";
901da7bafSRobert Marko		reg = <0x0 SPMI_USID>;
1001da7bafSRobert Marko		#address-cells = <1>;
1101da7bafSRobert Marko		#size-cells = <0>;
1201da7bafSRobert Marko
1301da7bafSRobert Marko		pmp8074_adc: adc@3100 {
1401da7bafSRobert Marko			compatible = "qcom,spmi-adc-rev2";
1501da7bafSRobert Marko			reg = <0x3100>;
1601da7bafSRobert Marko			interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
1701da7bafSRobert Marko			#address-cells = <1>;
1801da7bafSRobert Marko			#size-cells = <0>;
1901da7bafSRobert Marko			#io-channel-cells = <1>;
2001da7bafSRobert Marko
21*41c18552SMarijn Suijten			channel@0 {
2201da7bafSRobert Marko				reg = <ADC5_REF_GND>;
2301da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
24*41c18552SMarijn Suijten				label = "ref_gnd";
2501da7bafSRobert Marko			};
2601da7bafSRobert Marko
27*41c18552SMarijn Suijten			channel@1 {
2801da7bafSRobert Marko				reg = <ADC5_1P25VREF>;
2901da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
30*41c18552SMarijn Suijten				label = "vref_1p25";
3101da7bafSRobert Marko			};
3201da7bafSRobert Marko
33*41c18552SMarijn Suijten			channel@2 {
3401da7bafSRobert Marko				reg = <ADC5_VREF_VADC>;
3501da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
36*41c18552SMarijn Suijten				label = "vref_vadc";
3701da7bafSRobert Marko			};
3801da7bafSRobert Marko
39*41c18552SMarijn Suijten			channel@6 {
4001da7bafSRobert Marko				reg = <ADC5_DIE_TEMP>;
4101da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
42*41c18552SMarijn Suijten				label = "pmic_die";
4301da7bafSRobert Marko			};
4401da7bafSRobert Marko
45*41c18552SMarijn Suijten			channel@76 {
4601da7bafSRobert Marko				reg = <ADC5_XO_THERM_100K_PU>;
4701da7bafSRobert Marko				qcom,ratiometric;
4801da7bafSRobert Marko				qcom,hw-settle-time = <200>;
4901da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
50*41c18552SMarijn Suijten				label = "xo_therm";
5101da7bafSRobert Marko			};
5201da7bafSRobert Marko
53*41c18552SMarijn Suijten			channel@77 {
5401da7bafSRobert Marko				reg = <ADC5_AMUX_THM1_100K_PU>;
5501da7bafSRobert Marko				qcom,ratiometric;
5601da7bafSRobert Marko				qcom,hw-settle-time = <200>;
5701da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
58*41c18552SMarijn Suijten				label = "pa_therm1";
5901da7bafSRobert Marko			};
6001da7bafSRobert Marko
61*41c18552SMarijn Suijten			channel@78 {
6201da7bafSRobert Marko				reg = <ADC5_AMUX_THM2_100K_PU>;
6301da7bafSRobert Marko				qcom,ratiometric;
6401da7bafSRobert Marko				qcom,hw-settle-time = <200>;
6501da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
66*41c18552SMarijn Suijten				label = "pa_therm2";
6701da7bafSRobert Marko			};
6801da7bafSRobert Marko
69*41c18552SMarijn Suijten			channel@79 {
7001da7bafSRobert Marko				reg = <ADC5_AMUX_THM3_100K_PU>;
7101da7bafSRobert Marko				qcom,ratiometric;
7201da7bafSRobert Marko				qcom,hw-settle-time = <200>;
7301da7bafSRobert Marko				qcom,pre-scaling = <1 1>;
74*41c18552SMarijn Suijten				label = "pa_therm3";
7501da7bafSRobert Marko			};
7601da7bafSRobert Marko
77*41c18552SMarijn Suijten			channel@131 {
7801da7bafSRobert Marko				reg = <ADC5_VPH_PWR>;
7901da7bafSRobert Marko				qcom,pre-scaling = <1 3>;
80*41c18552SMarijn Suijten				label = "vph_pwr";
8101da7bafSRobert Marko			};
8201da7bafSRobert Marko		};
8301da7bafSRobert Marko
8401da7bafSRobert Marko		pmp8074_rtc: rtc@6000 {
8501da7bafSRobert Marko			compatible = "qcom,pm8941-rtc";
86ceb01bb8SEric Chanudet			reg = <0x6000>, <0x6100>;
8701da7bafSRobert Marko			reg-names = "rtc", "alarm";
8801da7bafSRobert Marko			interrupts = <0x0 0x61 0x1 IRQ_TYPE_NONE>;
8901da7bafSRobert Marko			allow-set-time;
9001da7bafSRobert Marko			status = "disabled";
9101da7bafSRobert Marko		};
9201da7bafSRobert Marko
9301da7bafSRobert Marko		pmp8074_gpios: gpio@c000 {
9401da7bafSRobert Marko			compatible = "qcom,pmp8074-gpio", "qcom,spmi-gpio";
9501da7bafSRobert Marko			reg = <0xc000>;
9601da7bafSRobert Marko			gpio-controller;
9701da7bafSRobert Marko			#gpio-cells = <2>;
9801da7bafSRobert Marko			gpio-ranges = <&pmp8074_gpios 0 0 12>;
9901da7bafSRobert Marko			interrupt-controller;
10001da7bafSRobert Marko			#interrupt-cells = <2>;
10101da7bafSRobert Marko		};
10201da7bafSRobert Marko	};
10301da7bafSRobert Marko
10401da7bafSRobert Marko	pmic@1 {
10501da7bafSRobert Marko		compatible = "qcom,pmp8074", "qcom,spmi-pmic";
10601da7bafSRobert Marko		reg = <0x1 SPMI_USID>;
10701da7bafSRobert Marko
10801da7bafSRobert Marko		regulators {
10901da7bafSRobert Marko			compatible = "qcom,pmp8074-regulators";
11001da7bafSRobert Marko
11101da7bafSRobert Marko			s3: s3 {
11201da7bafSRobert Marko				regulator-name = "vdd_s3";
11301da7bafSRobert Marko				regulator-min-microvolt = <592000>;
11401da7bafSRobert Marko				regulator-max-microvolt = <1064000>;
11501da7bafSRobert Marko				regulator-always-on;
11601da7bafSRobert Marko				regulator-boot-on;
11701da7bafSRobert Marko			};
11801da7bafSRobert Marko
11901da7bafSRobert Marko			s4: s4 {
12001da7bafSRobert Marko				regulator-name = "vdd_s4";
12101da7bafSRobert Marko				regulator-min-microvolt = <712000>;
12201da7bafSRobert Marko				regulator-max-microvolt = <992000>;
12301da7bafSRobert Marko				regulator-always-on;
12401da7bafSRobert Marko				regulator-boot-on;
12501da7bafSRobert Marko			};
12601da7bafSRobert Marko
12701da7bafSRobert Marko			l11: l11 {
12801da7bafSRobert Marko				regulator-name = "l11";
12901da7bafSRobert Marko				regulator-min-microvolt = <1800000>;
13001da7bafSRobert Marko				regulator-max-microvolt = <3300000>;
13101da7bafSRobert Marko			};
13201da7bafSRobert Marko		};
13301da7bafSRobert Marko	};
13401da7bafSRobert Marko};
135