GNU Linux-libre 6.1.90-gnu
[releases.git] / arch / arm64 / boot / dts / qcom / sc7180-trogdor.dtsi
1 // SPDX-License-Identifier: (GPL-2.0+ OR MIT)
2 /*
3  * Google Trogdor device tree source (common between revisions)
4  *
5  * Copyright 2019 Google LLC.
6  */
7
8 #include <dt-bindings/gpio/gpio.h>
9 #include <dt-bindings/input/gpio-keys.h>
10 #include <dt-bindings/input/input.h>
11 #include <dt-bindings/leds/common.h>
12 #include <dt-bindings/regulator/qcom,rpmh-regulator.h>
13 #include <dt-bindings/sound/sc7180-lpass.h>
14
15 #include "sc7180.dtsi"
16 /* PMICs depend on spmi_bus label and so must come after sc7180.dtsi */
17 #include "pm6150.dtsi"
18 #include "pm6150l.dtsi"
19
20 / {
21         thermal-zones {
22                 charger_thermal: charger-thermal {
23                         polling-delay-passive = <0>;
24                         polling-delay = <0>;
25
26                         thermal-sensors = <&pm6150_adc_tm 0>;
27
28                         trips {
29                                 charger-crit {
30                                         temperature = <125000>;
31                                         hysteresis = <1000>;
32                                         type = "critical";
33                                 };
34                         };
35                 };
36         };
37 };
38
39 /*
40  * Reserved memory changes
41  *
42  * Delete all unused memory nodes and define the peripheral memory regions
43  * required by the board dts.
44  */
45
46 /delete-node/ &hyp_mem;
47 /delete-node/ &ipa_fw_mem;
48 /delete-node/ &xbl_mem;
49 /delete-node/ &aop_mem;
50 /delete-node/ &sec_apps_mem;
51 /delete-node/ &tz_mem;
52
53 /* Increase the size from 2MB to 8MB */
54 &rmtfs_mem {
55         reg = <0x0 0x94600000 0x0 0x800000>;
56 };
57
58 / {
59         reserved-memory {
60                 atf_mem: memory@80b00000 {
61                         reg = <0x0 0x80b00000 0x0 0x100000>;
62                         no-map;
63                 };
64
65                 mpss_mem: memory@86000000 {
66                         reg = <0x0 0x86000000 0x0 0x2000000>;
67                         no-map;
68                 };
69
70                 venus_mem: memory@8f600000 {
71                         reg = <0 0x8f600000 0 0x500000>;
72                         no-map;
73                 };
74
75                 wlan_mem: memory@94100000 {
76                         reg = <0x0 0x94100000 0x0 0x200000>;
77                         no-map;
78                 };
79
80                 mba_mem: memory@94400000 {
81                         reg = <0x0 0x94400000 0x0 0x200000>;
82                         no-map;
83                 };
84         };
85
86         aliases {
87                 bluetooth0 = &bluetooth;
88                 hsuart0 = &uart3;
89                 serial0 = &uart8;
90                 wifi0 = &wifi;
91         };
92
93         chosen {
94                 stdout-path = "serial0:115200n8";
95         };
96
97         /* FIXED REGULATORS - parents above children */
98
99         /* This is the top level supply and variable voltage */
100         ppvar_sys: ppvar-sys-regulator {
101                 compatible = "regulator-fixed";
102                 regulator-name = "ppvar_sys";
103                 regulator-always-on;
104                 regulator-boot-on;
105         };
106
107         /* This divides ppvar_sys by 2, so voltage is variable */
108         src_vph_pwr: src-vph-pwr-regulator {
109                 compatible = "regulator-fixed";
110                 regulator-name = "src_vph_pwr";
111
112                 /* EC turns on with switchcap_on; always on for AP */
113                 regulator-always-on;
114                 regulator-boot-on;
115
116                 vin-supply = <&ppvar_sys>;
117         };
118
119         pp5000_a: pp5000-a-regulator {
120                 compatible = "regulator-fixed";
121                 regulator-name = "pp5000_a";
122
123                 /* EC turns on with en_pp5000_a; always on for AP */
124                 regulator-always-on;
125                 regulator-boot-on;
126                 regulator-min-microvolt = <5000000>;
127                 regulator-max-microvolt = <5000000>;
128
129                 vin-supply = <&ppvar_sys>;
130         };
131
132         pp3300_a: pp3300-a-regulator {
133                 compatible = "regulator-fixed";
134                 regulator-name = "pp3300_a";
135
136                 /* EC turns on with en_pp3300_a; always on for AP */
137                 regulator-always-on;
138                 regulator-boot-on;
139                 regulator-min-microvolt = <3300000>;
140                 regulator-max-microvolt = <3300000>;
141
142                 /*
143                  * Actually should be pp3300 but that's practically an alias for
144                  * pp3300_a so we use pp3300's vin-supply here to avoid one more
145                  * node.
146                  */
147                 vin-supply = <&ppvar_sys>;
148         };
149
150         pp1800_ec:
151         pp1800_sensors:
152         pp1800_ldo: pp1800-ldo-regulator {
153                 compatible = "regulator-fixed";
154                 regulator-name = "pp1800_ldo";
155
156                 /* EC turns on with hibernate_l; always on for AP */
157                 regulator-always-on;
158                 regulator-boot-on;
159                 regulator-min-microvolt = <1800000>;
160                 regulator-max-microvolt = <1800000>;
161
162                 /*
163                  * Actually should be pp1800_h1 but we don't have any need to
164                  * model that so we use the parent of pp1800_h1.
165                  */
166                 vin-supply = <&pp3300_a>;
167         };
168
169         pp1800_uf_cam: pp1800-uf-cam-regulator {
170                 compatible = "regulator-fixed";
171                 regulator-name = "pp1800_uf_cam";
172                 status = "disabled";
173
174                 regulator-min-microvolt = <1800000>;
175                 regulator-max-microvolt = <1800000>;
176
177                 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
178                 enable-active-high;
179                 pinctrl-names = "default";
180                 pinctrl-0 = <&uf_cam_en>;
181
182                 vin-supply = <&pp1800_ldo>;
183                 regulator-enable-ramp-delay = <1000>;
184         };
185
186         pp1800_wf_cam: pp1800-wf-cam-regulator {
187                 compatible = "regulator-fixed";
188                 regulator-name = "pp1800_wf_cam";
189                 status = "disabled";
190
191                 regulator-min-microvolt = <1800000>;
192                 regulator-max-microvolt = <1800000>;
193
194                 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
195                 enable-active-high;
196                 pinctrl-names = "default";
197                 pinctrl-0 = <&wf_cam_en>;
198
199                 vin-supply = <&pp1800_ldo>;
200                 regulator-enable-ramp-delay = <1000>;
201         };
202
203         pp2800_uf_cam: pp2800-uf-cam-regulator {
204                 compatible = "regulator-fixed";
205                 regulator-name = "pp2800_uf_cam";
206                 status = "disabled";
207
208                 regulator-min-microvolt = <2850000>;
209                 regulator-max-microvolt = <2850000>;
210
211                 gpio = <&tlmm 6 GPIO_ACTIVE_HIGH>;
212                 enable-active-high;
213                 /*
214                  * The pinconf can only be referenced once so we put it on the
215                  * first regulator and comment it out here.
216                  * pinctrl-names = "default";
217                  * pinctrl-0 = <&uf_cam_en>;
218                  */
219
220                 vin-supply = <&pp3300_a>;
221         };
222
223         pp2800_vcm_wf_cam:
224         pp2800_wf_cam: pp2800-wf-cam-regulator {
225                 compatible = "regulator-fixed";
226                 regulator-name = "pp2800_wf_cam";
227                 status = "disabled";
228
229                 regulator-min-microvolt = <2850000>;
230                 regulator-max-microvolt = <2850000>;
231
232                 gpio = <&tlmm 7 GPIO_ACTIVE_HIGH>;
233                 enable-active-high;
234                 /*
235                  * The pinconf can only be referenced once so we put it on the
236                  * first regulator and comment it out here.
237                  * pinctrl-names = "default";
238                  * pinctrl-0 = <&wf_cam_en>;
239                  */
240
241                 vin-supply = <&pp3300_a>;
242         };
243
244         pp3300_audio:
245         pp3300_codec: pp3300-codec-regulator {
246                 compatible = "regulator-fixed";
247                 regulator-name = "pp3300_codec";
248
249                 regulator-min-microvolt = <3300000>;
250                 regulator-max-microvolt = <3300000>;
251
252                 gpio = <&tlmm 83 GPIO_ACTIVE_HIGH>;
253                 enable-active-high;
254                 pinctrl-names = "default";
255                 pinctrl-0 = <&en_pp3300_codec>;
256
257                 vin-supply = <&pp3300_a>;
258         };
259
260         pp3300_dx_edp:
261         pp3300_ts: pp3300-dx-edp-regulator {
262                 compatible = "regulator-fixed";
263                 regulator-name = "pp3300_dx_edp";
264
265                 regulator-min-microvolt = <3300000>;
266                 regulator-max-microvolt = <3300000>;
267
268                 gpio = <&tlmm 30 GPIO_ACTIVE_HIGH>;
269                 enable-active-high;
270                 pinctrl-names = "default";
271                 pinctrl-0 = <&en_pp3300_dx_edp>;
272
273                 vin-supply = <&pp3300_a>;
274         };
275
276         pp3300_fp_tp: pp3300-fp-tp-regulator {
277                 compatible = "regulator-fixed";
278                 regulator-name = "pp3300_fp_tp";
279
280                 regulator-min-microvolt = <3300000>;
281                 regulator-max-microvolt = <3300000>;
282
283                 /* AP turns on with PP1800_VIO_OUT; always on for AP */
284                 regulator-always-on;
285                 regulator-boot-on;
286
287                 vin-supply = <&pp3300_a>;
288         };
289
290         pp3300_hub: pp3300-hub-regulator {
291                 compatible = "regulator-fixed";
292                 regulator-name = "pp3300_hub";
293
294                 regulator-min-microvolt = <3300000>;
295                 regulator-max-microvolt = <3300000>;
296
297                 gpio = <&tlmm 84 GPIO_ACTIVE_HIGH>;
298                 enable-active-high;
299                 pinctrl-names = "default";
300                 pinctrl-0 = <&en_pp3300_hub>;
301
302                 /* The BIOS leaves this regulator on */
303                 regulator-boot-on;
304
305                 vin-supply = <&pp3300_a>;
306         };
307
308         /* BOARD-SPECIFIC TOP LEVEL NODES */
309
310         backlight: backlight {
311                 compatible = "pwm-backlight";
312
313                 /* The panels don't seem to like anything below ~ 5% */
314                 brightness-levels = <
315                         196 256 324 400 484 576 676 784 900 1024 1156 1296
316                         1444 1600 1764 1936 2116 2304 2500 2704 2916 3136
317                         3364 3600 3844 4096
318                 >;
319                 num-interpolated-steps = <64>;
320                 default-brightness-level = <951>;
321
322                 pwms = <&cros_ec_pwm 1>;
323                 enable-gpios = <&tlmm 12 GPIO_ACTIVE_HIGH>;
324                 power-supply = <&ppvar_sys>;
325                 pinctrl-names = "default";
326                 pinctrl-0 = <&ap_edp_bklten>;
327         };
328
329         gpio_keys: gpio-keys {
330                 compatible = "gpio-keys";
331                 status = "disabled";
332                 pinctrl-names = "default";
333                 pinctrl-0 = <&pen_pdct_l>;
334
335                 pen_insert: switch-pen-insert {
336                         label = "Pen Insert";
337
338                         /* Insert = low, eject = high */
339                         gpios = <&tlmm 52 GPIO_ACTIVE_LOW>;
340                         linux,code = <SW_PEN_INSERTED>;
341                         linux,input-type = <EV_SW>;
342                         wakeup-event-action = <EV_ACT_DEASSERTED>;
343                         wakeup-source;
344                 };
345         };
346
347         max98360a: audio-codec-0 {
348                 compatible = "maxim,max98360a";
349                 pinctrl-names = "default";
350                 pinctrl-0 = <&amp_en>;
351                 sdmode-gpios = <&tlmm 23 GPIO_ACTIVE_HIGH>;
352                 #sound-dai-cells = <0>;
353         };
354
355         pwmleds {
356                 compatible = "pwm-leds";
357                 keyboard_backlight: keyboard-backlight {
358                         status = "disabled";
359                         label = "cros_ec::kbd_backlight";
360                         function = LED_FUNCTION_KBD_BACKLIGHT;
361                         pwms = <&cros_ec_pwm 0>;
362                         max-brightness = <1023>;
363                 };
364         };
365
366         sound: sound {
367                 compatible = "google,sc7180-trogdor";
368                 model = "sc7180-rt5682-max98357a-1mic";
369
370                 audio-routing =
371                         "Headphone Jack", "HPOL",
372                         "Headphone Jack", "HPOR";
373
374                 #address-cells = <1>;
375                 #size-cells = <0>;
376
377                 dai-link@0 {
378                         link-name = "MultiMedia0";
379                         reg = <MI2S_PRIMARY>;
380                         cpu {
381                                 sound-dai = <&lpass_cpu MI2S_PRIMARY>;
382                         };
383
384                         sound_multimedia0_codec: codec {
385                                 sound-dai = <&alc5682 0 /* aif1 */>;
386                         };
387                 };
388
389                 dai-link@1 {
390                         link-name = "MultiMedia1";
391                         reg = <MI2S_SECONDARY>;
392                         cpu {
393                                 sound-dai = <&lpass_cpu MI2S_SECONDARY>;
394                         };
395
396                         sound_multimedia1_codec: codec {
397                                 sound-dai = <&max98360a>;
398                         };
399                 };
400
401                 dai-link@5 {
402                         link-name = "MultiMedia2";
403                         reg = <LPASS_DP_RX>;
404                         cpu {
405                                 sound-dai = <&lpass_cpu LPASS_DP_RX>;
406                         };
407
408                         codec {
409                                 sound-dai = <&mdss_dp>;
410                         };
411                 };
412         };
413 };
414
415 &qfprom {
416         vcc-supply = <&pp1800_l11a>;
417 };
418
419 &qspi {
420         status = "okay";
421         pinctrl-names = "default";
422         pinctrl-0 = <&qspi_clk>, <&qspi_cs0>, <&qspi_data01>;
423
424         flash@0 {
425                 compatible = "jedec,spi-nor";
426                 reg = <0>;
427
428                 spi-max-frequency = <37500000>;
429                 spi-tx-bus-width = <2>;
430                 spi-rx-bus-width = <2>;
431         };
432 };
433
434 &apps_rsc {
435         pm6150-rpmh-regulators {
436                 compatible = "qcom,pm6150-rpmh-regulators";
437                 qcom,pmic-id = "a";
438
439                 vddpx_1:
440                 vdd2:
441                 pp1125_s1a: smps1 {
442                         regulator-min-microvolt = <1128000>;
443                         regulator-max-microvolt = <1128000>;
444                 };
445
446                 vdd_qlink_lv:
447                 vdd_qlink_lv_ck:
448                 vdd_qusb_hs0_core:
449                 vdd_ufs1_core:
450                 vdda_mipi_csi0_0p9:
451                 vdda_mipi_csi1_0p9:
452                 vdda_mipi_csi2_0p9:
453                 vdda_mipi_csi3_0p9:
454                 vdda_mipi_dsi0_pll:
455                 vdda_pll_cc_ebi01:
456                 vdda_qrefs_0p9:
457                 vdda_usb_ss_dp_core:
458                 pp900_l4a: ldo4 {
459                         regulator-min-microvolt = <824000>;
460                         regulator-max-microvolt = <928000>;
461                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
462                 };
463
464                 vdd_cx_wlan:
465                 pp800_l9a: ldo9 {
466                         regulator-min-microvolt = <488000>;
467                         regulator-max-microvolt = <800000>;
468                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
469                 };
470
471                 vdd1:
472                 vddpx_3:
473                 vddpx_7:
474                 vio_in:
475                 pp1800_l10a: ldo10 {
476                         regulator-min-microvolt = <1800000>;
477                         regulator-max-microvolt = <1800000>;
478                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
479                 };
480
481                 vdd_qfprom:
482                 vdda_apc1_cs_1p8:
483                 vdda_qrefs_1p8:
484                 vdda_qusb_hs0_1p8:
485                 vddpx_11:
486                 vreg_bb_clk:
487                 pp1800_l11a: ldo11 {
488                         regulator-min-microvolt = <1800000>;
489                         regulator-max-microvolt = <1800000>;
490                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
491                 };
492
493                 mcp_vccq:
494                 pp1800_l12a_r: ldo12 {
495                         regulator-min-microvolt = <1800000>;
496                         regulator-max-microvolt = <1800000>;
497                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
498                 };
499
500                 /*
501                  * On trogdor this needs to match l10a since we use it to
502                  * give power to things like SPI flash which communicate back
503                  * on lines powered by l10a.  Thus we force to 1.8V.
504                  */
505                 pp1800_l13a: ldo13 {
506                         regulator-min-microvolt = <1800000>;
507                         regulator-max-microvolt = <1800000>;
508                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
509                 };
510
511                 pp1800_prox:
512                 pp1800_l14a: ldo14 {
513                         regulator-min-microvolt = <1800000>;
514                         regulator-max-microvolt = <1800000>;
515                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
516                 };
517
518                 pp1800_alc5682:
519                 pp1800_l15a: ldo15 {
520                         regulator-min-microvolt = <1800000>;
521                         regulator-max-microvolt = <1800000>;
522                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
523                 };
524
525                 vdda_qusb_hs0_3p1:
526                 vdd_pdphy:
527                 pp3100_l17a: ldo17 {
528                         regulator-min-microvolt = <2920000>;
529                         regulator-max-microvolt = <3232000>;
530                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
531                 };
532
533                 pp1800_pen:
534                 pp1800_l18a: ldo18 {
535                         regulator-min-microvolt = <1800000>;
536                         regulator-max-microvolt = <1800000>;
537                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
538                 };
539
540                 mcp_vcc:
541                 pp2850_l19a: ldo19 {
542                         regulator-min-microvolt = <2960000>;
543                         regulator-max-microvolt = <2960000>;
544                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
545                 };
546         };
547
548         pm6150l-rpmh-regulators {
549                 compatible = "qcom,pm6150l-rpmh-regulators";
550                 qcom,pmic-id = "c";
551
552                 pp1300_s8c: smps8 {
553                         regulator-min-microvolt = <1120000>;
554                         regulator-max-microvolt = <1408000>;
555                 };
556
557                 pp1800_l1c: ldo1 {
558                         regulator-min-microvolt = <1616000>;
559                         regulator-max-microvolt = <1984000>;
560                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
561                 };
562
563                 vdd_wcss_adc_dac:
564                 pp1300_l2c: ldo2 {
565                         regulator-min-microvolt = <1168000>;
566                         regulator-max-microvolt = <1304000>;
567                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
568                 };
569
570                 pp1200_brij:
571                 vdd_ufs1_1p2:
572                 vdda_csi0_1p25:
573                 vdda_csi1_1p25:
574                 vdda_csi2_1p25:
575                 vdda_csi3_1p25:
576                 vdda_hv_ebi0:
577                 vdda_mipi_dsi0_1p2:
578                 vdda_usb_ss_dp_1p2:
579                 vddpx_10:
580                 pp1200_l3c: ldo3 {
581                         regulator-min-microvolt = <1200000>;
582                         regulator-max-microvolt = <1200000>;
583                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
584                 };
585
586                 vddpx_2:
587                 ppvar_l6c: ldo6 {
588                         regulator-min-microvolt = <1800000>;
589                         regulator-max-microvolt = <2952000>;
590                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
591                 };
592
593                 pp3300_l7c: ldo7 {
594                         regulator-min-microvolt = <3304000>;
595                         regulator-max-microvolt = <3304000>;
596                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
597                 };
598
599                 pp1800_brij_vccio:
600                 pp1800_edp_vpll:
601                 pp1800_l8c: ldo8 {
602                         regulator-min-microvolt = <1800000>;
603                         regulator-max-microvolt = <1800000>;
604                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
605                 };
606
607                 pp2950_l9c: ldo9 {
608                         regulator-min-microvolt = <2952000>;
609                         regulator-max-microvolt = <2952000>;
610                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
611                 };
612
613                 pp3300_l10c: ldo10 {
614                         regulator-min-microvolt = <3000000>;
615                         regulator-max-microvolt = <3400000>;
616                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
617                 };
618
619                 pp3300_l11c: ldo11 {
620                         regulator-min-microvolt = <3000000>;
621                         regulator-max-microvolt = <3400000>;
622                         regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>;
623                 };
624
625                 src_vreg_bob: bob {
626                         regulator-min-microvolt = <3008000>;
627                         regulator-max-microvolt = <3960000>;
628                         regulator-initial-mode = <RPMH_REGULATOR_MODE_AUTO>;
629                 };
630         };
631 };
632
633 ap_ec_spi: &spi6 {
634         status = "okay";
635         cros_ec: ec@0 {
636                 compatible = "google,cros-ec-spi";
637                 reg = <0>;
638                 interrupt-parent = <&tlmm>;
639                 interrupts = <94 IRQ_TYPE_LEVEL_LOW>;
640                 pinctrl-names = "default";
641                 pinctrl-0 = <&ap_ec_int_l>;
642                 spi-max-frequency = <3000000>;
643
644                 cros_ec_pwm: pwm {
645                         compatible = "google,cros-ec-pwm";
646                         #pwm-cells = <1>;
647                 };
648
649                 i2c_tunnel: i2c-tunnel {
650                         compatible = "google,cros-ec-i2c-tunnel";
651                         google,remote-bus = <0>;
652                         #address-cells = <1>;
653                         #size-cells = <0>;
654                 };
655
656                 typec {
657                         compatible = "google,cros-ec-typec";
658                         #address-cells = <1>;
659                         #size-cells = <0>;
660
661                         usb_c0: connector@0 {
662                                 compatible = "usb-c-connector";
663                                 reg = <0>;
664                                 label = "left";
665                                 power-role = "dual";
666                                 data-role = "host";
667                                 try-power-role = "source";
668                         };
669
670                         usb_c1: connector@1 {
671                                 compatible = "usb-c-connector";
672                                 reg = <1>;
673                                 label = "right";
674                                 power-role = "dual";
675                                 data-role = "host";
676                                 try-power-role = "source";
677                         };
678                 };
679         };
680 };
681
682 ap_h1_spi: &spi0 {
683         status = "okay";
684         cr50: tpm@0 {
685                 compatible = "google,cr50";
686                 reg = <0>;
687                 pinctrl-names = "default";
688                 pinctrl-0 = <&h1_ap_int_odl>;
689                 spi-max-frequency = <800000>;
690                 interrupt-parent = <&tlmm>;
691                 interrupts = <42 IRQ_TYPE_EDGE_RISING>;
692         };
693 };
694
695 &camcc {
696         status = "disabled";
697 };
698
699 &dsi0 {
700         status = "okay";
701         vdda-supply = <&vdda_mipi_dsi0_1p2>;
702 };
703
704 &dsi0_out {
705         data-lanes = <0 1 2 3>;
706 };
707
708 &dsi_phy {
709         status = "okay";
710         vdds-supply = <&vdda_mipi_dsi0_pll>;
711 };
712
713 ap_sar_sensor_i2c: &i2c5 {
714         clock-frequency = <400000>;
715
716         ap_sar_sensor: proximity@28 {
717                 compatible = "semtech,sx9310";
718                 reg = <0x28>;
719                 #io-channel-cells = <1>;
720                 pinctrl-names = "default";
721                 pinctrl-0 = <&p_sensor_int_l>;
722
723                 interrupt-parent = <&tlmm>;
724                 interrupts = <24 IRQ_TYPE_LEVEL_LOW>;
725
726                 vdd-supply = <&pp3300_a>;
727                 svdd-supply = <&pp1800_prox>;
728
729                 label = "proximity-wifi";
730         };
731 };
732
733 ap_tp_i2c: &i2c7 {
734         clock-frequency = <400000>;
735
736         trackpad: trackpad@15 {
737                 compatible = "elan,ekth3000";
738                 reg = <0x15>;
739                 pinctrl-names = "default";
740                 pinctrl-0 = <&tp_int_odl>;
741
742                 interrupt-parent = <&tlmm>;
743                 interrupts = <0 IRQ_TYPE_EDGE_FALLING>;
744
745                 vcc-supply = <&pp3300_fp_tp>;
746
747                 wakeup-source;
748         };
749 };
750
751 hp_i2c: &i2c9 {
752         status = "okay";
753         clock-frequency = <400000>;
754
755         alc5682: codec@1a {
756                 compatible = "realtek,rt5682i";
757                 reg = <0x1a>;
758                 pinctrl-names = "default";
759                 pinctrl-0 = <&hp_irq>;
760
761                 #sound-dai-cells = <1>;
762
763                 interrupt-parent = <&tlmm>;
764                 /*
765                  * This will get ignored because the interrupt type
766                  * is set in rt5682.c.
767                  */
768                 interrupts = <28 IRQ_TYPE_EDGE_BOTH>;
769
770                 AVDD-supply = <&pp1800_alc5682>;
771                 MICVDD-supply = <&pp3300_codec>;
772                 VBAT-supply = <&pp3300_audio>;
773
774                 realtek,dmic1-data-pin = <1>;
775                 realtek,dmic1-clk-pin = <1>;
776                 realtek,jd-src = <1>;
777         };
778 };
779
780 &lpass_cpu {
781         status = "okay";
782
783         pinctrl-names = "default";
784         pinctrl-0 = <&sec_mi2s_active>, <&pri_mi2s_active>, <&pri_mi2s_mclk_active>;
785
786         #address-cells = <1>;
787         #size-cells = <0>;
788
789         mi2s@0 {
790                 reg = <MI2S_PRIMARY>;
791                 qcom,playback-sd-lines = <1>;
792                 qcom,capture-sd-lines = <0>;
793         };
794
795         secondary_mi2s: mi2s@1 {
796                 reg = <MI2S_SECONDARY>;
797                 qcom,playback-sd-lines = <0>;
798         };
799
800         hdmi@5 {
801                 reg = <LPASS_DP_RX>;
802         };
803 };
804
805 &mdp {
806         status = "okay";
807 };
808
809 &mdss {
810         status = "okay";
811 };
812
813 &mdss_dp {
814         status = "okay";
815         pinctrl-names = "default";
816         pinctrl-0 = <&dp_hot_plug_det>;
817         data-lanes = <0 1>;
818 };
819
820 &pm6150_adc {
821         charger-thermistor@4f {
822                 reg = <ADC5_AMUX_THM3_100K_PU>;
823                 qcom,ratiometric;
824                 qcom,hw-settle-time = <200>;
825         };
826 };
827
828 &pm6150_adc_tm {
829         status = "okay";
830
831         charger-thermistor@0 {
832                 reg = <0>;
833                 io-channels = <&pm6150_adc ADC5_AMUX_THM3_100K_PU>;
834                 qcom,ratiometric;
835                 qcom,hw-settle-time-us = <200>;
836         };
837 };
838
839 &pm6150_pon {
840         status = "disabled";
841 };
842
843 &qupv3_id_0 {
844         status = "okay";
845 };
846
847 &qupv3_id_1 {
848         status = "okay";
849 };
850
851 &remoteproc_mpss {
852         status = "okay";
853         compatible = "qcom,sc7180-mss-pil";
854         iommus = <&apps_smmu 0x461 0x0>, <&apps_smmu 0x444 0x3>;
855         memory-region = <&mba_mem &mpss_mem>;
856
857         /* This gets overridden for SKUs with LTE support. */
858         firmware-name = "/*(DEBLOBBED)*/",
859                         "/*(DEBLOBBED)*/";
860 };
861
862 &sdhc_1 {
863         status = "okay";
864
865         pinctrl-names = "default", "sleep";
866         pinctrl-0 = <&sdc1_on>;
867         pinctrl-1 = <&sdc1_off>;
868         vmmc-supply = <&mcp_vcc>;
869         vqmmc-supply = <&mcp_vccq>;
870 };
871
872 &sdhc_2 {
873         pinctrl-names = "default", "sleep";
874         pinctrl-0 = <&sdc2_on>;
875         pinctrl-1 = <&sdc2_off>;
876         vmmc-supply = <&pp2950_l9c>;
877         vqmmc-supply = <&ppvar_l6c>;
878
879         cd-gpios = <&tlmm 69 GPIO_ACTIVE_LOW>;
880 };
881
882 &spi0 {
883         pinctrl-0 = <&qup_spi0_cs_gpio_init_high>, <&qup_spi0_cs_gpio>;
884         cs-gpios = <&tlmm 37 GPIO_ACTIVE_LOW>;
885 };
886
887 &spi6 {
888         pinctrl-0 = <&qup_spi6_cs_gpio_init_high>, <&qup_spi6_cs_gpio>;
889         cs-gpios = <&tlmm 62 GPIO_ACTIVE_LOW>;
890 };
891
892 ap_spi_fp: &spi10 {
893         pinctrl-0 = <&qup_spi10_cs_gpio_init_high>, <&qup_spi10_cs_gpio>;
894         cs-gpios = <&tlmm 89 GPIO_ACTIVE_LOW>;
895
896         cros_ec_fp: ec@0 {
897                 compatible = "google,cros-ec-spi";
898                 reg = <0>;
899                 interrupt-parent = <&tlmm>;
900                 interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
901                 pinctrl-names = "default";
902                 pinctrl-0 = <&fp_to_ap_irq_l>;
903                 spi-max-frequency = <3000000>;
904         };
905 };
906
907 #include <arm/cros-ec-sbs.dtsi>
908
909 &uart3 {
910         status = "okay";
911
912         /delete-property/interrupts;
913         interrupts-extended = <&intc GIC_SPI 604 IRQ_TYPE_LEVEL_HIGH>,
914                                 <&tlmm 41 IRQ_TYPE_EDGE_FALLING>;
915
916         pinctrl-names = "default", "sleep";
917         pinctrl-1 = <&qup_uart3_sleep>;
918
919         bluetooth: bluetooth {
920                 compatible = "qcom,wcn3991-bt";
921                 vddio-supply = <&pp1800_l10a>;
922                 vddxo-supply = <&pp1800_l1c>;
923                 vddrf-supply = <&pp1300_l2c>;
924                 vddch0-supply = <&pp3300_l10c>;
925                 max-speed = <3200000>;
926
927                 qcom,local-bd-address-broken;
928         };
929 };
930
931 &uart8 {
932         status = "okay";
933 };
934
935 &usb_1 {
936         status = "okay";
937 };
938
939 &usb_1_dwc3 {
940         dr_mode = "host";
941         #address-cells = <1>;
942         #size-cells = <0>;
943
944         /* 2.x hub on port 1 */
945         usb_hub_2_x: hub@1 {
946                 compatible = "usbbda,5411";
947                 reg = <1>;
948                 vdd-supply = <&pp3300_hub>;
949                 peer-hub = <&usb_hub_3_x>;
950         };
951
952         /* 3.x hub on port 2 */
953         usb_hub_3_x: hub@2 {
954                 compatible = "usbbda,411";
955                 reg = <2>;
956                 vdd-supply = <&pp3300_hub>;
957                 peer-hub = <&usb_hub_2_x>;
958         };
959 };
960
961 &usb_1_hsphy {
962         status = "okay";
963         vdd-supply = <&vdd_qusb_hs0_core>;
964         vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
965         vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
966         qcom,imp-res-offset-value = <8>;
967         qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
968         qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
969         qcom,bias-ctrl-value = <0x22>;
970         qcom,charge-ctrl-value = <3>;
971         qcom,hsdisc-trim-value = <0>;
972 };
973
974 &usb_1_qmpphy {
975         status = "okay";
976         vdda-phy-supply = <&vdda_usb_ss_dp_1p2>;
977         vdda-pll-supply = <&vdda_usb_ss_dp_core>;
978 };
979
980 &venus {
981         video-firmware {
982                 iommus = <&apps_smmu 0x0c42 0x0>;
983         };
984 };
985
986 &wifi {
987         status = "okay";
988         vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>;
989         vdd-1.8-xo-supply = <&pp1800_l1c>;
990         vdd-1.3-rfa-supply = <&pp1300_l2c>;
991         vdd-3.3-ch0-supply = <&pp3300_l10c>;
992         vdd-3.3-ch1-supply = <&pp3300_l11c>;
993
994         wifi-firmware {
995                 iommus = <&apps_smmu 0xc2 0x1>;
996         };
997 };
998
999 /* PINCTRL - additions to nodes defined in sc7180.dtsi */
1000
1001 &dp_hot_plug_det {
1002         pinconf {
1003                 pins = "gpio117";
1004                 bias-disable;
1005         };
1006 };
1007
1008 &pri_mi2s_active {
1009         pinconf {
1010                 pins = "gpio53", "gpio54", "gpio55", "gpio56";
1011                 drive-strength = <2>;
1012                 bias-pull-down;
1013         };
1014 };
1015
1016 &pri_mi2s_mclk_active {
1017         pinconf {
1018                 pins = "gpio57";
1019                 drive-strength = <2>;
1020                 bias-pull-down;
1021         };
1022 };
1023
1024 &qspi_cs0 {
1025         pinconf {
1026                 pins = "gpio68";
1027                 bias-disable;
1028         };
1029 };
1030
1031 &qspi_clk {
1032         pinconf {
1033                 pins = "gpio63";
1034                 drive-strength = <8>;
1035                 bias-disable;
1036         };
1037 };
1038
1039 &qspi_data01 {
1040         pinconf {
1041                 pins = "gpio64", "gpio65";
1042
1043                 /* High-Z when no transfers; nice to park the lines */
1044                 bias-pull-up;
1045         };
1046 };
1047
1048 &qup_i2c2_default {
1049         pinconf {
1050                 pins = "gpio15", "gpio16";
1051                 drive-strength = <2>;
1052
1053                 /* Has external pullup */
1054                 bias-disable;
1055         };
1056 };
1057
1058 &qup_i2c4_default {
1059         pinconf {
1060                 pins = "gpio115", "gpio116";
1061                 drive-strength = <2>;
1062
1063                 /* Has external pullup */
1064                 bias-disable;
1065         };
1066 };
1067
1068 &qup_i2c5_default {
1069         pinconf {
1070                 pins = "gpio25", "gpio26";
1071                 drive-strength = <2>;
1072
1073                 /* Has external pullup */
1074                 bias-disable;
1075         };
1076 };
1077
1078 &qup_i2c7_default {
1079         pinconf {
1080                 pins = "gpio6", "gpio7";
1081                 drive-strength = <2>;
1082
1083                 /* Has external pullup */
1084                 bias-disable;
1085         };
1086 };
1087
1088 &qup_i2c9_default {
1089         pinconf {
1090                 pins = "gpio46", "gpio47";
1091                 drive-strength = <2>;
1092
1093                 /* Has external pullup */
1094                 bias-disable;
1095         };
1096 };
1097
1098 &qup_spi0_cs_gpio {
1099         pinconf {
1100                 pins = "gpio34", "gpio35", "gpio36", "gpio37";
1101                 drive-strength = <2>;
1102                 bias-disable;
1103         };
1104 };
1105
1106 &qup_spi6_cs_gpio {
1107         pinconf {
1108                 pins = "gpio59", "gpio60", "gpio61", "gpio62";
1109                 drive-strength = <2>;
1110                 bias-disable;
1111         };
1112 };
1113
1114 &qup_spi10_cs_gpio {
1115         pinconf {
1116                 pins = "gpio86", "gpio87", "gpio88", "gpio89";
1117                 drive-strength = <2>;
1118                 bias-disable;
1119         };
1120 };
1121
1122 &qup_uart3_default {
1123         pinconf-cts {
1124                 /*
1125                  * Configure a pull-down on CTS to match the pull of
1126                  * the Bluetooth module.
1127                  */
1128                 pins = "gpio38";
1129                 bias-pull-down;
1130         };
1131
1132         pinconf-rts-tx {
1133                 /* We'll drive RTS and TX, so no pull */
1134                 pins = "gpio39", "gpio40";
1135                 drive-strength = <2>;
1136                 bias-disable;
1137         };
1138
1139         pinconf-rx {
1140                 /*
1141                  * Configure a pull-up on RX. This is needed to avoid
1142                  * garbage data when the TX pin of the Bluetooth module is
1143                  * in tri-state (module powered off or not driving the
1144                  * signal yet).
1145                  */
1146                 pins = "gpio41";
1147                 bias-pull-up;
1148         };
1149 };
1150
1151 &qup_uart8_default {
1152         pinconf-tx {
1153                 pins = "gpio44";
1154                 drive-strength = <2>;
1155                 bias-disable;
1156         };
1157
1158         pinconf-rx {
1159                 pins = "gpio45";
1160                 drive-strength = <2>;
1161                 bias-pull-up;
1162         };
1163 };
1164
1165 &sec_mi2s_active {
1166         pinconf {
1167                 pins = "gpio49", "gpio50", "gpio51";
1168                 drive-strength = <2>;
1169                 bias-pull-down;
1170         };
1171 };
1172
1173 /* PINCTRL - board-specific pinctrl */
1174
1175 &pm6150_gpio {
1176         status = "disabled"; /* No GPIOs are connected */
1177 };
1178
1179 &pm6150l_gpio {
1180         gpio-line-names = "AP_SUSPEND",
1181                           "",
1182                           "",
1183                           "",
1184                           "",
1185                           "",
1186                           "",
1187                           "",
1188                           "",
1189                           "",
1190                           "",
1191                           "";
1192 };
1193
1194 &tlmm {
1195         /*
1196          * pinctrl settings for pins that have no real owners.
1197          */
1198         pinctrl-names = "default";
1199         pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>;
1200
1201         amp_en: amp-en {
1202                 pinmux {
1203                         pins = "gpio23";
1204                         function = "gpio";
1205                 };
1206
1207                 pinconf {
1208                         pins = "gpio23";
1209                         bias-pull-down;
1210                 };
1211         };
1212
1213         ap_ec_int_l: ap-ec-int-l {
1214                 pinmux {
1215                         pins = "gpio94";
1216                         function = "gpio";
1217                         input-enable;
1218                 };
1219
1220                 pinconf {
1221                         pins = "gpio94";
1222                         bias-pull-up;
1223                 };
1224         };
1225
1226         ap_edp_bklten: ap-edp-bklten {
1227                 pinmux {
1228                         pins = "gpio12";
1229                         function = "gpio";
1230                 };
1231
1232                 pinconf {
1233                         pins = "gpio12";
1234                         drive-strength = <2>;
1235                         bias-disable;
1236
1237                         /* Force backlight to be disabled to match state at boot. */
1238                         output-low;
1239                 };
1240         };
1241
1242         ap_suspend_l_neuter: ap-suspend-l-neuter {
1243                 pinmux  {
1244                         pins = "gpio27";
1245                         function = "gpio";
1246                 };
1247
1248                 pinconf {
1249                         pins = "gpio27";
1250                         bias-disable;
1251                 };
1252         };
1253
1254         bios_flash_wp_l: bios-flash-wp-l {
1255                 pinmux {
1256                         pins = "gpio66";
1257                         function = "gpio";
1258                         input-enable;
1259                 };
1260
1261                 pinconf {
1262                         pins = "gpio66";
1263                         bias-disable;
1264                 };
1265         };
1266
1267         edp_brij_en: edp-brij-en {
1268                 pinmux {
1269                         pins = "gpio104";
1270                         function = "gpio";
1271                 };
1272
1273                 pinconf {
1274                         pins = "gpio104";
1275                         drive-strength = <2>;
1276                         bias-disable;
1277                 };
1278         };
1279
1280         en_pp3300_codec: en-pp3300-codec {
1281                 pinmux {
1282                         pins = "gpio83";
1283                         function = "gpio";
1284                 };
1285
1286                 pinconf {
1287                         pins = "gpio83";
1288                         drive-strength = <2>;
1289                         bias-disable;
1290                 };
1291         };
1292
1293         en_pp3300_dx_edp: en-pp3300-dx-edp {
1294                 pinmux {
1295                         pins = "gpio30";
1296                         function = "gpio";
1297                 };
1298
1299                 pinconf {
1300                         pins = "gpio30";
1301                         drive-strength = <2>;
1302                         bias-disable;
1303                 };
1304         };
1305
1306         en_pp3300_hub: en-pp3300-hub {
1307                 pinmux {
1308                         pins = "gpio84";
1309                         function = "gpio";
1310                 };
1311
1312                 pinconf {
1313                         pins = "gpio84";
1314                         drive-strength = <2>;
1315                         bias-disable;
1316                 };
1317         };
1318
1319         fp_to_ap_irq_l: fp-to-ap-irq-l {
1320                 pinmux {
1321                         pins = "gpio4";
1322                         function = "gpio";
1323                         input-enable;
1324                 };
1325
1326                 pinconf {
1327                         pins = "gpio4";
1328
1329                         /* Has external pullup */
1330                         bias-disable;
1331                 };
1332         };
1333
1334         h1_ap_int_odl: h1-ap-int-odl {
1335                 pinmux {
1336                         pins = "gpio42";
1337                         function = "gpio";
1338                         input-enable;
1339                 };
1340
1341                 pinconf {
1342                         pins = "gpio42";
1343                         bias-pull-up;
1344                 };
1345         };
1346
1347         hp_irq: hp-irq {
1348                 pinmux {
1349                         pins = "gpio28";
1350                         function = "gpio";
1351                 };
1352
1353                 pinconf {
1354                         pins = "gpio28";
1355                         bias-pull-up;
1356                 };
1357         };
1358
1359         pen_irq_l: pen-irq-l {
1360                 pinmux {
1361                         pins = "gpio21";
1362                         function = "gpio";
1363                 };
1364
1365                 pinconf {
1366                         pins = "gpio21";
1367
1368                         /* Has external pullup */
1369                         bias-disable;
1370                 };
1371         };
1372
1373         pen_pdct_l: pen-pdct-l {
1374                 pinmux {
1375                         pins = "gpio52";
1376                         function = "gpio";
1377                 };
1378
1379                 pinconf {
1380                         pins = "gpio52";
1381
1382                         /* Has external pullup */
1383                         bias-disable;
1384                 };
1385         };
1386
1387         pen_rst_odl: pen-rst-odl {
1388                 pinmux  {
1389                         pins = "gpio18";
1390                         function = "gpio";
1391                 };
1392
1393                 pinconf {
1394                         pins = "gpio18";
1395                         bias-disable;
1396                         drive-strength = <2>;
1397
1398                         /*
1399                          * The pen driver doesn't currently support
1400                          * driving this reset line.  By specifying
1401                          * output-high here we're relying on the fact
1402                          * that this pin has a default pulldown at boot
1403                          * (which makes sure the pen was in reset if it
1404                          * was powered) and then we set it high here to
1405                          * take it out of reset.  Better would be if the
1406                          * pen driver could control this and we could
1407                          * remove "output-high" here.
1408                          */
1409                         output-high; /* TODO: Remove this? */
1410                 };
1411         };
1412
1413         p_sensor_int_l: p-sensor-int-l {
1414                 pinmux {
1415                         pins = "gpio24";
1416                         function = "gpio";
1417                         input-enable;
1418                 };
1419
1420                 pinconf {
1421                         pins = "gpio24";
1422                         /* Has external pullup */
1423                         bias-disable;
1424                 };
1425         };
1426
1427         qup_spi0_cs_gpio_init_high: qup-spi0-cs-gpio-init-high {
1428                 pinconf {
1429                         pins = "gpio37";
1430                         output-high;
1431                 };
1432         };
1433
1434         qup_spi6_cs_gpio_init_high: qup-spi6-cs-gpio-init-high {
1435                 pinconf {
1436                         pins = "gpio62";
1437                         output-high;
1438                 };
1439         };
1440
1441         qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high {
1442                 pinconf {
1443                         pins = "gpio89";
1444                         output-high;
1445                 };
1446         };
1447
1448         qup_uart3_sleep: qup-uart3-sleep {
1449                 pinmux {
1450                         pins = "gpio38", "gpio39",
1451                                "gpio40", "gpio41";
1452                         function = "gpio";
1453                 };
1454
1455                 pinconf-cts {
1456                         /*
1457                          * Configure a pull-down on CTS to match the pull of
1458                          * the Bluetooth module.
1459                          */
1460                         pins = "gpio38";
1461                         bias-pull-down;
1462                 };
1463
1464                 pinconf-rts {
1465                         /*
1466                          * Configure pull-down on RTS. As RTS is active low
1467                          * signal, pull it low to indicate the BT SoC that it
1468                          * can wakeup the system anytime from suspend state by
1469                          * pulling RX low (by sending wakeup bytes).
1470                          */
1471                          pins = "gpio39";
1472                          bias-pull-down;
1473                 };
1474
1475                 pinconf-tx {
1476                         /*
1477                          * Configure pull-up on TX when it isn't actively driven
1478                          * to prevent BT SoC from receiving garbage during sleep.
1479                          */
1480                         pins = "gpio40";
1481                         bias-pull-up;
1482                 };
1483
1484                 pinconf-rx {
1485                         /*
1486                          * Configure a pull-up on RX. This is needed to avoid
1487                          * garbage data when the TX pin of the Bluetooth module
1488                          * is floating which may cause spurious wakeups.
1489                          */
1490                         pins = "gpio41";
1491                         bias-pull-up;
1492                 };
1493         };
1494
1495         /* Named trackpad_int_1v8_odl on earlier revision schematics */
1496         trackpad_int_1v8_odl:
1497         tp_int_odl: tp-int-odl {
1498                 pinmux {
1499                         pins = "gpio0";
1500                         function = "gpio";
1501                 };
1502
1503                 pinconf {
1504                         pins = "gpio0";
1505
1506                         /* Has external pullup */
1507                         bias-disable;
1508                 };
1509         };
1510
1511         ts_int_l: ts-int-l {
1512                 pinmux  {
1513                         pins = "gpio9";
1514                         function = "gpio";
1515                 };
1516
1517                 pinconf {
1518                         pins = "gpio9";
1519                         bias-pull-up;
1520                 };
1521         };
1522
1523         ts_reset_l: ts-reset-l {
1524                 pinmux  {
1525                         pins = "gpio8";
1526                         function = "gpio";
1527                 };
1528
1529                 pinconf {
1530                         pins = "gpio8";
1531                         bias-disable;
1532                         drive-strength = <2>;
1533                 };
1534         };
1535
1536         sdc1_on: sdc1-on {
1537                 pinconf-clk {
1538                         pins = "sdc1_clk";
1539                         bias-disable;
1540                         drive-strength = <16>;
1541                 };
1542
1543                 pinconf-cmd {
1544                         pins = "sdc1_cmd";
1545                         bias-pull-up;
1546                         drive-strength = <16>;
1547                 };
1548
1549                 pinconf-data {
1550                         pins = "sdc1_data";
1551                         bias-pull-up;
1552                         drive-strength = <16>;
1553                 };
1554
1555                 pinconf-rclk {
1556                         pins = "sdc1_rclk";
1557                         bias-pull-down;
1558                 };
1559         };
1560
1561         sdc1_off: sdc1-off {
1562                 pinconf-clk {
1563                         pins = "sdc1_clk";
1564                         bias-disable;
1565                         drive-strength = <2>;
1566                 };
1567
1568                 pinconf-cmd {
1569                         pins = "sdc1_cmd";
1570                         bias-pull-up;
1571                         drive-strength = <2>;
1572                 };
1573
1574                 pinconf-data {
1575                         pins = "sdc1_data";
1576                         bias-pull-up;
1577                         drive-strength = <2>;
1578                 };
1579
1580                 pinconf-rclk {
1581                         pins = "sdc1_rclk";
1582                         bias-pull-down;
1583                 };
1584         };
1585
1586         sdc2_on: sdc2-on {
1587                 pinconf-clk {
1588                         pins = "sdc2_clk";
1589                         bias-disable;
1590                         drive-strength = <16>;
1591                 };
1592
1593                 pinconf-cmd {
1594                         pins = "sdc2_cmd";
1595                         bias-pull-up;
1596                         drive-strength = <10>;
1597                 };
1598
1599                 pinconf-data {
1600                         pins = "sdc2_data";
1601                         bias-pull-up;
1602                         drive-strength = <10>;
1603                 };
1604
1605                 pinconf-sd-cd {
1606                         pins = "gpio69";
1607                         bias-pull-up;
1608                         drive-strength = <2>;
1609                 };
1610         };
1611
1612         sdc2_off: sdc2-off {
1613                 pinconf-clk {
1614                         pins = "sdc2_clk";
1615                         bias-disable;
1616                         drive-strength = <2>;
1617                 };
1618
1619                 pinconf-cmd {
1620                         pins = "sdc2_cmd";
1621                         bias-pull-up;
1622                         drive-strength = <2>;
1623                 };
1624
1625                 pinconf-data {
1626                         pins = "sdc2_data";
1627                         bias-pull-up;
1628                         drive-strength = <2>;
1629                 };
1630
1631                 pinconf-sd-cd {
1632                         pins = "gpio69";
1633                         bias-pull-up;
1634                         drive-strength = <2>;
1635                 };
1636         };
1637
1638         uf_cam_en: uf-cam-en {
1639                 pinmux {
1640                         pins = "gpio6";
1641                         function = "gpio";
1642                 };
1643
1644                 pinconf {
1645                         pins = "gpio6";
1646                         drive-strength = <2>;
1647                         /* External pull down */
1648                         bias-disable;
1649                 };
1650         };
1651
1652         wf_cam_en: wf-cam-en {
1653                 pinmux {
1654                         pins = "gpio7";
1655                         function = "gpio";
1656                 };
1657
1658                 pinconf {
1659                         pins = "gpio7";
1660                         drive-strength = <2>;
1661                         /* External pull down */
1662                         bias-disable;
1663                 };
1664         };
1665 };