forked from ~ljy/RK356X_SDK_RELEASE

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