]> git.proxmox.com Git - mirror_ubuntu-zesty-kernel.git/blob - arch/arm64/boot/dts/qcom/pm8916.dtsi
fcc9303da10056441852a54a0acaffa70535485c
[mirror_ubuntu-zesty-kernel.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 = <0>;
225 vddio-supply = <&pm8916_l5>;
226 vdd-pa-supply = <&pm8916_s4>;
227 };
228 };
229 };