xref: /freebsd-src/sys/contrib/device-tree/src/arm/qcom/pm8921.dtsi (revision 8d13bc63c0e1d50bc9e47ac1f26329c999bfecf0)
1*8d13bc63SEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0
2*8d13bc63SEmmanuel Vadot
3*8d13bc63SEmmanuel Vadot&ssbi {
4*8d13bc63SEmmanuel Vadot	pm8921: pmic {
5*8d13bc63SEmmanuel Vadot		compatible = "qcom,pm8921";
6*8d13bc63SEmmanuel Vadot		#interrupt-cells = <2>;
7*8d13bc63SEmmanuel Vadot		interrupt-controller;
8*8d13bc63SEmmanuel Vadot		#address-cells = <1>;
9*8d13bc63SEmmanuel Vadot		#size-cells = <0>;
10*8d13bc63SEmmanuel Vadot
11*8d13bc63SEmmanuel Vadot		pwrkey@1c {
12*8d13bc63SEmmanuel Vadot			compatible = "qcom,pm8921-pwrkey";
13*8d13bc63SEmmanuel Vadot			reg = <0x1c>;
14*8d13bc63SEmmanuel Vadot			interrupts-extended = <&pm8921 50 IRQ_TYPE_EDGE_RISING>,
15*8d13bc63SEmmanuel Vadot					      <&pm8921 51 IRQ_TYPE_EDGE_RISING>;
16*8d13bc63SEmmanuel Vadot			debounce = <15625>;
17*8d13bc63SEmmanuel Vadot			pull-up;
18*8d13bc63SEmmanuel Vadot		};
19*8d13bc63SEmmanuel Vadot
20*8d13bc63SEmmanuel Vadot		pm8921_mpps: mpps@50 {
21*8d13bc63SEmmanuel Vadot			compatible = "qcom,pm8921-mpp",
22*8d13bc63SEmmanuel Vadot				     "qcom,ssbi-mpp";
23*8d13bc63SEmmanuel Vadot			reg = <0x50>;
24*8d13bc63SEmmanuel Vadot			gpio-controller;
25*8d13bc63SEmmanuel Vadot			#gpio-cells = <2>;
26*8d13bc63SEmmanuel Vadot			gpio-ranges = <&pm8921_mpps 0 0 12>;
27*8d13bc63SEmmanuel Vadot			interrupt-controller;
28*8d13bc63SEmmanuel Vadot			#interrupt-cells = <2>;
29*8d13bc63SEmmanuel Vadot		};
30*8d13bc63SEmmanuel Vadot
31*8d13bc63SEmmanuel Vadot		rtc@11d {
32*8d13bc63SEmmanuel Vadot			compatible = "qcom,pm8921-rtc";
33*8d13bc63SEmmanuel Vadot			reg = <0x11d>;
34*8d13bc63SEmmanuel Vadot			interrupts-extended = <&pm8921 39 IRQ_TYPE_EDGE_RISING>;
35*8d13bc63SEmmanuel Vadot			allow-set-time;
36*8d13bc63SEmmanuel Vadot		};
37*8d13bc63SEmmanuel Vadot
38*8d13bc63SEmmanuel Vadot		pm8921_keypad: keypad@148 {
39*8d13bc63SEmmanuel Vadot			compatible = "qcom,pm8921-keypad";
40*8d13bc63SEmmanuel Vadot			reg = <0x148>;
41*8d13bc63SEmmanuel Vadot			interrupts-extended = <&pm8921 74 IRQ_TYPE_EDGE_RISING>,
42*8d13bc63SEmmanuel Vadot					      <&pm8921 75 IRQ_TYPE_EDGE_RISING>;
43*8d13bc63SEmmanuel Vadot			debounce = <15>;
44*8d13bc63SEmmanuel Vadot			scan-delay = <32>;
45*8d13bc63SEmmanuel Vadot			row-hold = <91500>;
46*8d13bc63SEmmanuel Vadot			status = "disabled";
47*8d13bc63SEmmanuel Vadot		};
48*8d13bc63SEmmanuel Vadot
49*8d13bc63SEmmanuel Vadot		pm8921_gpio: gpio@150 {
50*8d13bc63SEmmanuel Vadot
51*8d13bc63SEmmanuel Vadot			compatible = "qcom,pm8921-gpio",
52*8d13bc63SEmmanuel Vadot				     "qcom,ssbi-gpio";
53*8d13bc63SEmmanuel Vadot			reg = <0x150>;
54*8d13bc63SEmmanuel Vadot			interrupt-controller;
55*8d13bc63SEmmanuel Vadot			#interrupt-cells = <2>;
56*8d13bc63SEmmanuel Vadot			gpio-controller;
57*8d13bc63SEmmanuel Vadot			gpio-ranges = <&pm8921_gpio 0 0 44>;
58*8d13bc63SEmmanuel Vadot			#gpio-cells = <2>;
59*8d13bc63SEmmanuel Vadot
60*8d13bc63SEmmanuel Vadot		};
61*8d13bc63SEmmanuel Vadot
62*8d13bc63SEmmanuel Vadot		pm8921_xoadc: xoadc@197 {
63*8d13bc63SEmmanuel Vadot			compatible = "qcom,pm8921-adc";
64*8d13bc63SEmmanuel Vadot			reg = <0x197>;
65*8d13bc63SEmmanuel Vadot			interrupts-extended = <&pm8921 78 IRQ_TYPE_EDGE_RISING>;
66*8d13bc63SEmmanuel Vadot			#address-cells = <2>;
67*8d13bc63SEmmanuel Vadot			#size-cells = <0>;
68*8d13bc63SEmmanuel Vadot			#io-channel-cells = <2>;
69*8d13bc63SEmmanuel Vadot
70*8d13bc63SEmmanuel Vadot			vcoin: adc-channel@0 {
71*8d13bc63SEmmanuel Vadot				reg = <0x00 0x00>;
72*8d13bc63SEmmanuel Vadot			};
73*8d13bc63SEmmanuel Vadot
74*8d13bc63SEmmanuel Vadot			vbat: adc-channel@1 {
75*8d13bc63SEmmanuel Vadot				reg = <0x00 0x01>;
76*8d13bc63SEmmanuel Vadot			};
77*8d13bc63SEmmanuel Vadot
78*8d13bc63SEmmanuel Vadot			dcin: adc-channel@2 {
79*8d13bc63SEmmanuel Vadot				reg = <0x00 0x02>;
80*8d13bc63SEmmanuel Vadot			};
81*8d13bc63SEmmanuel Vadot
82*8d13bc63SEmmanuel Vadot			vph_pwr: adc-channel@4 {
83*8d13bc63SEmmanuel Vadot				reg = <0x00 0x04>;
84*8d13bc63SEmmanuel Vadot			};
85*8d13bc63SEmmanuel Vadot
86*8d13bc63SEmmanuel Vadot			batt_therm: adc-channel@8 {
87*8d13bc63SEmmanuel Vadot				reg = <0x00 0x08>;
88*8d13bc63SEmmanuel Vadot			};
89*8d13bc63SEmmanuel Vadot
90*8d13bc63SEmmanuel Vadot			batt_id: adc-channel@9 {
91*8d13bc63SEmmanuel Vadot				reg = <0x00 0x09>;
92*8d13bc63SEmmanuel Vadot			};
93*8d13bc63SEmmanuel Vadot
94*8d13bc63SEmmanuel Vadot			usb_vbus: adc-channel@a {
95*8d13bc63SEmmanuel Vadot				reg = <0x00 0x0a>;
96*8d13bc63SEmmanuel Vadot			};
97*8d13bc63SEmmanuel Vadot
98*8d13bc63SEmmanuel Vadot			die_temp: adc-channel@b {
99*8d13bc63SEmmanuel Vadot				reg = <0x00 0x0b>;
100*8d13bc63SEmmanuel Vadot			};
101*8d13bc63SEmmanuel Vadot
102*8d13bc63SEmmanuel Vadot			ref_625mv: adc-channel@c {
103*8d13bc63SEmmanuel Vadot				reg = <0x00 0x0c>;
104*8d13bc63SEmmanuel Vadot			};
105*8d13bc63SEmmanuel Vadot
106*8d13bc63SEmmanuel Vadot			ref_1250mv: adc-channel@d {
107*8d13bc63SEmmanuel Vadot				reg = <0x00 0x0d>;
108*8d13bc63SEmmanuel Vadot			};
109*8d13bc63SEmmanuel Vadot
110*8d13bc63SEmmanuel Vadot			chg_temp: adc-channel@e {
111*8d13bc63SEmmanuel Vadot				reg = <0x00 0x0e>;
112*8d13bc63SEmmanuel Vadot			};
113*8d13bc63SEmmanuel Vadot
114*8d13bc63SEmmanuel Vadot			ref_muxoff: adc-channel@f {
115*8d13bc63SEmmanuel Vadot				reg = <0x00 0x0f>;
116*8d13bc63SEmmanuel Vadot			};
117*8d13bc63SEmmanuel Vadot		};
118*8d13bc63SEmmanuel Vadot	};
119*8d13bc63SEmmanuel Vadot};
120*8d13bc63SEmmanuel Vadot
121*8d13bc63SEmmanuel Vadot/ {
122*8d13bc63SEmmanuel Vadot	/*
123*8d13bc63SEmmanuel Vadot	 * These channels from the ADC are simply hardware monitors.
124*8d13bc63SEmmanuel Vadot	 * That is why the ADC is referred to as "HKADC" - HouseKeeping
125*8d13bc63SEmmanuel Vadot	 * ADC.
126*8d13bc63SEmmanuel Vadot	 */
127*8d13bc63SEmmanuel Vadot	iio-hwmon {
128*8d13bc63SEmmanuel Vadot		compatible = "iio-hwmon";
129*8d13bc63SEmmanuel Vadot		io-channels = <&pm8921_xoadc 0x00 0x01>, /* Battery */
130*8d13bc63SEmmanuel Vadot			      <&pm8921_xoadc 0x00 0x02>, /* DC in (charger) */
131*8d13bc63SEmmanuel Vadot			      <&pm8921_xoadc 0x00 0x04>, /* VPH the main system voltage */
132*8d13bc63SEmmanuel Vadot			      <&pm8921_xoadc 0x00 0x0b>, /* Die temperature */
133*8d13bc63SEmmanuel Vadot			      <&pm8921_xoadc 0x00 0x0c>, /* Reference voltage 1.25V */
134*8d13bc63SEmmanuel Vadot			      <&pm8921_xoadc 0x00 0x0d>, /* Reference voltage 0.625V */
135*8d13bc63SEmmanuel Vadot			      <&pm8921_xoadc 0x00 0x0e>; /* Charger temperature */
136*8d13bc63SEmmanuel Vadot	};
137*8d13bc63SEmmanuel Vadot};
138