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