]>
Commit | Line | Data |
---|---|---|
53633a89 TR |
1 | // SPDX-License-Identifier: GPL-2.0 |
2 | /* | |
3 | * SDM845 OnePlus 6(T) (enchilada / fajita) common device tree source | |
4 | * | |
5 | * Copyright (c) 2020, The Linux Foundation. All rights reserved. | |
6 | */ | |
7 | ||
8 | /dts-v1/; | |
9 | ||
10 | #include <dt-bindings/input/linux-event-codes.h> | |
93743d24 | 11 | #include <dt-bindings/leds/common.h> |
53633a89 TR |
12 | #include <dt-bindings/regulator/qcom,rpmh-regulator.h> |
13 | #include <dt-bindings/sound/qcom,q6afe.h> | |
14 | #include <dt-bindings/sound/qcom,q6asm.h> | |
15 | ||
16 | #include "sdm845.dtsi" | |
17 | #include "sdm845-wcd9340.dtsi" | |
18 | #include "pm8998.dtsi" | |
19 | #include "pmi8998.dtsi" | |
20 | ||
21 | /delete-node/ &rmtfs_mem; | |
22 | ||
23 | / { | |
24 | aliases { | |
25 | serial0 = &uart9; | |
26 | serial1 = &uart6; | |
27 | }; | |
28 | ||
29 | chosen { | |
30 | stdout-path = "serial0:115200n8"; | |
31 | }; | |
32 | ||
33 | gpio-hall-sensor { | |
34 | compatible = "gpio-keys"; | |
35 | label = "Hall effect sensor"; | |
36 | ||
37 | pinctrl-0 = <&hall_sensor_default>; | |
38 | pinctrl-names = "default"; | |
39 | ||
40 | event-hall-sensor { | |
41 | gpios = <&tlmm 124 GPIO_ACTIVE_LOW>; | |
42 | label = "Hall Effect Sensor"; | |
43 | linux,input-type = <EV_SW>; | |
44 | linux,code = <SW_LID>; | |
45 | linux,can-disable; | |
46 | wakeup-source; | |
47 | }; | |
48 | }; | |
49 | ||
50 | gpio-keys { | |
51 | compatible = "gpio-keys"; | |
52 | label = "Volume keys"; | |
53 | autorepeat; | |
54 | ||
55 | pinctrl-names = "default"; | |
56 | pinctrl-0 = <&volume_down_gpio &volume_up_gpio>; | |
57 | ||
58 | key-vol-down { | |
59 | label = "Volume down"; | |
60 | linux,code = <KEY_VOLUMEDOWN>; | |
61 | gpios = <&pm8998_gpios 5 GPIO_ACTIVE_LOW>; | |
62 | debounce-interval = <15>; | |
63 | }; | |
64 | ||
65 | key-vol-up { | |
66 | label = "Volume up"; | |
67 | linux,code = <KEY_VOLUMEUP>; | |
68 | gpios = <&pm8998_gpios 6 GPIO_ACTIVE_LOW>; | |
69 | debounce-interval = <15>; | |
70 | }; | |
71 | }; | |
72 | ||
73 | reserved-memory { | |
74 | /* | |
75 | * The rmtfs_mem needs to be guarded due to "XPU limitations" | |
76 | * it is otherwise possible for an allocation adjacent to the | |
77 | * rmtfs_mem region to trigger an XPU violation, causing a crash. | |
78 | */ | |
79 | rmtfs_lower_guard: rmtfs-lower-guard@f5b00000 { | |
80 | no-map; | |
81 | reg = <0 0xf5b00000 0 0x1000>; | |
82 | }; | |
83 | /* | |
84 | * The rmtfs memory region in downstream is 'dynamically allocated' | |
85 | * but given the same address every time. Hard code it as this address is | |
86 | * where the modem firmware expects it to be. | |
87 | */ | |
88 | rmtfs_mem: rmtfs-mem@f5b01000 { | |
89 | compatible = "qcom,rmtfs-mem"; | |
90 | reg = <0 0xf5b01000 0 0x200000>; | |
91 | no-map; | |
92 | ||
93 | qcom,client-id = <1>; | |
94 | qcom,vmid = <QCOM_SCM_VMID_MSS_MSA>; | |
95 | }; | |
96 | rmtfs_upper_guard: rmtfs-upper-guard@f5d01000 { | |
97 | no-map; | |
98 | reg = <0 0xf5d01000 0 0x1000>; | |
99 | }; | |
100 | ||
101 | /* | |
102 | * It seems like reserving the old rmtfs_mem region is also needed to prevent | |
103 | * random crashes which are most likely modem related, more testing needed. | |
104 | */ | |
105 | removed_region: removed-region@88f00000 { | |
106 | no-map; | |
107 | reg = <0 0x88f00000 0 0x1c00000>; | |
108 | }; | |
109 | ||
110 | ramoops: ramoops@ac300000 { | |
111 | compatible = "ramoops"; | |
112 | reg = <0 0xac300000 0 0x400000>; | |
113 | record-size = <0x40000>; | |
114 | console-size = <0x40000>; | |
115 | ftrace-size = <0x40000>; | |
116 | pmsg-size = <0x200000>; | |
117 | ecc-size = <16>; | |
118 | }; | |
119 | }; | |
120 | ||
121 | vph_pwr: vph-pwr-regulator { | |
122 | compatible = "regulator-fixed"; | |
123 | regulator-name = "vph_pwr"; | |
124 | regulator-min-microvolt = <3700000>; | |
125 | regulator-max-microvolt = <3700000>; | |
126 | }; | |
127 | ||
128 | /* | |
129 | * Apparently RPMh does not provide support for PM8998 S4 because it | |
130 | * is always-on; model it as a fixed regulator. | |
131 | */ | |
132 | vreg_s4a_1p8: pm8998-smps4 { | |
133 | compatible = "regulator-fixed"; | |
134 | regulator-name = "vreg_s4a_1p8"; | |
135 | ||
136 | regulator-min-microvolt = <1800000>; | |
137 | regulator-max-microvolt = <1800000>; | |
138 | ||
139 | regulator-always-on; | |
140 | regulator-boot-on; | |
141 | ||
142 | vin-supply = <&vph_pwr>; | |
143 | }; | |
144 | ||
145 | /* | |
146 | * The touchscreen regulator seems to be controlled somehow by a gpio. | |
147 | * Model it as a fixed regulator and keep it on. Without schematics we | |
148 | * don't know how this is actually wired up... | |
149 | */ | |
150 | ts_1p8_supply: ts-1p8-regulator { | |
151 | compatible = "regulator-fixed"; | |
152 | regulator-name = "ts_1p8_supply"; | |
153 | ||
154 | regulator-min-microvolt = <1800000>; | |
155 | regulator-max-microvolt = <1800000>; | |
156 | ||
157 | gpio = <&tlmm 88 0>; | |
158 | enable-active-high; | |
159 | regulator-boot-on; | |
160 | }; | |
161 | }; | |
162 | ||
163 | &adsp_pas { | |
164 | status = "okay"; | |
165 | firmware-name = "qcom/sdm845/oneplus6/adsp.mbn"; | |
166 | }; | |
167 | ||
168 | &apps_rsc { | |
169 | regulators-0 { | |
170 | compatible = "qcom,pm8998-rpmh-regulators"; | |
171 | qcom,pmic-id = "a"; | |
172 | ||
173 | vdd-s1-supply = <&vph_pwr>; | |
174 | vdd-s2-supply = <&vph_pwr>; | |
175 | vdd-s3-supply = <&vph_pwr>; | |
176 | vdd-s4-supply = <&vph_pwr>; | |
177 | vdd-s5-supply = <&vph_pwr>; | |
178 | vdd-s6-supply = <&vph_pwr>; | |
179 | vdd-s7-supply = <&vph_pwr>; | |
180 | vdd-s8-supply = <&vph_pwr>; | |
181 | vdd-s9-supply = <&vph_pwr>; | |
182 | vdd-s10-supply = <&vph_pwr>; | |
183 | vdd-s11-supply = <&vph_pwr>; | |
184 | vdd-s12-supply = <&vph_pwr>; | |
185 | vdd-s13-supply = <&vph_pwr>; | |
186 | vdd-l1-l27-supply = <&vreg_s7a_1p025>; | |
187 | vdd-l2-l8-l17-supply = <&vreg_s3a_1p35>; | |
188 | vdd-l3-l11-supply = <&vreg_s7a_1p025>; | |
189 | vdd-l4-l5-supply = <&vreg_s7a_1p025>; | |
190 | vdd-l6-supply = <&vph_pwr>; | |
191 | vdd-l7-l12-l14-l15-supply = <&vreg_s5a_2p04>; | |
192 | vdd-l9-supply = <&vreg_bob>; | |
193 | vdd-l10-l23-l25-supply = <&vreg_bob>; | |
194 | vdd-l13-l19-l21-supply = <&vreg_bob>; | |
195 | vdd-l16-l28-supply = <&vreg_bob>; | |
196 | vdd-l18-l22-supply = <&vreg_bob>; | |
197 | vdd-l20-l24-supply = <&vreg_bob>; | |
198 | vdd-l26-supply = <&vreg_s3a_1p35>; | |
199 | vin-lvs-1-2-supply = <&vreg_s4a_1p8>; | |
200 | ||
201 | vreg_s3a_1p35: smps3 { | |
202 | regulator-min-microvolt = <1352000>; | |
203 | regulator-max-microvolt = <1352000>; | |
204 | }; | |
205 | ||
206 | vreg_s5a_2p04: smps5 { | |
207 | regulator-min-microvolt = <1904000>; | |
208 | regulator-max-microvolt = <2040000>; | |
209 | }; | |
210 | ||
211 | vreg_s7a_1p025: smps7 { | |
212 | regulator-min-microvolt = <900000>; | |
213 | regulator-max-microvolt = <1028000>; | |
214 | }; | |
215 | ||
216 | vdda_mipi_dsi0_pll: | |
217 | vdda_qlink_lv: | |
218 | vdda_ufs1_core: | |
219 | vdda_usb1_ss_core: | |
220 | vreg_l1a_0p875: ldo1 { | |
221 | regulator-min-microvolt = <880000>; | |
222 | regulator-max-microvolt = <880000>; | |
223 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
224 | }; | |
225 | ||
226 | vreg_l2a_1p2: ldo2 { | |
227 | regulator-min-microvolt = <1200000>; | |
228 | regulator-max-microvolt = <1200000>; | |
229 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
230 | regulator-always-on; | |
231 | }; | |
232 | ||
233 | vreg_l5a_0p8: ldo5 { | |
234 | regulator-min-microvolt = <800000>; | |
235 | regulator-max-microvolt = <800000>; | |
236 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
237 | }; | |
238 | ||
239 | vreg_l7a_1p8: ldo7 { | |
240 | regulator-min-microvolt = <1800000>; | |
241 | regulator-max-microvolt = <1800000>; | |
242 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
243 | }; | |
244 | ||
245 | vdda_qusb_hs0_1p8: | |
246 | vreg_l12a_1p8: ldo12 { | |
247 | regulator-min-microvolt = <1800000>; | |
248 | regulator-max-microvolt = <1800000>; | |
249 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
250 | }; | |
251 | ||
252 | vreg_l14a_1p88: ldo14 { | |
253 | regulator-min-microvolt = <1800000>; | |
254 | regulator-max-microvolt = <1800000>; | |
255 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
256 | regulator-always-on; | |
257 | }; | |
258 | ||
259 | vreg_l17a_1p3: ldo17 { | |
260 | regulator-min-microvolt = <1304000>; | |
261 | regulator-max-microvolt = <1304000>; | |
262 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
263 | }; | |
264 | ||
265 | vreg_l20a_2p95: ldo20 { | |
266 | regulator-min-microvolt = <2704000>; | |
267 | regulator-max-microvolt = <2960000>; | |
268 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
269 | }; | |
270 | ||
271 | vreg_l23a_3p3: ldo23 { | |
272 | regulator-min-microvolt = <3300000>; | |
273 | regulator-max-microvolt = <3312000>; | |
274 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
275 | }; | |
276 | ||
277 | vdda_qusb_hs0_3p1: | |
278 | vreg_l24a_3p075: ldo24 { | |
279 | regulator-min-microvolt = <3088000>; | |
280 | regulator-max-microvolt = <3088000>; | |
281 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
282 | }; | |
283 | ||
284 | vreg_l25a_3p3: ldo25 { | |
285 | regulator-min-microvolt = <3300000>; | |
286 | regulator-max-microvolt = <3312000>; | |
287 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
288 | }; | |
289 | ||
290 | vdda_mipi_dsi0_1p2: | |
291 | vdda_ufs1_1p2: | |
292 | vreg_l26a_1p2: ldo26 { | |
293 | regulator-min-microvolt = <1200000>; | |
294 | regulator-max-microvolt = <1200000>; | |
295 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
296 | }; | |
297 | ||
298 | vreg_l28a_3p0: ldo28 { | |
299 | regulator-min-microvolt = <2856000>; | |
300 | regulator-max-microvolt = <3008000>; | |
301 | regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; | |
302 | }; | |
303 | }; | |
304 | ||
305 | regulators-1 { | |
306 | compatible = "qcom,pmi8998-rpmh-regulators"; | |
307 | qcom,pmic-id = "b"; | |
308 | ||
309 | vdd-bob-supply = <&vph_pwr>; | |
310 | ||
311 | vreg_bob: bob { | |
312 | regulator-min-microvolt = <3312000>; | |
313 | regulator-max-microvolt = <3600000>; | |
314 | regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>; | |
315 | regulator-allow-bypass; | |
316 | }; | |
317 | }; | |
318 | ||
319 | regulators-2 { | |
320 | compatible = "qcom,pm8005-rpmh-regulators"; | |
321 | qcom,pmic-id = "c"; | |
322 | ||
323 | vdd-s1-supply = <&vph_pwr>; | |
324 | vdd-s2-supply = <&vph_pwr>; | |
325 | vdd-s3-supply = <&vph_pwr>; | |
326 | vdd-s4-supply = <&vph_pwr>; | |
327 | ||
328 | vreg_s3c_0p6: smps3 { | |
329 | regulator-min-microvolt = <600000>; | |
330 | regulator-max-microvolt = <600000>; | |
331 | }; | |
332 | }; | |
333 | }; | |
334 | ||
335 | &cdsp_pas { | |
336 | status = "okay"; | |
337 | firmware-name = "qcom/sdm845/oneplus6/cdsp.mbn"; | |
338 | }; | |
339 | ||
340 | &gcc { | |
341 | protected-clocks = <GCC_QSPI_CORE_CLK>, | |
342 | <GCC_QSPI_CORE_CLK_SRC>, | |
343 | <GCC_QSPI_CNOC_PERIPH_AHB_CLK>, | |
344 | <GCC_LPASS_Q6_AXI_CLK>, | |
345 | <GCC_LPASS_SWAY_CLK>; | |
346 | }; | |
347 | ||
348 | &gmu { | |
349 | status = "okay"; | |
350 | }; | |
351 | ||
352 | &gpu { | |
353 | status = "okay"; | |
354 | ||
355 | zap-shader { | |
356 | memory-region = <&gpu_mem>; | |
357 | firmware-name = "qcom/sdm845/oneplus6/a630_zap.mbn"; | |
358 | }; | |
359 | }; | |
360 | ||
361 | &i2c10 { | |
362 | status = "okay"; | |
363 | clock-frequency = <100000>; | |
364 | ||
365 | bq27441_fg: bq27441-battery@55 { | |
366 | compatible = "ti,bq27411"; | |
367 | status = "okay"; | |
368 | reg = <0x55>; | |
369 | }; | |
370 | }; | |
371 | ||
372 | &i2c12 { | |
373 | status = "okay"; | |
374 | clock-frequency = <400000>; | |
375 | ||
376 | synaptics-rmi4-i2c@20 { | |
377 | compatible = "syna,rmi4-i2c"; | |
378 | reg = <0x20>; | |
379 | #address-cells = <1>; | |
380 | #size-cells = <0>; | |
381 | interrupts-extended = <&tlmm 125 IRQ_TYPE_EDGE_FALLING>; | |
382 | ||
383 | pinctrl-names = "default"; | |
384 | pinctrl-0 = <&ts_default_pins>; | |
385 | ||
386 | vdd-supply = <&vreg_l28a_3p0>; | |
387 | vio-supply = <&ts_1p8_supply>; | |
388 | ||
389 | syna,reset-delay-ms = <200>; | |
390 | syna,startup-delay-ms = <200>; | |
391 | ||
392 | rmi4-f01@1 { | |
393 | reg = <0x01>; | |
394 | syna,nosleep-mode = <1>; | |
395 | }; | |
396 | ||
397 | rmi4_f12: rmi4-f12@12 { | |
398 | reg = <0x12>; | |
399 | touchscreen-x-mm = <68>; | |
400 | touchscreen-y-mm = <144>; | |
401 | syna,sensor-type = <1>; | |
402 | syna,rezero-wait-ms = <200>; | |
403 | }; | |
404 | }; | |
405 | }; | |
406 | ||
407 | &ipa { | |
408 | qcom,gsi-loader = "self"; | |
409 | memory-region = <&ipa_fw_mem>; | |
410 | firmware-name = "qcom/sdm845/oneplus6/ipa_fws.mbn"; | |
411 | status = "okay"; | |
412 | }; | |
413 | ||
414 | &mdss { | |
415 | status = "okay"; | |
416 | }; | |
417 | ||
418 | &mdss_dsi0 { | |
419 | status = "okay"; | |
420 | vdda-supply = <&vdda_mipi_dsi0_1p2>; | |
421 | ||
422 | /* | |
423 | * Both devices use different panels but all other properties | |
424 | * are common. Compatible line is declared in device dts. | |
425 | */ | |
426 | display_panel: panel@0 { | |
427 | status = "disabled"; | |
428 | ||
429 | reg = <0>; | |
430 | ||
431 | vddio-supply = <&vreg_l14a_1p88>; | |
432 | ||
433 | reset-gpios = <&tlmm 6 GPIO_ACTIVE_LOW>; | |
434 | ||
435 | pinctrl-names = "default"; | |
436 | pinctrl-0 = <&panel_reset_pins &panel_te_pin &panel_esd_pin>; | |
437 | ||
438 | port { | |
439 | panel_in: endpoint { | |
440 | remote-endpoint = <&mdss_dsi0_out>; | |
441 | }; | |
442 | }; | |
443 | }; | |
444 | }; | |
445 | ||
446 | &mdss_dsi0_out { | |
447 | remote-endpoint = <&panel_in>; | |
448 | data-lanes = <0 1 2 3>; | |
449 | }; | |
450 | ||
451 | &mdss_dsi0_phy { | |
452 | status = "okay"; | |
453 | vdds-supply = <&vdda_mipi_dsi0_pll>; | |
454 | }; | |
455 | ||
456 | /* Modem/wifi */ | |
457 | &mss_pil { | |
458 | status = "okay"; | |
459 | firmware-name = "qcom/sdm845/oneplus6/mba.mbn", "qcom/sdm845/oneplus6/modem.mbn"; | |
460 | }; | |
461 | ||
462 | &pm8998_gpios { | |
463 | volume_down_gpio: pm8998-gpio5-state { | |
464 | pinconf { | |
465 | pins = "gpio5"; | |
466 | function = "normal"; | |
467 | input-enable; | |
468 | bias-pull-up; | |
469 | qcom,drive-strength = <0>; | |
470 | }; | |
471 | }; | |
472 | ||
473 | volume_up_gpio: pm8998-gpio6-state { | |
474 | pinconf { | |
475 | pins = "gpio6"; | |
476 | function = "normal"; | |
477 | input-enable; | |
478 | bias-pull-up; | |
479 | qcom,drive-strength = <0>; | |
480 | }; | |
481 | }; | |
482 | }; | |
483 | ||
484 | &pmi8998_charger { | |
485 | status = "okay"; | |
486 | }; | |
487 | ||
93743d24 TR |
488 | &pmi8998_flash { |
489 | status = "okay"; | |
490 | ||
491 | led-0 { | |
492 | function = LED_FUNCTION_FLASH; | |
493 | color = <LED_COLOR_ID_WHITE>; | |
494 | led-sources = <1>; | |
495 | led-max-microamp = <500000>; | |
496 | flash-max-microamp = <1500000>; | |
497 | flash-max-timeout-us = <1280000>; | |
498 | }; | |
499 | ||
500 | led-1 { | |
501 | function = LED_FUNCTION_FLASH; | |
502 | color = <LED_COLOR_ID_YELLOW>; | |
503 | led-sources = <2>; | |
504 | led-max-microamp = <500000>; | |
505 | flash-max-microamp = <1500000>; | |
506 | flash-max-timeout-us = <1280000>; | |
507 | }; | |
508 | }; | |
509 | ||
53633a89 TR |
510 | &q6afedai { |
511 | qi2s@22 { | |
512 | reg = <22>; | |
513 | qcom,sd-lines = <1>; | |
514 | }; | |
515 | ||
516 | qi2s@23 { | |
517 | reg = <23>; | |
518 | qcom,sd-lines = <0>; | |
519 | }; | |
520 | }; | |
521 | ||
522 | &q6asmdai { | |
523 | dai@0 { | |
524 | reg = <0>; | |
525 | }; | |
526 | ||
527 | dai@1 { | |
528 | reg = <1>; | |
529 | }; | |
530 | ||
531 | dai@2 { | |
532 | reg = <2>; | |
533 | }; | |
534 | ||
535 | dai@3 { | |
536 | reg = <3>; | |
537 | }; | |
538 | ||
539 | dai@4 { | |
540 | reg = <4>; | |
541 | }; | |
542 | ||
543 | dai@5 { | |
544 | reg = <5>; | |
545 | }; | |
546 | }; | |
547 | ||
548 | &qupv3_id_1 { | |
549 | status = "okay"; | |
550 | }; | |
551 | ||
552 | &qupv3_id_0 { | |
553 | status = "okay"; | |
554 | }; | |
555 | ||
556 | &qup_i2c10_default { | |
557 | drive-strength = <2>; | |
558 | bias-disable; | |
559 | }; | |
560 | ||
561 | &qup_i2c12_default { | |
562 | drive-strength = <2>; | |
563 | bias-disable; | |
564 | }; | |
565 | ||
566 | &qup_uart9_rx { | |
567 | drive-strength = <2>; | |
568 | bias-pull-up; | |
569 | }; | |
570 | ||
571 | &qup_uart9_tx { | |
572 | drive-strength = <2>; | |
573 | bias-disable; | |
574 | }; | |
575 | ||
576 | &slpi_pas { | |
577 | firmware-name = "qcom/sdm845/oneplus6/slpi.mbn"; | |
578 | status = "okay"; | |
579 | }; | |
580 | ||
581 | &sound { | |
582 | compatible = "qcom,sdm845-sndcard"; | |
583 | pinctrl-0 = <&quat_mi2s_active &quat_mi2s_sd0_active &quat_mi2s_sd1_active>; | |
584 | pinctrl-names = "default"; | |
585 | status = "okay"; | |
586 | ||
587 | mm1-dai-link { | |
588 | link-name = "MultiMedia1"; | |
589 | cpu { | |
590 | sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>; | |
591 | }; | |
592 | }; | |
593 | ||
594 | mm2-dai-link { | |
595 | link-name = "MultiMedia2"; | |
596 | cpu { | |
597 | sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>; | |
598 | }; | |
599 | }; | |
600 | ||
601 | mm3-dai-link { | |
602 | link-name = "MultiMedia3"; | |
603 | cpu { | |
604 | sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>; | |
605 | }; | |
606 | }; | |
607 | ||
608 | mm4-dai-link { | |
609 | link-name = "MultiMedia4"; | |
610 | cpu { | |
611 | sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA4>; | |
612 | }; | |
613 | }; | |
614 | ||
615 | mm5-dai-link { | |
616 | link-name = "MultiMedia5"; | |
617 | cpu { | |
618 | sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA5>; | |
619 | }; | |
620 | }; | |
621 | ||
622 | mm6-dai-link { | |
623 | link-name = "MultiMedia6"; | |
624 | cpu { | |
625 | sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA6>; | |
626 | }; | |
627 | }; | |
628 | ||
629 | speaker_playback_dai: speaker-dai-link { | |
630 | link-name = "Speaker Playback"; | |
631 | cpu { | |
632 | sound-dai = <&q6afedai QUATERNARY_MI2S_RX>; | |
633 | }; | |
634 | ||
635 | platform { | |
636 | sound-dai = <&q6routing>; | |
637 | }; | |
638 | }; | |
639 | ||
640 | slim-dai-link { | |
641 | link-name = "SLIM Playback 1"; | |
642 | cpu { | |
643 | sound-dai = <&q6afedai SLIMBUS_0_RX>; | |
644 | }; | |
645 | ||
646 | platform { | |
647 | sound-dai = <&q6routing>; | |
648 | }; | |
649 | ||
650 | codec { | |
651 | sound-dai = <&wcd9340 0>; | |
652 | }; | |
653 | }; | |
654 | ||
655 | slimcap-dai-link { | |
656 | link-name = "SLIM Capture 1"; | |
657 | cpu { | |
658 | sound-dai = <&q6afedai SLIMBUS_0_TX>; | |
659 | }; | |
660 | ||
661 | platform { | |
662 | sound-dai = <&q6routing>; | |
663 | }; | |
664 | ||
665 | codec { | |
666 | sound-dai = <&wcd9340 1>; | |
667 | }; | |
668 | }; | |
669 | ||
670 | slim2-dai-link { | |
671 | link-name = "SLIM Playback 2"; | |
672 | cpu { | |
673 | sound-dai = <&q6afedai SLIMBUS_1_RX>; | |
674 | }; | |
675 | ||
676 | platform { | |
677 | sound-dai = <&q6routing>; | |
678 | }; | |
679 | ||
680 | codec { | |
681 | sound-dai = <&wcd9340 2>; /* AIF2_PB */ | |
682 | }; | |
683 | }; | |
684 | ||
685 | slimcap2-dai-link { | |
686 | link-name = "SLIM Capture 2"; | |
687 | cpu { | |
688 | sound-dai = <&q6afedai SLIMBUS_1_TX>; | |
689 | }; | |
690 | ||
691 | platform { | |
692 | sound-dai = <&q6routing>; | |
693 | }; | |
694 | ||
695 | codec { | |
696 | sound-dai = <&wcd9340 3>; /* AIF2_CAP */ | |
697 | }; | |
698 | }; | |
699 | ||
700 | slimcap3-dai-link { | |
701 | link-name = "SLIM Capture 3"; | |
702 | cpu { | |
703 | sound-dai = <&q6afedai SLIMBUS_2_TX>; | |
704 | }; | |
705 | ||
706 | platform { | |
707 | sound-dai = <&q6routing>; | |
708 | }; | |
709 | ||
710 | codec { | |
711 | sound-dai = <&wcd9340 5>; /* AIF3_CAP */ | |
712 | }; | |
713 | }; | |
714 | }; | |
715 | ||
716 | &uart6 { | |
717 | status = "okay"; | |
718 | ||
719 | pinctrl-0 = <&qup_uart6_4pin>; | |
720 | ||
721 | bluetooth { | |
722 | compatible = "qcom,wcn3990-bt"; | |
723 | ||
724 | /* | |
725 | * This path is relative to the qca/ | |
726 | * subdir under lib/firmware. | |
727 | */ | |
728 | firmware-name = "oneplus6/crnv21.bin"; | |
729 | ||
730 | vddio-supply = <&vreg_s4a_1p8>; | |
731 | vddxo-supply = <&vreg_l7a_1p8>; | |
732 | vddrf-supply = <&vreg_l17a_1p3>; | |
733 | vddch0-supply = <&vreg_l25a_3p3>; | |
734 | max-speed = <3200000>; | |
735 | }; | |
736 | }; | |
737 | ||
738 | &uart9 { | |
739 | label = "LS-UART1"; | |
740 | status = "okay"; | |
741 | }; | |
742 | ||
743 | &ufs_mem_hc { | |
744 | status = "okay"; | |
745 | ||
746 | reset-gpios = <&tlmm 150 GPIO_ACTIVE_LOW>; | |
747 | ||
748 | vcc-supply = <&vreg_l20a_2p95>; | |
749 | vcc-max-microamp = <600000>; | |
750 | }; | |
751 | ||
752 | &ufs_mem_phy { | |
753 | status = "okay"; | |
754 | ||
755 | vdda-phy-supply = <&vdda_ufs1_core>; | |
756 | vdda-pll-supply = <&vdda_ufs1_1p2>; | |
757 | }; | |
758 | ||
759 | &usb_1 { | |
760 | status = "okay"; | |
761 | ||
762 | /* | |
763 | * disable USB3 clock requirement as the device only supports | |
764 | * USB2. | |
765 | */ | |
766 | qcom,select-utmi-as-pipe-clk; | |
767 | }; | |
768 | ||
769 | &usb_1_dwc3 { | |
770 | /* | |
771 | * We don't have the capability to switch modes yet. | |
772 | */ | |
773 | dr_mode = "peripheral"; | |
774 | ||
775 | /* fastest mode for USB 2 */ | |
776 | maximum-speed = "high-speed"; | |
777 | ||
778 | /* Remove USB3 phy as it's unused on this device. */ | |
779 | phys = <&usb_1_hsphy>; | |
780 | phy-names = "usb2-phy"; | |
781 | }; | |
782 | ||
783 | &usb_1_hsphy { | |
784 | status = "okay"; | |
785 | ||
786 | vdd-supply = <&vdda_usb1_ss_core>; | |
787 | vdda-pll-supply = <&vdda_qusb_hs0_1p8>; | |
788 | vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>; | |
789 | ||
790 | qcom,imp-res-offset-value = <8>; | |
791 | qcom,hstx-trim-value = <QUSB2_V2_HSTX_TRIM_21_6_MA>; | |
792 | qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_5_PERCENT>; | |
793 | qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>; | |
794 | }; | |
795 | ||
796 | &tlmm { | |
797 | gpio-reserved-ranges = <0 4>, <81 4>; | |
798 | ||
799 | hall_sensor_default: hall-sensor-default-state { | |
800 | pins = "gpio124"; | |
801 | function = "gpio"; | |
802 | drive-strength = <2>; | |
803 | bias-disable; | |
804 | }; | |
805 | ||
806 | tri_state_key_default: tri-state-key-default-state { | |
807 | pins = "gpio40", "gpio42", "gpio26"; | |
808 | function = "gpio"; | |
809 | drive-strength = <2>; | |
810 | bias-disable; | |
811 | }; | |
812 | ||
813 | ts_default_pins: ts-int-state { | |
814 | pins = "gpio99", "gpio125"; | |
815 | function = "gpio"; | |
816 | drive-strength = <16>; | |
817 | bias-pull-up; | |
818 | }; | |
819 | ||
820 | panel_reset_pins: panel-reset-state { | |
821 | pins = "gpio6", "gpio25", "gpio26"; | |
822 | function = "gpio"; | |
823 | drive-strength = <8>; | |
824 | bias-disable; | |
825 | }; | |
826 | ||
827 | panel_te_pin: panel-te-state { | |
828 | pins = "gpio10"; | |
829 | function = "mdp_vsync"; | |
830 | drive-strength = <2>; | |
831 | bias-disable; | |
832 | }; | |
833 | ||
834 | panel_esd_pin: panel-esd-state { | |
835 | pins = "gpio30"; | |
836 | function = "gpio"; | |
837 | drive-strength = <2>; | |
838 | bias-pull-down; | |
839 | }; | |
840 | ||
841 | speaker_default: speaker-default-state { | |
842 | pins = "gpio69"; | |
843 | function = "gpio"; | |
844 | drive-strength = <16>; | |
845 | bias-pull-up; | |
846 | output-high; | |
847 | }; | |
848 | }; | |
849 | ||
850 | &venus { | |
851 | status = "okay"; | |
852 | firmware-name = "qcom/sdm845/oneplus6/venus.mbn"; | |
853 | }; | |
854 | ||
855 | &wcd9340 { | |
856 | pinctrl-0 = <&wcd_intr_default>; | |
857 | pinctrl-names = "default"; | |
858 | reset-gpios = <&tlmm 64 GPIO_ACTIVE_HIGH>; | |
859 | vdd-buck-supply = <&vreg_s4a_1p8>; | |
860 | vdd-buck-sido-supply = <&vreg_s4a_1p8>; | |
861 | vdd-tx-supply = <&vreg_s4a_1p8>; | |
862 | vdd-rx-supply = <&vreg_s4a_1p8>; | |
863 | vdd-io-supply = <&vreg_s4a_1p8>; | |
864 | }; | |
865 | ||
866 | &wifi { | |
867 | status = "okay"; | |
868 | vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>; | |
869 | vdd-1.8-xo-supply = <&vreg_l7a_1p8>; | |
870 | vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; | |
871 | vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; | |
872 | vdd-3.3-ch1-supply = <&vreg_l23a_3p3>; | |
873 | ||
874 | qcom,snoc-host-cap-8bit-quirk; | |
875 | }; |