Merge tag 'pull-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs
[sfrench/cifs-2.6.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                 regulator-always-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 = "qcom/sc7180-trogdor/modem-nolte/mba.mbn",
859                         "qcom/sc7180-trogdor/modem-nolte/qdsp6sw.mbn";
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 };
928
929 &uart8 {
930         status = "okay";
931 };
932
933 &usb_1 {
934         status = "okay";
935 };
936
937 &usb_1_dwc3 {
938         dr_mode = "host";
939 };
940
941 &usb_1_hsphy {
942         status = "okay";
943         vdd-supply = <&vdd_qusb_hs0_core>;
944         vdda-pll-supply = <&vdda_qusb_hs0_1p8>;
945         vdda-phy-dpdm-supply = <&vdda_qusb_hs0_3p1>;
946         qcom,imp-res-offset-value = <8>;
947         qcom,preemphasis-level = <QUSB2_V2_PREEMPHASIS_15_PERCENT>;
948         qcom,preemphasis-width = <QUSB2_V2_PREEMPHASIS_WIDTH_HALF_BIT>;
949         qcom,bias-ctrl-value = <0x22>;
950         qcom,charge-ctrl-value = <3>;
951         qcom,hsdisc-trim-value = <0>;
952 };
953
954 &usb_1_qmpphy {
955         status = "okay";
956         vdda-phy-supply = <&vdda_usb_ss_dp_1p2>;
957         vdda-pll-supply = <&vdda_usb_ss_dp_core>;
958 };
959
960 &venus {
961         video-firmware {
962                 iommus = <&apps_smmu 0x0c42 0x0>;
963         };
964 };
965
966 &wifi {
967         status = "okay";
968         vdd-0.8-cx-mx-supply = <&vdd_cx_wlan>;
969         vdd-1.8-xo-supply = <&pp1800_l1c>;
970         vdd-1.3-rfa-supply = <&pp1300_l2c>;
971         vdd-3.3-ch0-supply = <&pp3300_l10c>;
972         vdd-3.3-ch1-supply = <&pp3300_l11c>;
973
974         wifi-firmware {
975                 iommus = <&apps_smmu 0xc2 0x1>;
976         };
977 };
978
979 /* PINCTRL - additions to nodes defined in sc7180.dtsi */
980
981 &dp_hot_plug_det {
982         pinconf {
983                 pins = "gpio117";
984                 bias-disable;
985         };
986 };
987
988 &pri_mi2s_active {
989         pinconf {
990                 pins = "gpio53", "gpio54", "gpio55", "gpio56";
991                 drive-strength = <2>;
992                 bias-pull-down;
993         };
994 };
995
996 &pri_mi2s_mclk_active {
997         pinconf {
998                 pins = "gpio57";
999                 drive-strength = <2>;
1000                 bias-pull-down;
1001         };
1002 };
1003
1004 &qspi_cs0 {
1005         pinconf {
1006                 pins = "gpio68";
1007                 bias-disable;
1008         };
1009 };
1010
1011 &qspi_clk {
1012         pinconf {
1013                 pins = "gpio63";
1014                 drive-strength = <8>;
1015                 bias-disable;
1016         };
1017 };
1018
1019 &qspi_data01 {
1020         pinconf {
1021                 pins = "gpio64", "gpio65";
1022
1023                 /* High-Z when no transfers; nice to park the lines */
1024                 bias-pull-up;
1025         };
1026 };
1027
1028 &qup_i2c2_default {
1029         pinconf {
1030                 pins = "gpio15", "gpio16";
1031                 drive-strength = <2>;
1032
1033                 /* Has external pullup */
1034                 bias-disable;
1035         };
1036 };
1037
1038 &qup_i2c4_default {
1039         pinconf {
1040                 pins = "gpio115", "gpio116";
1041                 drive-strength = <2>;
1042
1043                 /* Has external pullup */
1044                 bias-disable;
1045         };
1046 };
1047
1048 &qup_i2c5_default {
1049         pinconf {
1050                 pins = "gpio25", "gpio26";
1051                 drive-strength = <2>;
1052
1053                 /* Has external pullup */
1054                 bias-disable;
1055         };
1056 };
1057
1058 &qup_i2c7_default {
1059         pinconf {
1060                 pins = "gpio6", "gpio7";
1061                 drive-strength = <2>;
1062
1063                 /* Has external pullup */
1064                 bias-disable;
1065         };
1066 };
1067
1068 &qup_i2c9_default {
1069         pinconf {
1070                 pins = "gpio46", "gpio47";
1071                 drive-strength = <2>;
1072
1073                 /* Has external pullup */
1074                 bias-disable;
1075         };
1076 };
1077
1078 &qup_spi0_cs_gpio {
1079         pinconf {
1080                 pins = "gpio34", "gpio35", "gpio36", "gpio37";
1081                 drive-strength = <2>;
1082                 bias-disable;
1083         };
1084 };
1085
1086 &qup_spi6_cs_gpio {
1087         pinconf {
1088                 pins = "gpio59", "gpio60", "gpio61", "gpio62";
1089                 drive-strength = <2>;
1090                 bias-disable;
1091         };
1092 };
1093
1094 &qup_spi10_cs_gpio {
1095         pinconf {
1096                 pins = "gpio86", "gpio87", "gpio88", "gpio89";
1097                 drive-strength = <2>;
1098                 bias-disable;
1099         };
1100 };
1101
1102 &qup_uart3_default {
1103         pinconf-cts {
1104                 /*
1105                  * Configure a pull-down on CTS to match the pull of
1106                  * the Bluetooth module.
1107                  */
1108                 pins = "gpio38";
1109                 bias-pull-down;
1110         };
1111
1112         pinconf-rts-tx {
1113                 /* We'll drive RTS and TX, so no pull */
1114                 pins = "gpio39", "gpio40";
1115                 drive-strength = <2>;
1116                 bias-disable;
1117         };
1118
1119         pinconf-rx {
1120                 /*
1121                  * Configure a pull-up on RX. This is needed to avoid
1122                  * garbage data when the TX pin of the Bluetooth module is
1123                  * in tri-state (module powered off or not driving the
1124                  * signal yet).
1125                  */
1126                 pins = "gpio41";
1127                 bias-pull-up;
1128         };
1129 };
1130
1131 &qup_uart8_default {
1132         pinconf-tx {
1133                 pins = "gpio44";
1134                 drive-strength = <2>;
1135                 bias-disable;
1136         };
1137
1138         pinconf-rx {
1139                 pins = "gpio45";
1140                 drive-strength = <2>;
1141                 bias-pull-up;
1142         };
1143 };
1144
1145 &sec_mi2s_active {
1146         pinconf {
1147                 pins = "gpio49", "gpio50", "gpio51";
1148                 drive-strength = <2>;
1149                 bias-pull-down;
1150         };
1151 };
1152
1153 /* PINCTRL - board-specific pinctrl */
1154
1155 &pm6150_gpio {
1156         status = "disabled"; /* No GPIOs are connected */
1157 };
1158
1159 &pm6150l_gpio {
1160         gpio-line-names = "AP_SUSPEND",
1161                           "",
1162                           "",
1163                           "",
1164                           "",
1165                           "",
1166                           "",
1167                           "",
1168                           "",
1169                           "",
1170                           "",
1171                           "";
1172 };
1173
1174 &tlmm {
1175         /*
1176          * pinctrl settings for pins that have no real owners.
1177          */
1178         pinctrl-names = "default";
1179         pinctrl-0 = <&bios_flash_wp_l>, <&ap_suspend_l_neuter>;
1180
1181         amp_en: amp-en {
1182                 pinmux {
1183                         pins = "gpio23";
1184                         function = "gpio";
1185                 };
1186
1187                 pinconf {
1188                         pins = "gpio23";
1189                         bias-pull-down;
1190                 };
1191         };
1192
1193         ap_ec_int_l: ap-ec-int-l {
1194                 pinmux {
1195                         pins = "gpio94";
1196                         function = "gpio";
1197                         input-enable;
1198                 };
1199
1200                 pinconf {
1201                         pins = "gpio94";
1202                         bias-pull-up;
1203                 };
1204         };
1205
1206         ap_edp_bklten: ap-edp-bklten {
1207                 pinmux {
1208                         pins = "gpio12";
1209                         function = "gpio";
1210                 };
1211
1212                 pinconf {
1213                         pins = "gpio12";
1214                         drive-strength = <2>;
1215                         bias-disable;
1216
1217                         /* Force backlight to be disabled to match state at boot. */
1218                         output-low;
1219                 };
1220         };
1221
1222         ap_suspend_l_neuter: ap-suspend-l-neuter {
1223                 pinmux  {
1224                         pins = "gpio27";
1225                         function = "gpio";
1226                 };
1227
1228                 pinconf {
1229                         pins = "gpio27";
1230                         bias-disable;
1231                 };
1232         };
1233
1234         bios_flash_wp_l: bios-flash-wp-l {
1235                 pinmux {
1236                         pins = "gpio66";
1237                         function = "gpio";
1238                         input-enable;
1239                 };
1240
1241                 pinconf {
1242                         pins = "gpio66";
1243                         bias-disable;
1244                 };
1245         };
1246
1247         edp_brij_en: edp-brij-en {
1248                 pinmux {
1249                         pins = "gpio104";
1250                         function = "gpio";
1251                 };
1252
1253                 pinconf {
1254                         pins = "gpio104";
1255                         drive-strength = <2>;
1256                         bias-disable;
1257                 };
1258         };
1259
1260         en_pp3300_codec: en-pp3300-codec {
1261                 pinmux {
1262                         pins = "gpio83";
1263                         function = "gpio";
1264                 };
1265
1266                 pinconf {
1267                         pins = "gpio83";
1268                         drive-strength = <2>;
1269                         bias-disable;
1270                 };
1271         };
1272
1273         en_pp3300_dx_edp: en-pp3300-dx-edp {
1274                 pinmux {
1275                         pins = "gpio30";
1276                         function = "gpio";
1277                 };
1278
1279                 pinconf {
1280                         pins = "gpio30";
1281                         drive-strength = <2>;
1282                         bias-disable;
1283                 };
1284         };
1285
1286         en_pp3300_hub: en-pp3300-hub {
1287                 pinmux {
1288                         pins = "gpio84";
1289                         function = "gpio";
1290                 };
1291
1292                 pinconf {
1293                         pins = "gpio84";
1294                         drive-strength = <2>;
1295                         bias-disable;
1296                 };
1297         };
1298
1299         fp_to_ap_irq_l: fp-to-ap-irq-l {
1300                 pinmux {
1301                         pins = "gpio4";
1302                         function = "gpio";
1303                         input-enable;
1304                 };
1305
1306                 pinconf {
1307                         pins = "gpio4";
1308
1309                         /* Has external pullup */
1310                         bias-disable;
1311                 };
1312         };
1313
1314         h1_ap_int_odl: h1-ap-int-odl {
1315                 pinmux {
1316                         pins = "gpio42";
1317                         function = "gpio";
1318                         input-enable;
1319                 };
1320
1321                 pinconf {
1322                         pins = "gpio42";
1323                         bias-pull-up;
1324                 };
1325         };
1326
1327         hp_irq: hp-irq {
1328                 pinmux {
1329                         pins = "gpio28";
1330                         function = "gpio";
1331                 };
1332
1333                 pinconf {
1334                         pins = "gpio28";
1335                         bias-pull-up;
1336                 };
1337         };
1338
1339         pen_irq_l: pen-irq-l {
1340                 pinmux {
1341                         pins = "gpio21";
1342                         function = "gpio";
1343                 };
1344
1345                 pinconf {
1346                         pins = "gpio21";
1347
1348                         /* Has external pullup */
1349                         bias-disable;
1350                 };
1351         };
1352
1353         pen_pdct_l: pen-pdct-l {
1354                 pinmux {
1355                         pins = "gpio52";
1356                         function = "gpio";
1357                 };
1358
1359                 pinconf {
1360                         pins = "gpio52";
1361
1362                         /* Has external pullup */
1363                         bias-disable;
1364                 };
1365         };
1366
1367         pen_rst_odl: pen-rst-odl {
1368                 pinmux  {
1369                         pins = "gpio18";
1370                         function = "gpio";
1371                 };
1372
1373                 pinconf {
1374                         pins = "gpio18";
1375                         bias-disable;
1376                         drive-strength = <2>;
1377
1378                         /*
1379                          * The pen driver doesn't currently support
1380                          * driving this reset line.  By specifying
1381                          * output-high here we're relying on the fact
1382                          * that this pin has a default pulldown at boot
1383                          * (which makes sure the pen was in reset if it
1384                          * was powered) and then we set it high here to
1385                          * take it out of reset.  Better would be if the
1386                          * pen driver could control this and we could
1387                          * remove "output-high" here.
1388                          */
1389                         output-high; /* TODO: Remove this? */
1390                 };
1391         };
1392
1393         p_sensor_int_l: p-sensor-int-l {
1394                 pinmux {
1395                         pins = "gpio24";
1396                         function = "gpio";
1397                         input-enable;
1398                 };
1399
1400                 pinconf {
1401                         pins = "gpio24";
1402                         /* Has external pullup */
1403                         bias-disable;
1404                 };
1405         };
1406
1407         qup_spi0_cs_gpio_init_high: qup-spi0-cs-gpio-init-high {
1408                 pinconf {
1409                         pins = "gpio37";
1410                         output-high;
1411                 };
1412         };
1413
1414         qup_spi6_cs_gpio_init_high: qup-spi6-cs-gpio-init-high {
1415                 pinconf {
1416                         pins = "gpio62";
1417                         output-high;
1418                 };
1419         };
1420
1421         qup_spi10_cs_gpio_init_high: qup-spi10-cs-gpio-init-high {
1422                 pinconf {
1423                         pins = "gpio89";
1424                         output-high;
1425                 };
1426         };
1427
1428         qup_uart3_sleep: qup-uart3-sleep {
1429                 pinmux {
1430                         pins = "gpio38", "gpio39",
1431                                "gpio40", "gpio41";
1432                         function = "gpio";
1433                 };
1434
1435                 pinconf-cts {
1436                         /*
1437                          * Configure a pull-down on CTS to match the pull of
1438                          * the Bluetooth module.
1439                          */
1440                         pins = "gpio38";
1441                         bias-pull-down;
1442                 };
1443
1444                 pinconf-rts {
1445                         /*
1446                          * Configure pull-down on RTS. As RTS is active low
1447                          * signal, pull it low to indicate the BT SoC that it
1448                          * can wakeup the system anytime from suspend state by
1449                          * pulling RX low (by sending wakeup bytes).
1450                          */
1451                          pins = "gpio39";
1452                          bias-pull-down;
1453                 };
1454
1455                 pinconf-tx {
1456                         /*
1457                          * Configure pull-up on TX when it isn't actively driven
1458                          * to prevent BT SoC from receiving garbage during sleep.
1459                          */
1460                         pins = "gpio40";
1461                         bias-pull-up;
1462                 };
1463
1464                 pinconf-rx {
1465                         /*
1466                          * Configure a pull-up on RX. This is needed to avoid
1467                          * garbage data when the TX pin of the Bluetooth module
1468                          * is floating which may cause spurious wakeups.
1469                          */
1470                         pins = "gpio41";
1471                         bias-pull-up;
1472                 };
1473         };
1474
1475         /* Named trackpad_int_1v8_odl on earlier revision schematics */
1476         trackpad_int_1v8_odl:
1477         tp_int_odl: tp-int-odl {
1478                 pinmux {
1479                         pins = "gpio0";
1480                         function = "gpio";
1481                 };
1482
1483                 pinconf {
1484                         pins = "gpio0";
1485
1486                         /* Has external pullup */
1487                         bias-disable;
1488                 };
1489         };
1490
1491         ts_int_l: ts-int-l {
1492                 pinmux  {
1493                         pins = "gpio9";
1494                         function = "gpio";
1495                 };
1496
1497                 pinconf {
1498                         pins = "gpio9";
1499                         bias-pull-up;
1500                 };
1501         };
1502
1503         ts_reset_l: ts-reset-l {
1504                 pinmux  {
1505                         pins = "gpio8";
1506                         function = "gpio";
1507                 };
1508
1509                 pinconf {
1510                         pins = "gpio8";
1511                         bias-disable;
1512                         drive-strength = <2>;
1513                 };
1514         };
1515
1516         sdc1_on: sdc1-on {
1517                 pinconf-clk {
1518                         pins = "sdc1_clk";
1519                         bias-disable;
1520                         drive-strength = <16>;
1521                 };
1522
1523                 pinconf-cmd {
1524                         pins = "sdc1_cmd";
1525                         bias-pull-up;
1526                         drive-strength = <16>;
1527                 };
1528
1529                 pinconf-data {
1530                         pins = "sdc1_data";
1531                         bias-pull-up;
1532                         drive-strength = <16>;
1533                 };
1534
1535                 pinconf-rclk {
1536                         pins = "sdc1_rclk";
1537                         bias-pull-down;
1538                 };
1539         };
1540
1541         sdc1_off: sdc1-off {
1542                 pinconf-clk {
1543                         pins = "sdc1_clk";
1544                         bias-disable;
1545                         drive-strength = <2>;
1546                 };
1547
1548                 pinconf-cmd {
1549                         pins = "sdc1_cmd";
1550                         bias-pull-up;
1551                         drive-strength = <2>;
1552                 };
1553
1554                 pinconf-data {
1555                         pins = "sdc1_data";
1556                         bias-pull-up;
1557                         drive-strength = <2>;
1558                 };
1559
1560                 pinconf-rclk {
1561                         pins = "sdc1_rclk";
1562                         bias-pull-down;
1563                 };
1564         };
1565
1566         sdc2_on: sdc2-on {
1567                 pinconf-clk {
1568                         pins = "sdc2_clk";
1569                         bias-disable;
1570                         drive-strength = <16>;
1571                 };
1572
1573                 pinconf-cmd {
1574                         pins = "sdc2_cmd";
1575                         bias-pull-up;
1576                         drive-strength = <10>;
1577                 };
1578
1579                 pinconf-data {
1580                         pins = "sdc2_data";
1581                         bias-pull-up;
1582                         drive-strength = <10>;
1583                 };
1584
1585                 pinconf-sd-cd {
1586                         pins = "gpio69";
1587                         bias-pull-up;
1588                         drive-strength = <2>;
1589                 };
1590         };
1591
1592         sdc2_off: sdc2-off {
1593                 pinconf-clk {
1594                         pins = "sdc2_clk";
1595                         bias-disable;
1596                         drive-strength = <2>;
1597                 };
1598
1599                 pinconf-cmd {
1600                         pins = "sdc2_cmd";
1601                         bias-pull-up;
1602                         drive-strength = <2>;
1603                 };
1604
1605                 pinconf-data {
1606                         pins = "sdc2_data";
1607                         bias-pull-up;
1608                         drive-strength = <2>;
1609                 };
1610
1611                 pinconf-sd-cd {
1612                         pins = "gpio69";
1613                         bias-pull-up;
1614                         drive-strength = <2>;
1615                 };
1616         };
1617
1618         uf_cam_en: uf-cam-en {
1619                 pinmux {
1620                         pins = "gpio6";
1621                         function = "gpio";
1622                 };
1623
1624                 pinconf {
1625                         pins = "gpio6";
1626                         drive-strength = <2>;
1627                         /* External pull down */
1628                         bias-disable;
1629                 };
1630         };
1631
1632         wf_cam_en: wf-cam-en {
1633                 pinmux {
1634                         pins = "gpio7";
1635                         function = "gpio";
1636                 };
1637
1638                 pinconf {
1639                         pins = "gpio7";
1640                         drive-strength = <2>;
1641                         /* External pull down */
1642                         bias-disable;
1643                 };
1644         };
1645 };