]>
Commit | Line | Data |
---|---|---|
53633a89 TR |
1 | // SPDX-License-Identifier: BSD-3-Clause |
2 | /* | |
3 | * Copyright (c) 2022, Luca Weiss <[email protected]> | |
4 | */ | |
5 | /dts-v1/; | |
6 | ||
7 | #include <dt-bindings/leds/common.h> | |
8 | #include "sdm632.dtsi" | |
9 | #include "pm8953.dtsi" | |
10 | #include "pmi632.dtsi" | |
11 | ||
12 | / { | |
13 | model = "Fairphone 3"; | |
14 | compatible = "fairphone,fp3", "qcom,sdm632"; | |
15 | chassis-type = "handset"; | |
16 | qcom,msm-id = <349 0>; | |
17 | qcom,board-id = <8 0x10000>; | |
18 | ||
19 | aliases { | |
20 | mmc0 = &sdhc_1; | |
21 | mmc1 = &sdhc_2; | |
22 | serial0 = &uart_0; | |
23 | }; | |
24 | ||
25 | chosen { | |
26 | stdout-path = "serial0:115200n8"; | |
27 | }; | |
28 | ||
29 | gpio-keys { | |
30 | compatible = "gpio-keys"; | |
31 | ||
32 | key-volume-up { | |
33 | label = "volume_up"; | |
34 | linux,code = <KEY_VOLUMEUP>; | |
35 | gpios = <&tlmm 85 GPIO_ACTIVE_LOW>; | |
36 | }; | |
37 | }; | |
38 | ||
39 | vph_pwr: vph-pwr-regulator { | |
40 | compatible = "regulator-fixed"; | |
41 | regulator-name = "vph_pwr"; | |
42 | regulator-always-on; | |
43 | regulator-boot-on; | |
44 | }; | |
45 | }; | |
46 | ||
47 | &hsusb_phy { | |
48 | status = "okay"; | |
49 | vdd-supply = <&pm8953_l3>; | |
50 | vdda-pll-supply = <&pm8953_l7>; | |
51 | vdda-phy-dpdm-supply = <&pm8953_l13>; | |
52 | }; | |
53 | ||
54 | &i2c_3 { | |
55 | status = "okay"; | |
56 | ||
57 | touchscreen@48 { | |
58 | compatible = "himax,hx83112b"; | |
59 | reg = <0x48>; | |
60 | interrupt-parent = <&tlmm>; | |
61 | interrupts = <65 IRQ_TYPE_LEVEL_LOW>; | |
62 | touchscreen-size-x = <1080>; | |
63 | touchscreen-size-y = <2160>; | |
64 | reset-gpios = <&tlmm 64 GPIO_ACTIVE_LOW>; | |
65 | }; | |
66 | }; | |
67 | ||
68 | &i2c_5 { | |
69 | status = "okay"; | |
70 | ||
71 | nfc@28 { | |
72 | compatible = "nxp,nq310", "nxp,nxp-nci-i2c"; | |
73 | reg = <0x28>; | |
74 | ||
75 | interrupt-parent = <&tlmm>; | |
76 | interrupts = <17 IRQ_TYPE_LEVEL_HIGH>; | |
77 | ||
78 | enable-gpios = <&tlmm 16 GPIO_ACTIVE_HIGH>; | |
79 | firmware-gpios = <&tlmm 62 GPIO_ACTIVE_HIGH>; | |
80 | }; | |
81 | }; | |
82 | ||
93743d24 TR |
83 | &lpass { |
84 | status = "okay"; | |
85 | }; | |
86 | ||
53633a89 TR |
87 | &pm8953_resin { |
88 | status = "okay"; | |
89 | linux,code = <KEY_VOLUMEDOWN>; | |
90 | }; | |
91 | ||
92 | &pmi632_lpg { | |
93 | status = "okay"; | |
94 | ||
95 | multi-led { | |
96 | color = <LED_COLOR_ID_RGB>; | |
97 | function = LED_FUNCTION_STATUS; | |
98 | ||
99 | #address-cells = <1>; | |
100 | #size-cells = <0>; | |
101 | ||
102 | led@1 { | |
103 | reg = <1>; | |
104 | color = <LED_COLOR_ID_RED>; | |
105 | }; | |
106 | ||
107 | led@2 { | |
108 | reg = <2>; | |
109 | color = <LED_COLOR_ID_GREEN>; | |
110 | }; | |
111 | ||
112 | led@3 { | |
113 | reg = <3>; | |
114 | color = <LED_COLOR_ID_BLUE>; | |
115 | }; | |
116 | }; | |
117 | }; | |
118 | ||
762f85bb TR |
119 | &pmi632_typec { |
120 | status = "okay"; | |
121 | ||
122 | connector { | |
123 | compatible = "usb-c-connector"; | |
124 | ||
125 | power-role = "dual"; | |
126 | data-role = "dual"; | |
127 | self-powered; | |
128 | ||
129 | typec-power-opmode = "default"; | |
130 | pd-disable; | |
131 | ||
132 | port { | |
133 | pmi632_hs_in: endpoint { | |
134 | remote-endpoint = <&usb_dwc3_hs>; | |
135 | }; | |
136 | }; | |
137 | }; | |
138 | }; | |
139 | ||
140 | &pmi632_vbus { | |
141 | regulator-min-microamp = <500000>; | |
142 | regulator-max-microamp = <1000000>; | |
143 | status = "okay"; | |
144 | }; | |
145 | ||
6b642aca TR |
146 | &pmi632_vib { |
147 | status = "okay"; | |
148 | }; | |
149 | ||
53633a89 TR |
150 | &sdhc_1 { |
151 | status = "okay"; | |
152 | vmmc-supply = <&pm8953_l8>; | |
153 | vqmmc-supply = <&pm8953_l5>; | |
154 | }; | |
155 | ||
156 | &sdhc_2 { | |
157 | status = "okay"; | |
158 | vmmc-supply = <&pm8953_l11>; | |
159 | vqmmc-supply = <&pm8953_l12>; | |
160 | ||
161 | cd-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; | |
162 | }; | |
163 | ||
164 | &rpm_requests { | |
165 | regulators { | |
166 | compatible = "qcom,rpm-pm8953-regulators"; | |
167 | ||
168 | vdd_l1-supply = <&pm8953_s3>; | |
169 | vdd_l2_l3-supply = <&pm8953_s3>; | |
170 | vdd_l4_l5_l6_l7_l16_l19-supply = <&pm8953_s4>; | |
171 | vdd_l8_l11_l12_l13_l14_l15-supply = <&vph_pwr>; | |
172 | vdd_l9_l10_l17_l18_l22-supply = <&vph_pwr>; | |
173 | ||
174 | pm8953_s3: s3 { | |
175 | regulator-min-microvolt = <984000>; | |
176 | regulator-max-microvolt = <1240000>; | |
177 | }; | |
178 | pm8953_s4: s4 { | |
179 | regulator-min-microvolt = <1036000>; | |
180 | regulator-max-microvolt = <2040000>; | |
181 | }; | |
182 | pm8953_s5: s5 { | |
183 | regulator-min-microvolt = <1036000>; | |
184 | regulator-max-microvolt = <2040000>; | |
185 | }; | |
186 | ||
187 | pm8953_l1: l1 { | |
188 | regulator-min-microvolt = <975000>; | |
189 | regulator-max-microvolt = <1050000>; | |
190 | }; | |
191 | pm8953_l2: l2 { | |
192 | regulator-min-microvolt = <975000>; | |
193 | regulator-max-microvolt = <1175000>; | |
194 | }; | |
195 | pm8953_l3: l3 { | |
196 | regulator-min-microvolt = <925000>; | |
197 | regulator-max-microvolt = <925000>; | |
198 | }; | |
199 | pm8953_l5: l5 { | |
200 | regulator-min-microvolt = <1800000>; | |
201 | regulator-max-microvolt = <1800000>; | |
202 | }; | |
203 | pm8953_l6: l6 { | |
204 | regulator-min-microvolt = <1800000>; | |
205 | regulator-max-microvolt = <1800000>; | |
206 | }; | |
207 | pm8953_l7: l7 { | |
208 | regulator-min-microvolt = <1800000>; | |
209 | regulator-max-microvolt = <1900000>; | |
210 | }; | |
211 | pm8953_l8: l8 { | |
212 | regulator-min-microvolt = <2900000>; | |
213 | regulator-max-microvolt = <2900000>; | |
214 | }; | |
215 | pm8953_l9: l9 { | |
216 | regulator-min-microvolt = <3000000>; | |
217 | regulator-max-microvolt = <3300000>; | |
218 | }; | |
219 | pm8953_l10: l10 { | |
220 | regulator-min-microvolt = <2800000>; | |
221 | regulator-max-microvolt = <3000000>; | |
222 | }; | |
223 | pm8953_l11: l11 { | |
224 | regulator-min-microvolt = <2950000>; | |
225 | regulator-max-microvolt = <2950000>; | |
226 | }; | |
227 | pm8953_l12: l12 { | |
228 | regulator-min-microvolt = <1800000>; | |
229 | regulator-max-microvolt = <2950000>; | |
230 | }; | |
231 | pm8953_l13: l13 { | |
232 | regulator-min-microvolt = <3125000>; | |
233 | regulator-max-microvolt = <3125000>; | |
234 | }; | |
235 | pm8953_l16: l16 { | |
236 | regulator-min-microvolt = <1800000>; | |
237 | regulator-max-microvolt = <1800000>; | |
238 | }; | |
239 | pm8953_l17: l17 { | |
240 | regulator-min-microvolt = <2850000>; | |
241 | regulator-max-microvolt = <2850000>; | |
242 | }; | |
243 | pm8953_l19: l19 { | |
244 | regulator-min-microvolt = <1200000>; | |
245 | regulator-max-microvolt = <1350000>; | |
246 | }; | |
247 | pm8953_l22: l22 { | |
248 | regulator-min-microvolt = <2800000>; | |
249 | regulator-max-microvolt = <2800000>; | |
250 | }; | |
251 | pm8953_l23: l23 { | |
252 | regulator-min-microvolt = <975000>; | |
253 | regulator-max-microvolt = <1225000>; | |
254 | }; | |
255 | }; | |
256 | }; | |
257 | ||
258 | &tlmm { | |
259 | /* | |
260 | * 0-3: unused but protected by TZ | |
261 | * 135-138: fingerprint reader (SPI) | |
262 | */ | |
263 | gpio-reserved-ranges = <0 4>, <135 4>; | |
264 | }; | |
265 | ||
266 | &uart_0 { | |
267 | status = "okay"; | |
268 | }; | |
269 | ||
270 | &usb3 { | |
271 | status = "okay"; | |
272 | }; | |
273 | ||
762f85bb TR |
274 | &usb_dwc3_hs { |
275 | remote-endpoint = <&pmi632_hs_in>; | |
53633a89 | 276 | }; |
93743d24 TR |
277 | |
278 | &wcnss { | |
279 | status = "okay"; | |
280 | ||
281 | vddpx-supply = <&pm8953_l5>; | |
282 | }; | |
283 | ||
284 | &wcnss_iris { | |
285 | compatible = "qcom,wcn3680"; | |
286 | ||
287 | vddxo-supply = <&pm8953_l7>; | |
288 | vddrfa-supply = <&pm8953_l19>; | |
289 | vddpa-supply = <&pm8953_l9>; | |
290 | vdddig-supply = <&pm8953_l5>; | |
291 | }; |