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