]> git.karo-electronics.de Git - karo-tx-linux.git/blob - arch/arm64/boot/dts/qcom/pm8916.dtsi
113ccb3fa8868abe1fd142ec8dadd9c039729e7c
[karo-tx-linux.git] / arch / arm64 / boot / dts / qcom / pm8916.dtsi
1 #include <dt-bindings/iio/qcom,spmi-vadc.h>
2 #include <dt-bindings/input/input.h>
3 #include <dt-bindings/interrupt-controller/irq.h>
4 #include <dt-bindings/spmi/spmi.h>
5
6 &spmi_bus {
7
8         pm8916_0: pm8916@0 {
9                 compatible = "qcom,pm8916", "qcom,spmi-pmic";
10                 reg = <0x0 SPMI_USID>;
11                 #address-cells = <1>;
12                 #size-cells = <0>;
13
14                 rtc@6000 {
15                         compatible = "qcom,pm8941-rtc";
16                         reg = <0x6000 0x6100>;
17                         reg-names = "rtc", "alarm";
18                         interrupts = <0x0 0x61 0x1 IRQ_TYPE_EDGE_RISING>;
19                 };
20
21                 spmi_pon: pwrkey@800 {
22                         compatible = "qcom,pm8941-pwrkey";
23                         reg = <0x800>;
24                         interrupts = <0x0 0x8 0 IRQ_TYPE_EDGE_BOTH>,
25                                      <0x0 0x8 1 IRQ_TYPE_EDGE_BOTH>;
26                         debounce = <15625>;
27                         bias-pull-up;
28                         resin-pull-up;
29                         linux,code = <KEY_RESTART>;
30                 };
31
32                 pm8916_gpios: gpios@c000 {
33                         compatible = "qcom,pm8916-gpio";
34                         reg = <0xc000 0x400>;
35                         gpio-controller;
36                         #gpio-cells = <2>;
37                         interrupts = <0 0xc0 0 IRQ_TYPE_NONE>,
38                                      <0 0xc1 0 IRQ_TYPE_NONE>,
39                                      <0 0xc2 0 IRQ_TYPE_NONE>,
40                                      <0 0xc3 0 IRQ_TYPE_NONE>;
41                 };
42
43                 pm8916_mpps: mpps@a000 {
44                         compatible = "qcom,pm8916-mpp";
45                         reg = <0xa000 0x400>;
46                         gpio-controller;
47                         #gpio-cells = <2>;
48                         interrupts = <0 0xa0 0 IRQ_TYPE_NONE>,
49                                      <0 0xa1 0 IRQ_TYPE_NONE>,
50                                      <0 0xa2 0 IRQ_TYPE_NONE>,
51                                      <0 0xa3 0 IRQ_TYPE_NONE>;
52                 };
53
54                 pm8916_temp: temp-alarm@2400 {
55                         compatible = "qcom,spmi-temp-alarm";
56                         reg = <0x2400 0x100>;
57                         interrupts = <0 0x24 0 IRQ_TYPE_EDGE_RISING>;
58                         io-channels = <&pm8916_vadc VADC_DIE_TEMP>;
59                         io-channel-names = "thermal";
60                         #thermal-sensor-cells = <0>;
61                 };
62
63                 pm8916_vadc: vadc@3100 {
64                         compatible = "qcom,spmi-vadc";
65                         reg = <0x3100 0x100>;
66                         interrupts = <0x0 0x31 0x0 IRQ_TYPE_EDGE_RISING>;
67                         #address-cells = <1>;
68                         #size-cells = <0>;
69                         #io-channel-cells = <1>;
70
71                         usb_in {
72                                 reg = <VADC_USBIN>;
73                                 qcom,pre-scaling = <1 10>;
74                         };
75                         vph_pwr {
76                                 reg = <VADC_VSYS>;
77                                 qcom,pre-scaling = <1 3>;
78                         };
79                         die_temp {
80                                 reg = <VADC_DIE_TEMP>;
81                         };
82                         ref_625mv {
83                                 reg = <VADC_REF_625MV>;
84                         };
85                         ref_1250v {
86                                 reg = <VADC_REF_1250MV>;
87                         };
88                         ref_gnd {
89                                 reg = <VADC_GND_REF>;
90                         };
91                         ref_vdd {
92                                 reg = <VADC_VDD_VADC>;
93                         };
94                 };
95         };
96
97         pm8916_1: pm8916@1 {
98                 compatible = "qcom,spmi-pmic";
99                 reg = <0x1 SPMI_USID>;
100                 #address-cells = <1>;
101                 #size-cells = <0>;
102
103                 regulators {
104                         compatible = "qcom,pm8916-regulators";
105                         #address-cells = <1>;
106                         #size-cells = <1>;
107
108                         s1@1400 {
109                                 reg = <0x1400 0x300>;
110                                 status = "disabled";
111                         };
112
113                         pm8916_spmi_s2: s2@1700 {
114                                 reg = <0x1700 0x300>;
115                                 status = "ok";
116                                 regulator-min-microvolt = <1050000>;
117                                 regulator-max-microvolt = <1350000>;
118                         };
119
120                         s3@1a00 {
121                                 reg = <0x1a00 0x300>;
122                                 status = "disabled";
123                         };
124
125                         s4@1d00 {
126                                 reg = <0x1d00 0x300>;
127                                 status = "disabled";
128                         };
129
130                         l1@4000 {
131                                 reg = <0x4000 0x100>;
132                                 status = "disabled";
133                         };
134
135                         l2@4100 {
136                                 reg = <0x4100 0x100>;
137                                 status = "disabled";
138                         };
139
140                         l3@4200 {
141                                 reg = <0x4200 0x100>;
142                                 status = "disabled";
143                         };
144
145                         l4@4300 {
146                                 reg = <0x4300 0x100>;
147                                 status = "disabled";
148                         };
149
150                         l5@4400 {
151                                 reg = <0x4400 0x100>;
152                                 status = "disabled";
153                         };
154
155                         l6@4500 {
156                                 reg = <0x4500 0x100>;
157                                 status = "disabled";
158                         };
159
160                         l7@4600 {
161                                 reg = <0x4600 0x100>;
162                                 status = "disabled";
163                         };
164
165                         l8@4700 {
166                                 reg = <0x4700 0x100>;
167                                 status = "disabled";
168                         };
169
170                         l9@4800 {
171                                 reg = <0x4800 0x100>;
172                                 status = "disabled";
173                         };
174
175                         l10@4900 {
176                                 reg = <0x4900 0x100>;
177                                 status = "disabled";
178                         };
179
180                         l11@4a00 {
181                                 reg = <0x4a00 0x100>;
182                                 status = "disabled";
183                         };
184
185                         l12@4b00 {
186                                 reg = <0x4b00 0x100>;
187                                 status = "disabled";
188                         };
189
190                         l13@4c00 {
191                                 reg = <0x4c00 0x100>;
192                                 status = "disabled";
193                         };
194
195                         l14@4d00 {
196                                 reg = <0x4d00 0x100>;
197                                 status = "disabled";
198                         };
199
200                         l15@4e00 {
201                                 reg = <0x4e00 0x100>;
202                                 status = "disabled";
203                         };
204
205                         l16@4f00 {
206                                 reg = <0x4f00 0x100>;
207                                 status = "disabled";
208                         };
209
210                         l17@5000 {
211                                 reg = <0x5000 0x100>;
212                                 status = "disabled";
213                         };
214
215                         l18@5100 {
216                                 reg = <0x5100 0x100>;
217                                 status = "disabled";
218                         };
219                 };
220
221                 wcd_codec: codec@f000 {
222                         compatible = "qcom,apq8016-wcd-codec";
223                         reg = <0xf000 0x200>;
224                         #sound-dai-cells = <1>;
225                         vddio-supply = <&pm8916_l5>;
226                         vdd-pa-supply = <&pm8916_s4>;
227                         vdd-mic-bias-supply = <&pm8916_l13>;
228                 };
229         };
230 };