1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3 * Copyright (c) 2014-2016, The Linux Foundation. All rights reserved.
4 */
5
6 #include "msm8996.dtsi"
7 #include "pm8994.dtsi"
8 #include "pmi8994.dtsi"
9 #include <dt-bindings/input/input.h>
10 #include <dt-bindings/gpio/gpio.h>
11 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
12 #include <dt-bindings/sound/qcom,q6afe.h>
13 #include <dt-bindings/sound/qcom,q6asm.h>
14
15 /*
16 * GPIO name legend: proper name = the GPIO line is used as GPIO
17 * NC = not connected (pin out but not routed from the chip to
18 * anything the board)
19 * "[PER]" = pin is muxed for [peripheral] (not GPIO)
20 * LSEC = Low Speed External Connector
21 * P HSEC = Primary High Speed External Connector
22 * S HSEC = Secondary High Speed External Connector
23 * J14 = Camera Connector
24 * TP = Test Points
25 *
26 * Line names are taken from the schematic "DragonBoard 820c",
27 * drawing no: LM25-P2751-1
28 *
29 * For the lines routed to the external connectors the
30 * lines are named after the 96Boards CE Specification 1.0,
31 * Appendix "Expansion Connector Signal Description".
32 *
33 * When the 96Board naming of a line and the schematic name of
34 * the same line are in conflict, the 96Board specification
35 * takes precedence, which means that the external UART on the
36 * LSEC is named UART0 while the schematic and SoC names this
37 * UART3. This is only for the informational lines i.e. "[FOO]",
38 * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
39 * ones actually used for GPIO.
40 */
41
42 / {
43 aliases {
44 serial0 = &blsp2_uart2;
45 serial1 = &blsp2_uart3;
46 serial2 = &blsp1_uart2;
47 i2c0 = &blsp1_i2c3;
48 i2c1 = &blsp2_i2c1;
49 i2c2 = &blsp2_i2c1;
50 spi0 = &blsp1_spi1;
51 spi1 = &blsp2_spi6;
52 };
53
54 chosen {
55 stdout-path = "serial0:115200n8";
56 };
57
58 clocks {
59 compatible = "simple-bus";
60 divclk4: divclk4 {
61 compatible = "fixed-clock";
62 #clock-cells = <0>;
63 clock-frequency = <32768>;
64 clock-output-names = "divclk4";
65
66 pinctrl-names = "default";
67 pinctrl-0 = <&divclk4_pin_a>;
68 };
69
70 div1_mclk: divclk1 {
71 compatible = "gpio-gate-clock";
72 pinctrl-0 = <&audio_mclk>;
73 pinctrl-names = "default";
74 clocks = <&rpmcc RPM_SMD_DIV_CLK1>;
75 #clock-cells = <0>;
76 enable-gpios = <&pm8994_gpios 15 0>;
77 };
78 };
79
80 gpio_keys {
81 compatible = "gpio-keys";
82 #address-cells = <1>;
83 #size-cells = <0>;
84 autorepeat;
85
86 pinctrl-names = "default";
87 pinctrl-0 = <&volume_up_gpio>;
88
89 button@0 {
90 label = "Volume Up";
91 linux,code = <KEY_VOLUMEUP>;
92 gpios = <&pm8994_gpios 2 GPIO_ACTIVE_LOW>;
93 };
94 };
95
96 usb2_id: usb2-id {
97 compatible = "linux,extcon-usb-gpio";
98 id-gpio = <&pmi8994_gpios 6 GPIO_ACTIVE_HIGH>;
99 pinctrl-names = "default";
100 pinctrl-0 = <&usb2_vbus_det_gpio>;
101 };
102
103 usb3_id: usb3-id {
104 compatible = "linux,extcon-usb-gpio";
105 id-gpio = <&pm8994_gpios 22 GPIO_ACTIVE_HIGH>;
106 pinctrl-names = "default";
107 pinctrl-0 = <&usb3_vbus_det_gpio>;
108 };
109
110 vph_pwr: vph-pwr-regulator {
111 compatible = "regulator-fixed";
112 regulator-name = "vph_pwr";
113 regulator-always-on;
114 regulator-boot-on;
115
116 regulator-min-microvolt = <3700000>;
117 regulator-max-microvolt = <3700000>;
118 };
119
120 wlan_en: wlan-en-1-8v {
121 pinctrl-names = "default";
122 pinctrl-0 = <&wlan_en_gpios>;
123 compatible = "regulator-fixed";
124 regulator-name = "wlan-en-regulator";
125 regulator-min-microvolt = <1800000>;
126 regulator-max-microvolt = <1800000>;
127
128 gpio = <&pm8994_gpios 8 0>;
129
130 /* WLAN card specific delay */
131 startup-delay-us = <70000>;
132 enable-active-high;
133 };
134 };
135
136 &blsp1_i2c3 {
137 /* On Low speed expansion */
138 label = "LS-I2C0";
139 status = "okay";
140 };
141
142 &blsp1_spi1 {
143 /* On Low speed expansion */
144 label = "LS-SPI0";
145 status = "okay";
146 };
147
148 &blsp1_uart2 {
149 label = "BT-UART";
150 status = "okay";
151 pinctrl-names = "default", "sleep";
152 pinctrl-0 = <&blsp1_uart2_default>;
153 pinctrl-1 = <&blsp1_uart2_sleep>;
154
155 bluetooth {
156 compatible = "qcom,qca6174-bt";
157
158 /* bt_disable_n gpio */
159 enable-gpios = <&pm8994_gpios 19 GPIO_ACTIVE_HIGH>;
160
161 clocks = <&divclk4>;
162 };
163 };
164
165 &adsp_pil {
166 status = "okay";
167 };
168
169 &blsp2_i2c1 {
170 /* On High speed expansion */
171 label = "HS-I2C2";
172 status = "okay";
173 };
174
175 &blsp2_i2c1 {
176 /* On Low speed expansion */
177 label = "LS-I2C1";
178 status = "okay";
179 };
180
181 &blsp2_spi6 {
182 /* On High speed expansion */
183 label = "HS-SPI1";
184 status = "okay";
185 };
186
187 &blsp2_uart2 {
188 label = "LS-UART1";
189 status = "okay";
190 pinctrl-names = "default", "sleep";
191 pinctrl-0 = <&blsp2_uart2_2pins_default>;
192 pinctrl-1 = <&blsp2_uart2_2pins_sleep>;
193 };
194
195 &blsp2_uart3 {
196 label = "LS-UART0";
197 status = "disabled";
198 pinctrl-names = "default", "sleep";
199 pinctrl-0 = <&blsp2_uart3_4pins_default>;
200 pinctrl-1 = <&blsp2_uart3_4pins_sleep>;
201 };
202
203 &camss {
204 vdda-supply = <&vreg_l2a_1p25>;
205 };
206
207 &gpu {
208 status = "okay";
209 };
210
211 &hdmi {
212 status = "okay";
213
214 pinctrl-names = "default", "sleep";
215 pinctrl-0 = <&hdmi_hpd_active &hdmi_ddc_active>;
216 pinctrl-1 = <&hdmi_hpd_suspend &hdmi_ddc_suspend>;
217
218 core-vdda-supply = <&vreg_l12a_1p8>;
219 core-vcc-supply = <&vreg_s4a_1p8>;
220 };
221
222 &hdmi_phy {
223 status = "okay";
224
225 vddio-supply = <&vreg_l12a_1p8>;
226 vcca-supply = <&vreg_l28a_0p925>;
227 #phy-cells = <0>;
228 };
229
230 &hsusb_phy1 {
231 status = "okay";
232
233 vdda-pll-supply = <&vreg_l12a_1p8>;
234 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
235 };
236
237 &hsusb_phy2 {
238 status = "okay";
239
240 vdda-pll-supply = <&vreg_l12a_1p8>;
241 vdda-phy-dpdm-supply = <&vreg_l24a_3p075>;
242 };
243
244 &mdp {
245 status = "okay";
246 };
247
248 &mdss {
249 status = "okay";
250 };
251
252 &mmcc {
253 vdd-gfx-supply = <&vdd_gfx>;
254 };
255
256 &pm8994_resin {
257 status = "okay";
258 linux,code = <KEY_VOLUMEDOWN>;
259 };
260
261 &tlmm {
262 gpio-line-names =
263 "[SPI0_DOUT]", /* GPIO_0, BLSP1_SPI_MOSI, LSEC pin 14 */
264 "[SPI0_DIN]", /* GPIO_1, BLSP1_SPI_MISO, LSEC pin 10 */
265 "[SPI0_CS]", /* GPIO_2, BLSP1_SPI_CS_N, LSEC pin 12 */
266 "[SPI0_SCLK]", /* GPIO_3, BLSP1_SPI_CLK, LSEC pin 8 */
267 "[UART1_TxD]", /* GPIO_4, BLSP8_UART_TX, LSEC pin 11 */
268 "[UART1_RxD]", /* GPIO_5, BLSP8_UART_RX, LSEC pin 13 */
269 "[I2C1_SDA]", /* GPIO_6, BLSP8_I2C_SDA, LSEC pin 21 */
270 "[I2C1_SCL]", /* GPIO_7, BLSP8_I2C_SCL, LSEC pin 19 */
271 "GPIO-H", /* GPIO_8, LCD0_RESET_N, LSEC pin 30 */
272 "TP93", /* GPIO_9 */
273 "GPIO-G", /* GPIO_10, MDP_VSYNC_P, LSEC pin 29 */
274 "[MDP_VSYNC_S]", /* GPIO_11, S HSEC pin 55 */
275 "NC", /* GPIO_12 */
276 "[CSI0_MCLK]", /* GPIO_13, CAM_MCLK0, P HSEC pin 15 */
277 "[CAM_MCLK1]", /* GPIO_14, J14 pin 11 */
278 "[CSI1_MCLK]", /* GPIO_15, CAM_MCLK2, P HSEC pin 17 */
279 "TP99", /* GPIO_16 */
280 "[I2C2_SDA]", /* GPIO_17, CCI_I2C_SDA0, P HSEC pin 34 */
281 "[I2C2_SCL]", /* GPIO_18, CCI_I2C_SCL0, P HSEC pin 32 */
282 "[CCI_I2C_SDA1]", /* GPIO_19, S HSEC pin 38 */
283 "[CCI_I2C_SCL1]", /* GPIO_20, S HSEC pin 36 */
284 "FLASH_STROBE_EN", /* GPIO_21, S HSEC pin 5 */
285 "FLASH_STROBE_TRIG", /* GPIO_22, S HSEC pin 1 */
286 "GPIO-K", /* GPIO_23, CAM2_RST_N, LSEC pin 33 */
287 "GPIO-D", /* GPIO_24, LSEC pin 26 */
288 "GPIO-I", /* GPIO_25, CAM0_RST_N, LSEC pin 31 */
289 "GPIO-J", /* GPIO_26, CAM0_STANDBY_N, LSEC pin 32 */
290 "BLSP6_I2C_SDA", /* GPIO_27 */
291 "BLSP6_I2C_SCL", /* GPIO_28 */
292 "GPIO-B", /* GPIO_29, TS0_RESET_N, LSEC pin 24 */
293 "GPIO30", /* GPIO_30, S HSEC pin 4 */
294 "HDMI_CEC", /* GPIO_31 */
295 "HDMI_DDC_CLOCK", /* GPIO_32 */
296 "HDMI_DDC_DATA", /* GPIO_33 */
297 "HDMI_HOT_PLUG_DETECT", /* GPIO_34 */
298 "PCIE0_RST_N", /* GPIO_35 */
299 "PCIE0_CLKREQ_N", /* GPIO_36 */
300 "PCIE0_WAKE", /* GPIO_37 */
301 "SD_CARD_DET_N", /* GPIO_38 */
302 "TSIF1_SYNC", /* GPIO_39, S HSEC pin 48 */
303 "W_DISABLE_N", /* GPIO_40 */
304 "[BLSP9_UART_TX]", /* GPIO_41 */
305 "[BLSP9_UART_RX]", /* GPIO_42 */
306 "[BLSP2_UART_CTS_N]", /* GPIO_43 */
307 "[BLSP2_UART_RFR_N]", /* GPIO_44 */
308 "[BLSP3_UART_TX]", /* GPIO_45 */
309 "[BLSP3_UART_RX]", /* GPIO_46 */
310 "[I2C0_SDA]", /* GPIO_47, LS_I2C0_SDA, LSEC pin 17 */
311 "[I2C0_SCL]", /* GPIO_48, LS_I2C0_SCL, LSEC pin 15 */
312 "[UART0_TxD]", /* GPIO_49, BLSP9_UART_TX, LSEC pin 5 */
313 "[UART0_RxD]", /* GPIO_50, BLSP9_UART_RX, LSEC pin 7 */
314 "[UART0_CTS]", /* GPIO_51, BLSP9_UART_CTS_N, LSEC pin 3 */
315 "[UART0_RTS]", /* GPIO_52, BLSP9_UART_RFR_N, LSEC pin 9 */
316 "[CODEC_INT1_N]", /* GPIO_53 */
317 "[CODEC_INT2_N]", /* GPIO_54 */
318 "[BLSP7_I2C_SDA]", /* GPIO_55 */
319 "[BLSP7_I2C_SCL]", /* GPIO_56 */
320 "MI2S_MCLK", /* GPIO_57, S HSEC pin 3 */
321 "[PCM_CLK]", /* GPIO_58, QUA_MI2S_SCK, LSEC pin 18 */
322 "[PCM_FS]", /* GPIO_59, QUA_MI2S_WS, LSEC pin 16 */
323 "[PCM_DO]", /* GPIO_60, QUA_MI2S_DATA0, LSEC pin 20 */
324 "[PCM_DI]", /* GPIO_61, QUA_MI2S_DATA1, LSEC pin 22 */
325 "GPIO-E", /* GPIO_62, LSEC pin 27 */
326 "TP87", /* GPIO_63 */
327 "[CODEC_RST_N]", /* GPIO_64 */
328 "[PCM1_CLK]", /* GPIO_65 */
329 "[PCM1_SYNC]", /* GPIO_66 */
330 "[PCM1_DIN]", /* GPIO_67 */
331 "[PCM1_DOUT]", /* GPIO_68 */
332 "AUDIO_REF_CLK", /* GPIO_69 */
333 "SLIMBUS_CLK", /* GPIO_70 */
334 "SLIMBUS_DATA0", /* GPIO_71 */
335 "SLIMBUS_DATA1", /* GPIO_72 */
336 "NC", /* GPIO_73 */
337 "NC", /* GPIO_74 */
338 "NC", /* GPIO_75 */
339 "NC", /* GPIO_76 */
340 "TP94", /* GPIO_77 */
341 "NC", /* GPIO_78 */
342 "TP95", /* GPIO_79 */
343 "GPIO-A", /* GPIO_80, MEMS_RESET_N, LSEC pin 23 */
344 "TP88", /* GPIO_81 */
345 "TP89", /* GPIO_82 */
346 "TP90", /* GPIO_83 */
347 "TP91", /* GPIO_84 */
348 "[SD_DAT0]", /* GPIO_85, BLSP12_SPI_MOSI, P HSEC pin 1 */
349 "[SD_CMD]", /* GPIO_86, BLSP12_SPI_MISO, P HSEC pin 11 */
350 "[SD_DAT3]", /* GPIO_87, BLSP12_SPI_CS_N, P HSEC pin 7 */
351 "[SD_SCLK]", /* GPIO_88, BLSP12_SPI_CLK, P HSEC pin 9 */
352 "TSIF1_CLK", /* GPIO_89, S HSEC pin 42 */
353 "TSIF1_EN", /* GPIO_90, S HSEC pin 46 */
354 "TSIF1_DATA", /* GPIO_91, S HSEC pin 44 */
355 "NC", /* GPIO_92 */
356 "TSIF2_CLK", /* GPIO_93, S HSEC pin 52 */
357 "TSIF2_EN", /* GPIO_94, S HSEC pin 56 */
358 "TSIF2_DATA", /* GPIO_95, S HSEC pin 54 */
359 "TSIF2_SYNC", /* GPIO_96, S HSEC pin 58 */
360 "NC", /* GPIO_97 */
361 "CAM1_STANDBY_N", /* GPIO_98 */
362 "NC", /* GPIO_99 */
363 "NC", /* GPIO_100 */
364 "[LCD1_RESET_N]", /* GPIO_101, S HSEC pin 51 */
365 "BOOT_CONFIG1", /* GPIO_102 */
366 "USB_HUB_RESET", /* GPIO_103 */
367 "CAM1_RST_N", /* GPIO_104 */
368 "NC", /* GPIO_105 */
369 "NC", /* GPIO_106 */
370 "NC", /* GPIO_107 */
371 "NC", /* GPIO_108 */
372 "NC", /* GPIO_109 */
373 "NC", /* GPIO_110 */
374 "NC", /* GPIO_111 */
375 "NC", /* GPIO_112 */
376 "PMI8994_BUA", /* GPIO_113 */
377 "PCIE2_RST_N", /* GPIO_114 */
378 "PCIE2_CLKREQ_N", /* GPIO_115 */
379 "PCIE2_WAKE", /* GPIO_116 */
380 "SSC_IRQ_0", /* GPIO_117 */
381 "SSC_IRQ_1", /* GPIO_118 */
382 "SSC_IRQ_2", /* GPIO_119 */
383 "NC", /* GPIO_120 */
384 "GPIO121", /* GPIO_121, S HSEC pin 2 */
385 "NC", /* GPIO_122 */
386 "SSC_IRQ_6", /* GPIO_123 */
387 "SSC_IRQ_7", /* GPIO_124 */
388 "GPIO-C", /* GPIO_125, TS_INT0, LSEC pin 25 */
389 "BOOT_CONFIG5", /* GPIO_126 */
390 "NC", /* GPIO_127 */
391 "NC", /* GPIO_128 */
392 "BOOT_CONFIG7", /* GPIO_129 */
393 "PCIE1_RST_N", /* GPIO_130 */
394 "PCIE1_CLKREQ_N", /* GPIO_131 */
395 "PCIE1_WAKE", /* GPIO_132 */
396 "GPIO-L", /* GPIO_133, CAM2_STANDBY_N, LSEC pin 34 */
397 "NC", /* GPIO_134 */
398 "NC", /* GPIO_135 */
399 "BOOT_CONFIG8", /* GPIO_136 */
400 "NC", /* GPIO_137 */
401 "NC", /* GPIO_138 */
402 "GPS_SSBI2", /* GPIO_139 */
403 "GPS_SSBI1", /* GPIO_140 */
404 "NC", /* GPIO_141 */
405 "NC", /* GPIO_142 */
406 "NC", /* GPIO_143 */
407 "BOOT_CONFIG6", /* GPIO_144 */
408 "NC", /* GPIO_145 */
409 "NC", /* GPIO_146 */
410 "NC", /* GPIO_147 */
411 "NC", /* GPIO_148 */
412 "NC"; /* GPIO_149 */
413
414 sdc2_cd_on: sdc2_cd_on {
415 mux {
416 pins = "gpio38";
417 function = "gpio";
418 };
419
420 config {
421 pins = "gpio38";
422 bias-pull-up; /* pull up */
423 drive-strength = <16>; /* 16 MA */
424 };
425 };
426
427 sdc2_cd_off: sdc2_cd_off {
428 mux {
429 pins = "gpio38";
430 function = "gpio";
431 };
432
433 config {
434 pins = "gpio38";
435 bias-pull-up; /* pull up */
436 drive-strength = <2>; /* 2 MA */
437 };
438 };
439
440 blsp1_uart2_default: blsp1_uart2_default {
441 mux {
442 pins = "gpio41", "gpio42", "gpio43", "gpio44";
443 function = "blsp_uart2";
444 };
445
446 config {
447 pins = "gpio41", "gpio42", "gpio43", "gpio44";
448 drive-strength = <16>;
449 bias-disable;
450 };
451 };
452
453 blsp1_uart2_sleep: blsp1_uart2_sleep {
454 mux {
455 pins = "gpio41", "gpio42", "gpio43", "gpio44";
456 function = "gpio";
457 };
458
459 config {
460 pins = "gpio41", "gpio42", "gpio43", "gpio44";
461 drive-strength = <2>;
462 bias-disable;
463 };
464 };
465
466 hdmi_hpd_active: hdmi_hpd_active {
467 mux {
468 pins = "gpio34";
469 function = "hdmi_hot";
470 };
471
472 config {
473 pins = "gpio34";
474 bias-pull-down;
475 drive-strength = <16>;
476 };
477 };
478
479 hdmi_hpd_suspend: hdmi_hpd_suspend {
480 mux {
481 pins = "gpio34";
482 function = "hdmi_hot";
483 };
484
485 config {
486 pins = "gpio34";
487 bias-pull-down;
488 drive-strength = <2>;
489 };
490 };
491
492 hdmi_ddc_active: hdmi_ddc_active {
493 mux {
494 pins = "gpio32", "gpio33";
495 function = "hdmi_ddc";
496 };
497
498 config {
499 pins = "gpio32", "gpio33";
500 drive-strength = <2>;
501 bias-pull-up;
502 };
503 };
504
505 hdmi_ddc_suspend: hdmi_ddc_suspend {
506 mux {
507 pins = "gpio32", "gpio33";
508 function = "hdmi_ddc";
509 };
510
511 config {
512 pins = "gpio32", "gpio33";
513 drive-strength = <2>;
514 bias-pull-down;
515 };
516 };
517 };
518
519 &pcie0 {
520 status = "okay";
521 perst-gpio = <&tlmm 35 GPIO_ACTIVE_LOW>;
522 vddpe-3v3-supply = <&wlan_en>;
523 vdda-supply = <&vreg_l28a_0p925>;
524 };
525
526 &pcie1 {
527 status = "okay";
528 perst-gpio = <&tlmm 130 GPIO_ACTIVE_LOW>;
529 vdda-supply = <&vreg_l28a_0p925>;
530 };
531
532 &pcie2 {
533 status = "okay";
534 perst-gpio = <&tlmm 114 GPIO_ACTIVE_LOW>;
535 vdda-supply = <&vreg_l28a_0p925>;
536 };
537
538 &pcie_phy {
539 status = "okay";
540
541 vdda-phy-supply = <&vreg_l28a_0p925>;
542 vdda-pll-supply = <&vreg_l12a_1p8>;
543 };
544
545 &pm8994_gpios {
546 gpio-line-names =
547 "NC",
548 "KEY_VOLP_N",
549 "NC",
550 "BL1_PWM",
551 "GPIO-F", /* BL0_PWM, LSEC pin 28 */
552 "BL1_EN",
553 "NC",
554 "WLAN_EN",
555 "NC",
556 "NC",
557 "NC",
558 "NC",
559 "NC",
560 "NC",
561 "DIVCLK1",
562 "DIVCLK2",
563 "DIVCLK3",
564 "DIVCLK4",
565 "BT_EN",
566 "PMIC_SLB",
567 "PMIC_BUA",
568 "USB_VBUS_DET";
569
570 pinctrl-names = "default";
571 pinctrl-0 = <&ls_exp_gpio_f &bt_en_gpios>;
572
573 ls_exp_gpio_f: pm8994_gpio5 {
574 pinconf {
575 pins = "gpio5";
576 output-low;
577 power-source = <2>; // PM8994_GPIO_S4, 1.8V
578 };
579 };
580
581 bt_en_gpios: bt_en_gpios {
582 pinconf {
583 pins = "gpio19";
584 function = PMIC_GPIO_FUNC_NORMAL;
585 output-low;
586 power-source = <PM8994_GPIO_S4>; // 1.8V
587 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
588 bias-pull-down;
589 };
590 };
591
592 wlan_en_gpios: wlan_en_gpios {
593 pinconf {
594 pins = "gpio8";
595 function = PMIC_GPIO_FUNC_NORMAL;
596 output-low;
597 power-source = <PM8994_GPIO_S4>; // 1.8V
598 qcom,drive-strength = <PMIC_GPIO_STRENGTH_LOW>;
599 bias-pull-down;
600 };
601 };
602
603 audio_mclk: clk_div1 {
604 pinconf {
605 pins = "gpio15";
606 function = "func1";
607 power-source = <PM8994_GPIO_S4>; // 1.8V
608 };
609 };
610
611 volume_up_gpio: pm8996_gpio2 {
612 pinconf {
613 pins = "gpio2";
614 function = "normal";
615 input-enable;
616 drive-push-pull;
617 bias-pull-up;
618 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
619 power-source = <PM8994_GPIO_S4>; // 1.8V
620 };
621 };
622
623 divclk4_pin_a: divclk4 {
624 pinconf {
625 pins = "gpio18";
626 function = PMIC_GPIO_FUNC_FUNC2;
627
628 bias-disable;
629 power-source = <PM8994_GPIO_S4>;
630 };
631 };
632
633 usb3_vbus_det_gpio: pm8996_gpio22 {
634 pinconf {
635 pins = "gpio22";
636 function = PMIC_GPIO_FUNC_NORMAL;
637 input-enable;
638 bias-pull-down;
639 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
640 power-source = <PM8994_GPIO_S4>; // 1.8V
641 };
642 };
643 };
644
645 &pm8994_mpps {
646 gpio-line-names =
647 "VDDPX_BIAS",
648 "WIFI_LED",
649 "NC",
650 "BT_LED",
651 "PM_MPP05",
652 "PM_MPP06",
653 "PM_MPP07",
654 "NC";
655 };
656
657 &pm8994_spmi_regulators {
658 qcom,saw-reg = <&saw3>;
659 s9 {
660 qcom,saw-slave;
661 };
662 s10 {
663 qcom,saw-slave;
664 };
665 s11 {
666 qcom,saw-leader;
667 regulator-always-on;
668 regulator-min-microvolt = <980000>;
669 regulator-max-microvolt = <980000>;
670 };
671 };
672
673 &pmi8994_gpios {
674 gpio-line-names =
675 "NC",
676 "SPKR_AMP_EN1",
677 "SPKR_AMP_EN2",
678 "TP61",
679 "NC",
680 "USB2_VBUS_DET",
681 "NC",
682 "NC",
683 "NC",
684 "NC";
685
686 usb2_vbus_det_gpio: pmi8996_gpio6 {
687 pinconf {
688 pins = "gpio6";
689 function = PMIC_GPIO_FUNC_NORMAL;
690 input-enable;
691 bias-pull-down;
692 qcom,drive-strength = <PMIC_GPIO_STRENGTH_NO>;
693 power-source = <PM8994_GPIO_S4>; // 1.8V
694 };
695 };
696 };
697
698 &pmi8994_spmi_regulators {
699 vdd_gfx: s2@1700 {
700 reg = <0x1700 0x100>;
701 regulator-name = "VDD_GFX";
702 regulator-min-microvolt = <980000>;
703 regulator-max-microvolt = <980000>;
704 };
705 };
706
707 &rpm_requests {
708 pm8994-regulators {
709 compatible = "qcom,rpm-pm8994-regulators";
710
711 vdd_s1-supply = <&vph_pwr>;
712 vdd_s2-supply = <&vph_pwr>;
713 vdd_s3-supply = <&vph_pwr>;
714 vdd_s4-supply = <&vph_pwr>;
715 vdd_s5-supply = <&vph_pwr>;
716 vdd_s6-supply = <&vph_pwr>;
717 vdd_s7-supply = <&vph_pwr>;
718 vdd_s8-supply = <&vph_pwr>;
719 vdd_s9-supply = <&vph_pwr>;
720 vdd_s10-supply = <&vph_pwr>;
721 vdd_s11-supply = <&vph_pwr>;
722 vdd_s12-supply = <&vph_pwr>;
723 vdd_l1-supply = <&vreg_s1b_1p025>;
724 vdd_l2_l26_l28-supply = <&vreg_s3a_1p3>;
725 vdd_l3_l11-supply = <&vreg_s3a_1p3>;
726 vdd_l4_l27_l31-supply = <&vreg_s3a_1p3>;
727 vdd_l5_l7-supply = <&vreg_s5a_2p15>;
728 vdd_l6_l12_l32-supply = <&vreg_s5a_2p15>;
729 vdd_l8_l16_l30-supply = <&vph_pwr>;
730 vdd_l9_l10_l18_l22-supply = <&vph_pwr_bbyp>;
731 vdd_l13_l19_l23_l24-supply = <&vph_pwr_bbyp>;
732 vdd_l14_l15-supply = <&vreg_s5a_2p15>;
733 vdd_l17_l29-supply = <&vph_pwr_bbyp>;
734 vdd_l20_l21-supply = <&vph_pwr_bbyp>;
735 vdd_l25-supply = <&vreg_s3a_1p3>;
736 vdd_lvs1_lvs2-supply = <&vreg_s4a_1p8>;
737
738 vreg_s3a_1p3: s3 {
739 regulator-name = "vreg_s3a_1p3";
740 regulator-min-microvolt = <1300000>;
741 regulator-max-microvolt = <1300000>;
742 };
743
744 /**
745 * 1.8v required on LS expansion
746 * for mezzanine boards
747 */
748 vreg_s4a_1p8: s4 {
749 regulator-name = "vreg_s4a_1p8";
750 regulator-min-microvolt = <1800000>;
751 regulator-max-microvolt = <1800000>;
752 regulator-always-on;
753 };
754 vreg_s5a_2p15: s5 {
755 regulator-name = "vreg_s5a_2p15";
756 regulator-min-microvolt = <2150000>;
757 regulator-max-microvolt = <2150000>;
758 };
759 vreg_s7a_1p0: s7 {
760 regulator-name = "vreg_s7a_1p0";
761 regulator-min-microvolt = <800000>;
762 regulator-max-microvolt = <800000>;
763 };
764
765 vreg_l1a_1p0: l1 {
766 regulator-name = "vreg_l1a_1p0";
767 regulator-min-microvolt = <1000000>;
768 regulator-max-microvolt = <1000000>;
769 };
770 vreg_l2a_1p25: l2 {
771 regulator-name = "vreg_l2a_1p25";
772 regulator-min-microvolt = <1250000>;
773 regulator-max-microvolt = <1250000>;
774 };
775 vreg_l3a_0p875: l3 {
776 regulator-name = "vreg_l3a_0p875";
777 regulator-min-microvolt = <850000>;
778 regulator-max-microvolt = <850000>;
779 };
780 vreg_l4a_1p225: l4 {
781 regulator-name = "vreg_l4a_1p225";
782 regulator-min-microvolt = <1225000>;
783 regulator-max-microvolt = <1225000>;
784 };
785 vreg_l6a_1p2: l6 {
786 regulator-name = "vreg_l6a_1p2";
787 regulator-min-microvolt = <1200000>;
788 regulator-max-microvolt = <1200000>;
789 };
790 vreg_l8a_1p8: l8 {
791 regulator-name = "vreg_l8a_1p8";
792 regulator-min-microvolt = <1800000>;
793 regulator-max-microvolt = <1800000>;
794 };
795 vreg_l9a_1p8: l9 {
796 regulator-name = "vreg_l9a_1p8";
797 regulator-min-microvolt = <1800000>;
798 regulator-max-microvolt = <1800000>;
799 };
800 vreg_l10a_1p8: l10 {
801 regulator-name = "vreg_l10a_1p8";
802 regulator-min-microvolt = <1800000>;
803 regulator-max-microvolt = <1800000>;
804 };
805 vreg_l11a_1p15: l11 {
806 regulator-name = "vreg_l11a_1p15";
807 regulator-min-microvolt = <1150000>;
808 regulator-max-microvolt = <1150000>;
809 };
810 vreg_l12a_1p8: l12 {
811 regulator-name = "vreg_l12a_1p8";
812 regulator-min-microvolt = <1800000>;
813 regulator-max-microvolt = <1800000>;
814 };
815 vreg_l13a_2p95: l13 {
816 regulator-name = "vreg_l13a_2p95";
817 regulator-min-microvolt = <1800000>;
818 regulator-max-microvolt = <2950000>;
819 };
820 vreg_l14a_1p8: l14 {
821 regulator-name = "vreg_l14a_1p8";
822 regulator-min-microvolt = <1800000>;
823 regulator-max-microvolt = <1800000>;
824 };
825 vreg_l15a_1p8: l15 {
826 regulator-name = "vreg_l15a_1p8";
827 regulator-min-microvolt = <1800000>;
828 regulator-max-microvolt = <1800000>;
829 };
830 vreg_l16a_2p7: l16 {
831 regulator-name = "vreg_l16a_2p7";
832 regulator-min-microvolt = <2700000>;
833 regulator-max-microvolt = <2700000>;
834 };
835 vreg_l17a_2p8: l17 {
836 regulator-name = "vreg_l17a_2p8";
837 regulator-min-microvolt = <2500000>;
838 regulator-max-microvolt = <2500000>;
839 };
840 vreg_l18a_2p85: l18 {
841 regulator-name = "vreg_l18a_2p85";
842 regulator-min-microvolt = <2700000>;
843 regulator-max-microvolt = <2900000>;
844 };
845 vreg_l19a_2p8: l19 {
846 regulator-name = "vreg_l19a_2p8";
847 regulator-min-microvolt = <3000000>;
848 regulator-max-microvolt = <3000000>;
849 };
850 vreg_l20a_2p95: l20 {
851 regulator-name = "vreg_l20a_2p95";
852 regulator-min-microvolt = <2950000>;
853 regulator-max-microvolt = <2950000>;
854 regulator-allow-set-load;
855 };
856 vreg_l21a_2p95: l21 {
857 regulator-name = "vreg_l21a_2p95";
858 regulator-min-microvolt = <2950000>;
859 regulator-max-microvolt = <2950000>;
860 regulator-allow-set-load;
861 regulator-system-load = <200000>;
862 };
863 vreg_l22a_3p0: l22 {
864 regulator-name = "vreg_l22a_3p0";
865 regulator-min-microvolt = <3300000>;
866 regulator-max-microvolt = <3300000>;
867 };
868 vreg_l23a_2p8: l23 {
869 regulator-name = "vreg_l23a_2p8";
870 regulator-min-microvolt = <2800000>;
871 regulator-max-microvolt = <2800000>;
872 };
873 vreg_l24a_3p075: l24 {
874 regulator-name = "vreg_l24a_3p075";
875 regulator-min-microvolt = <3075000>;
876 regulator-max-microvolt = <3075000>;
877 };
878 vreg_l25a_1p2: l25 {
879 regulator-name = "vreg_l25a_1p2";
880 regulator-min-microvolt = <1200000>;
881 regulator-max-microvolt = <1200000>;
882 regulator-allow-set-load;
883 };
884 vreg_l26a_0p8: l27 {
885 regulator-name = "vreg_l26a_0p8";
886 regulator-min-microvolt = <1000000>;
887 regulator-max-microvolt = <1000000>;
888 };
889 vreg_l28a_0p925: l28 {
890 regulator-name = "vreg_l28a_0p925";
891 regulator-min-microvolt = <925000>;
892 regulator-max-microvolt = <925000>;
893 regulator-allow-set-load;
894 };
895 vreg_l29a_2p8: l29 {
896 regulator-name = "vreg_l29a_2p8";
897 regulator-min-microvolt = <2800000>;
898 regulator-max-microvolt = <2800000>;
899 };
900 vreg_l30a_1p8: l30 {
901 regulator-name = "vreg_l30a_1p8";
902 regulator-min-microvolt = <1800000>;
903 regulator-max-microvolt = <1800000>;
904 };
905 vreg_l32a_1p8: l32 {
906 regulator-name = "vreg_l32a_1p8";
907 regulator-min-microvolt = <1800000>;
908 regulator-max-microvolt = <1800000>;
909 };
910
911 vreg_lvs1a_1p8: lvs1 {
912 regulator-name = "vreg_lvs1a_1p8";
913 };
914
915 vreg_lvs2a_1p8: lvs2 {
916 regulator-name = "vreg_lvs2a_1p8";
917 };
918 };
919
920 pmi8994-regulators {
921 compatible = "qcom,rpm-pmi8994-regulators";
922
923 vdd_s1-supply = <&vph_pwr>;
924 vdd_s2-supply = <&vph_pwr>;
925 vdd_s3-supply = <&vph_pwr>;
926 vdd_bst_byp-supply = <&vph_pwr>;
927
928 vph_pwr_bbyp: boost-bypass {
929 regulator-name = "vph_pwr_bbyp";
930 regulator-min-microvolt = <3300000>;
931 regulator-max-microvolt = <3300000>;
932 };
933
934 vreg_s1b_1p025: s1 {
935 regulator-name = "vreg_s1b_1p025";
936 regulator-min-microvolt = <1025000>;
937 regulator-max-microvolt = <1025000>;
938 };
939 };
940 };
941
942 &sdhc2 {
943 /* External SD card */
944 pinctrl-names = "default", "sleep";
945 pinctrl-0 = <&sdc2_state_on &sdc2_cd_on>;
946 pinctrl-1 = <&sdc2_state_off &sdc2_cd_off>;
947 cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>;
948 vmmc-supply = <&vreg_l21a_2p95>;
949 vqmmc-supply = <&vreg_l13a_2p95>;
950 status = "okay";
951 };
952
953 &q6asmdai {
954 dai@0 {
955 reg = <0>;
956 };
957
958 dai@1 {
959 reg = <1>;
960 };
961
962 dai@2 {
963 reg = <2>;
964 };
965 };
966
967 &sound {
968 compatible = "qcom,apq8096-sndcard";
969 model = "DB820c";
970 audio-routing = "RX_BIAS", "MCLK",
971 "MM_DL1", "MultiMedia1 Playback",
972 "MM_DL2", "MultiMedia2 Playback",
973 "MultiMedia3 Capture", "MM_UL3";
974
975 mm1-dai-link {
976 link-name = "MultiMedia1";
977 cpu {
978 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA1>;
979 };
980 };
981
982 mm2-dai-link {
983 link-name = "MultiMedia2";
984 cpu {
985 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA2>;
986 };
987 };
988
989 mm3-dai-link {
990 link-name = "MultiMedia3";
991 cpu {
992 sound-dai = <&q6asmdai MSM_FRONTEND_DAI_MULTIMEDIA3>;
993 };
994 };
995
996 hdmi-dai-link {
997 link-name = "HDMI";
998 cpu {
999 sound-dai = <&q6afedai HDMI_RX>;
1000 };
1001
1002 platform {
1003 sound-dai = <&q6routing>;
1004 };
1005
1006 codec {
1007 sound-dai = <&hdmi 0>;
1008 };
1009 };
1010
1011 slim-dai-link {
1012 link-name = "SLIM Playback";
1013 cpu {
1014 sound-dai = <&q6afedai SLIMBUS_6_RX>;
1015 };
1016
1017 platform {
1018 sound-dai = <&q6routing>;
1019 };
1020
1021 codec {
1022 sound-dai = <&wcd9335 6>;
1023 };
1024 };
1025
1026 slimcap-dai-link {
1027 link-name = "SLIM Capture";
1028 cpu {
1029 sound-dai = <&q6afedai SLIMBUS_0_TX>;
1030 };
1031
1032 platform {
1033 sound-dai = <&q6routing>;
1034 };
1035
1036 codec {
1037 sound-dai = <&wcd9335 1>;
1038 };
1039 };
1040 };
1041
1042 &ufsphy {
1043 status = "okay";
1044
1045 vdda-phy-supply = <&vreg_l28a_0p925>;
1046 vdda-pll-supply = <&vreg_l12a_1p8>;
1047 vddp-ref-clk-supply = <&vreg_l25a_1p2>;
1048 };
1049
1050 &ufshc {
1051 status = "okay";
1052
1053 vcc-supply = <&vreg_l20a_2p95>;
1054 vccq-supply = <&vreg_l25a_1p2>;
1055 vccq2-supply = <&vreg_s4a_1p8>;
1056
1057 vcc-max-microamp = <600000>;
1058 vccq-max-microamp = <450000>;
1059 vccq2-max-microamp = <450000>;
1060 };
1061
1062 &usb2 {
1063 status = "okay";
1064 extcon = <&usb2_id>;
1065
1066 dwc3@7600000 {
1067 extcon = <&usb2_id>;
1068 dr_mode = "otg";
1069 maximum-speed = "high-speed";
1070 };
1071 };
1072
1073 &usb3 {
1074 status = "okay";
1075 extcon = <&usb3_id>;
1076
1077 dwc3@6a00000 {
1078 extcon = <&usb3_id>;
1079 dr_mode = "otg";
1080 };
1081 };
1082
1083 &usb3phy {
1084 status = "okay";
1085
1086 vdda-phy-supply = <&vreg_l28a_0p925>;
1087 vdda-pll-supply = <&vreg_l12a_1p8>;
1088
1089 };
1090
1091 &venus {
1092 status = "okay";
1093 };
1094
1095 &wcd9335 {
1096 clock-names = "mclk", "slimbus";
1097 clocks = <&div1_mclk>,
1098 <&rpmcc RPM_SMD_BB_CLK1>;
1099
1100 vdd-buck-supply = <&vreg_s4a_1p8>;
1101 vdd-buck-sido-supply = <&vreg_s4a_1p8>;
1102 vdd-tx-supply = <&vreg_s4a_1p8>;
1103 vdd-rx-supply = <&vreg_s4a_1p8>;
1104 vdd-io-supply = <&vreg_s4a_1p8>;
1105 };
Cache object: b122591f316791f97fa750e139248716
|