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