Merge tag 'for-linus-5.15-1' of git://github.com/cminyard/linux-ipmi
[linux-2.6-microblaze.git] / arch / arm64 / boot / dts / qcom / apq8016-sbc.dtsi
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Copyright (c) 2015, The Linux Foundation. All rights reserved.
4  */
5
6 #include "msm8916-pm8916.dtsi"
7 #include <dt-bindings/gpio/gpio.h>
8 #include <dt-bindings/input/input.h>
9 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
10 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
11 #include <dt-bindings/sound/apq8016-lpass.h>
12
13 / {
14         aliases {
15                 serial0 = &blsp1_uart2;
16                 serial1 = &blsp1_uart1;
17                 usid0 = &pm8916_0;
18                 i2c0    = &blsp_i2c2;
19                 i2c1    = &blsp_i2c6;
20                 i2c3    = &blsp_i2c4;
21                 spi0    = &blsp_spi5;
22                 spi1    = &blsp_spi3;
23         };
24
25         chosen {
26                 stdout-path = "serial0";
27         };
28
29         camera_vdddo_1v8: camera-vdddo-1v8 {
30                 compatible = "regulator-fixed";
31                 regulator-name = "camera_vdddo";
32                 regulator-min-microvolt = <1800000>;
33                 regulator-max-microvolt = <1800000>;
34                 regulator-always-on;
35         };
36
37         camera_vdda_2v8: camera-vdda-2v8 {
38                 compatible = "regulator-fixed";
39                 regulator-name = "camera_vdda";
40                 regulator-min-microvolt = <2800000>;
41                 regulator-max-microvolt = <2800000>;
42                 regulator-always-on;
43         };
44
45         camera_vddd_1v5: camera-vddd-1v5 {
46                 compatible = "regulator-fixed";
47                 regulator-name = "camera_vddd";
48                 regulator-min-microvolt = <1500000>;
49                 regulator-max-microvolt = <1500000>;
50                 regulator-always-on;
51         };
52
53         reserved-memory {
54                 ramoops@bff00000 {
55                         compatible = "ramoops";
56                         reg = <0x0 0xbff00000 0x0 0x100000>;
57
58                         record-size = <0x20000>;
59                         console-size = <0x20000>;
60                         ftrace-size = <0x20000>;
61                 };
62         };
63
64         usb2513 {
65                 compatible = "smsc,usb3503";
66                 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
67                 initial-mode = <1>;
68         };
69
70         usb_id: usb-id {
71                 compatible = "linux,extcon-usb-gpio";
72                 id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
73                 pinctrl-names = "default";
74                 pinctrl-0 = <&usb_id_default>;
75         };
76
77         hdmi-out {
78                 compatible = "hdmi-connector";
79                 type = "a";
80
81                 port {
82                         hdmi_con: endpoint {
83                                 remote-endpoint = <&adv7533_out>;
84                         };
85                 };
86         };
87
88         gpio-keys {
89                 compatible = "gpio-keys";
90                 #address-cells = <1>;
91                 #size-cells = <0>;
92                 autorepeat;
93
94                 pinctrl-names = "default";
95                 pinctrl-0 = <&msm_key_volp_n_default>;
96
97                 button@0 {
98                         label = "Volume Up";
99                         linux,code = <KEY_VOLUMEUP>;
100                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
101                 };
102         };
103
104         leds {
105                 pinctrl-names = "default";
106                 pinctrl-0 = <&msmgpio_leds>,
107                             <&pm8916_gpios_leds>,
108                             <&pm8916_mpps_leds>;
109
110                 compatible = "gpio-leds";
111
112                 led@1 {
113                         label = "apq8016-sbc:green:user1";
114                         gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
115                         linux,default-trigger = "heartbeat";
116                         default-state = "off";
117                 };
118
119                 led@2 {
120                         label = "apq8016-sbc:green:user2";
121                         gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
122                         linux,default-trigger = "mmc0";
123                         default-state = "off";
124                 };
125
126                 led@3 {
127                         label = "apq8016-sbc:green:user3";
128                         gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
129                         linux,default-trigger = "mmc1";
130                         default-state = "off";
131                 };
132
133                 led@4 {
134                         label = "apq8016-sbc:green:user4";
135                         gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
136                         linux,default-trigger = "none";
137                         panic-indicator;
138                         default-state = "off";
139                 };
140
141                 led@5 {
142                         label = "apq8016-sbc:yellow:wlan";
143                         gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
144                         linux,default-trigger = "phy0tx";
145                         default-state = "off";
146                 };
147
148                 led@6 {
149                         label = "apq8016-sbc:blue:bt";
150                         gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
151                         linux,default-trigger = "bluetooth-power";
152                         default-state = "off";
153                 };
154         };
155 };
156
157 &blsp_dma {
158         status = "okay";
159 };
160
161 &blsp_i2c2 {
162         /* On Low speed expansion */
163         status = "okay";
164         label = "LS-I2C0";
165 };
166
167 &blsp_i2c4 {
168         /* On High speed expansion */
169         status = "okay";
170         label = "HS-I2C2";
171
172         adv_bridge: bridge@39 {
173                 status = "okay";
174
175                 compatible = "adi,adv7533";
176                 reg = <0x39>;
177
178                 interrupt-parent = <&msmgpio>;
179                 interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
180
181                 adi,dsi-lanes = <4>;
182                 clocks = <&rpmcc RPM_SMD_BB_CLK2>;
183                 clock-names = "cec";
184
185                 pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
186
187                 avdd-supply = <&pm8916_l6>;
188                 v1p2-supply = <&pm8916_l6>;
189                 v3p3-supply = <&pm8916_l17>;
190
191                 pinctrl-names = "default","sleep";
192                 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
193                 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
194                 #sound-dai-cells = <1>;
195
196                 ports {
197                         #address-cells = <1>;
198                         #size-cells = <0>;
199
200                         port@0 {
201                                 reg = <0>;
202                                 adv7533_in: endpoint {
203                                         remote-endpoint = <&dsi0_out>;
204                                 };
205                         };
206
207                         port@1 {
208                                 reg = <1>;
209                                 adv7533_out: endpoint {
210                                         remote-endpoint = <&hdmi_con>;
211                                 };
212                         };
213                 };
214         };
215 };
216
217 &blsp_i2c6 {
218         /* On Low speed expansion */
219         status = "okay";
220         label = "LS-I2C1";
221 };
222
223 &blsp_spi3 {
224         /* On High speed expansion */
225         status = "okay";
226         label = "HS-SPI1";
227 };
228
229 &blsp_spi5 {
230         /* On Low speed expansion */
231         status = "okay";
232         label = "LS-SPI0";
233 };
234
235 &blsp1_uart1 {
236         status = "okay";
237         label = "LS-UART0";
238 };
239
240 &blsp1_uart2 {
241         status = "okay";
242         label = "LS-UART1";
243 };
244
245 &camss {
246         status = "okay";
247         ports {
248                 port@0 {
249                         reg = <0>;
250                         csiphy0_ep: endpoint {
251                                 clock-lanes = <1>;
252                                 data-lanes = <0 2>;
253                                 remote-endpoint = <&ov5640_ep>;
254                                 status = "okay";
255                         };
256                 };
257         };
258 };
259
260 &cci {
261         status = "okay";
262 };
263
264 &cci_i2c0 {
265         camera_rear@3b {
266                 compatible = "ovti,ov5640";
267                 reg = <0x3b>;
268
269                 enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
270                 reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
271                 pinctrl-names = "default";
272                 pinctrl-0 = <&camera_rear_default>;
273
274                 clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
275                 clock-names = "xclk";
276                 clock-frequency = <23880000>;
277
278                 vdddo-supply = <&camera_vdddo_1v8>;
279                 vdda-supply = <&camera_vdda_2v8>;
280                 vddd-supply = <&camera_vddd_1v5>;
281
282                 /* No camera mezzanine by default */
283                 status = "disabled";
284
285                 port {
286                         ov5640_ep: endpoint {
287                                 clock-lanes = <1>;
288                                 data-lanes = <0 2>;
289                                 remote-endpoint = <&csiphy0_ep>;
290                         };
291                 };
292         };
293 };
294
295 &dsi0_out {
296         data-lanes = <0 1 2 3>;
297         remote-endpoint = <&adv7533_in>;
298 };
299
300 &lpass {
301         status = "okay";
302 };
303
304 &mdss {
305         status = "okay";
306 };
307
308 &pm8916_resin {
309         status = "okay";
310         linux,code = <KEY_VOLUMEDOWN>;
311 };
312
313 &pronto {
314         status = "okay";
315 };
316
317 &sdhc_1 {
318         status = "okay";
319
320         pinctrl-names = "default", "sleep";
321         pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
322         pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
323 };
324
325 &sdhc_2 {
326         status = "okay";
327
328         pinctrl-names = "default", "sleep";
329         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
330         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
331
332         cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
333 };
334
335 &sound {
336         status = "okay";
337
338         pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
339         pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
340         pinctrl-names = "default", "sleep";
341         qcom,model = "DB410c";
342         qcom,audio-routing =
343                 "AMIC2", "MIC BIAS Internal2",
344                 "AMIC3", "MIC BIAS External1";
345
346         external-dai-link@0 {
347                 link-name = "ADV7533";
348                 cpu {
349                         sound-dai = <&lpass MI2S_QUATERNARY>;
350                 };
351                 codec {
352                         sound-dai = <&adv_bridge 0>;
353                 };
354         };
355
356         internal-codec-playback-dai-link@0 {
357                 link-name = "WCD";
358                 cpu {
359                         sound-dai = <&lpass MI2S_PRIMARY>;
360                 };
361                 codec {
362                         sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
363                 };
364         };
365
366         internal-codec-capture-dai-link@0 {
367                 link-name = "WCD-Capture";
368                 cpu {
369                         sound-dai = <&lpass MI2S_TERTIARY>;
370                 };
371                 codec {
372                         sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
373                 };
374         };
375 };
376
377 &usb {
378         status = "okay";
379         extcon = <&usb_id>, <&usb_id>;
380
381         pinctrl-names = "default", "device";
382         pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>;
383         pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>;
384 };
385
386 &usb_hs_phy {
387         extcon = <&usb_id>;
388 };
389
390 &wcd_codec {
391         clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
392         clock-names = "mclk";
393         qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
394         qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
395 };
396
397 /* Enable CoreSight */
398 &cti0 { status = "okay"; };
399 &cti1 { status = "okay"; };
400 &cti12 { status = "okay"; };
401 &cti13 { status = "okay"; };
402 &cti14 { status = "okay"; };
403 &cti15 { status = "okay"; };
404 &debug0 { status = "okay"; };
405 &debug1 { status = "okay"; };
406 &debug2 { status = "okay"; };
407 &debug3 { status = "okay"; };
408 &etf { status = "okay"; };
409 &etm0 { status = "okay"; };
410 &etm1 { status = "okay"; };
411 &etm2 { status = "okay"; };
412 &etm3 { status = "okay"; };
413 &etr { status = "okay"; };
414 &funnel0 { status = "okay"; };
415 &funnel1 { status = "okay"; };
416 &replicator { status = "okay"; };
417 &stm { status = "okay"; };
418 &tpiu { status = "okay"; };
419
420 &smd_rpm_regulators {
421         vdd_l1_l2_l3-supply = <&pm8916_s3>;
422         vdd_l4_l5_l6-supply = <&pm8916_s4>;
423         vdd_l7-supply = <&pm8916_s4>;
424
425         s3 {
426                 regulator-min-microvolt = <375000>;
427                 regulator-max-microvolt = <1562000>;
428         };
429
430         s4 {
431                 regulator-min-microvolt = <1800000>;
432                 regulator-max-microvolt = <1800000>;
433
434                 regulator-always-on;
435                 regulator-boot-on;
436         };
437
438         l1 {
439                 regulator-min-microvolt = <375000>;
440                 regulator-max-microvolt = <1525000>;
441         };
442
443         l2 {
444                 regulator-min-microvolt = <1200000>;
445                 regulator-max-microvolt = <1200000>;
446         };
447
448         l4 {
449                 regulator-min-microvolt = <1750000>;
450                 regulator-max-microvolt = <3337000>;
451         };
452
453         l5 {
454                 regulator-min-microvolt = <1750000>;
455                 regulator-max-microvolt = <3337000>;
456         };
457
458         l6 {
459                 regulator-min-microvolt = <1800000>;
460                 regulator-max-microvolt = <1800000>;
461         };
462
463         l7 {
464                 regulator-min-microvolt = <1750000>;
465                 regulator-max-microvolt = <3337000>;
466         };
467
468         l8 {
469                 regulator-min-microvolt = <1750000>;
470                 regulator-max-microvolt = <3337000>;
471         };
472
473         l9 {
474                 regulator-min-microvolt = <1750000>;
475                 regulator-max-microvolt = <3337000>;
476         };
477
478         l10 {
479                 regulator-min-microvolt = <1750000>;
480                 regulator-max-microvolt = <3337000>;
481         };
482
483         l11 {
484                 regulator-min-microvolt = <1750000>;
485                 regulator-max-microvolt = <3337000>;
486                 regulator-allow-set-load;
487                 regulator-system-load = <200000>;
488         };
489
490         l12 {
491                 regulator-min-microvolt = <1750000>;
492                 regulator-max-microvolt = <3337000>;
493         };
494
495         l13 {
496                 regulator-min-microvolt = <1750000>;
497                 regulator-max-microvolt = <3337000>;
498         };
499
500         l14 {
501                 regulator-min-microvolt = <1750000>;
502                 regulator-max-microvolt = <3337000>;
503         };
504
505         /**
506          * 1.8v required on LS expansion
507          * for mezzanine boards
508          */
509         l15 {
510                 regulator-min-microvolt = <1750000>;
511                 regulator-max-microvolt = <3337000>;
512                 regulator-always-on;
513         };
514
515         l16 {
516                 regulator-min-microvolt = <1750000>;
517                 regulator-max-microvolt = <3337000>;
518         };
519
520         l17 {
521                 regulator-min-microvolt = <3300000>;
522                 regulator-max-microvolt = <3300000>;
523         };
524
525         l18 {
526                 regulator-min-microvolt = <1750000>;
527                 regulator-max-microvolt = <3337000>;
528         };
529 };
530
531 /*
532  * 2mA drive strength is not enough when connecting multiple
533  * I2C devices with different pull up resistors.
534  */
535 &i2c2_default {
536         drive-strength = <16>;
537 };
538
539 &i2c4_default {
540         drive-strength = <16>;
541 };
542
543 &i2c6_default {
544         drive-strength = <16>;
545 };
546
547 /*
548  * GPIO name legend: proper name = the GPIO line is used as GPIO
549  *         NC = not connected (pin out but not routed from the chip to
550  *              anything the board)
551  *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
552  *         LSEC = Low Speed External Connector
553  *         HSEC = High Speed External Connector
554  *
555  * Line names are taken from the schematic "DragonBoard410c"
556  * dated monday, august 31, 2015. Page 5 in particular.
557  *
558  * For the lines routed to the external connectors the
559  * lines are named after the 96Boards CE Specification 1.0,
560  * Appendix "Expansion Connector Signal Description".
561  *
562  * When the 96Board naming of a line and the schematic name of
563  * the same line are in conflict, the 96Board specification
564  * takes precedence, which means that the external UART on the
565  * LSEC is named UART0 while the schematic and SoC names this
566  * UART3. This is only for the informational lines i.e. "[FOO]",
567  * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
568  * ones actually used for GPIO.
569  */
570
571 &msmgpio {
572         gpio-line-names =
573                 "[UART0_TX]", /* GPIO_0, LSEC pin 5 */
574                 "[UART0_RX]", /* GPIO_1, LSEC pin 7 */
575                 "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */
576                 "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */
577                 "[UART1_TX]", /* GPIO_4, LSEC pin 11 */
578                 "[UART1_RX]", /* GPIO_5, LSEC pin 13 */
579                 "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */
580                 "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */
581                 "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */
582                 "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */
583                 "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */
584                 "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */
585                 "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */
586                 "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */
587                 "[I2C3_SDA]", /* HSEC pin 38 */
588                 "[I2C3_SCL]", /* HSEC pin 36 */
589                 "[SPI0_MOSI]", /* LSEC pin 14 */
590                 "[SPI0_MISO]", /* LSEC pin 10 */
591                 "[SPI0_CS_N]", /* LSEC pin 12 */
592                 "[SPI0_CLK]", /* LSEC pin 8 */
593                 "HDMI_HPD_N", /* GPIO 20 */
594                 "USR_LED_1_CTRL",
595                 "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */
596                 "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */
597                 "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */
598                 "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */
599                 "[CSI0_MCLK]", /* HSEC pin 15 */
600                 "[CSI1_MCLK]", /* HSEC pin 17 */
601                 "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */
602                 "[I2C2_SDA]", /* HSEC pin 34 */
603                 "[I2C2_SCL]", /* HSEC pin 32 */
604                 "DSI2HDMI_INT_N",
605                 "DSI_SW_SEL_APQ",
606                 "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */
607                 "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */
608                 "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */
609                 "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */
610                 "FORCED_USB_BOOT",
611                 "SD_CARD_DET_N",
612                 "[WCSS_BT_SSBI]",
613                 "[WCSS_WLAN_DATA_2]", /* GPIO 40 */
614                 "[WCSS_WLAN_DATA_1]",
615                 "[WCSS_WLAN_DATA_0]",
616                 "[WCSS_WLAN_SET]",
617                 "[WCSS_WLAN_CLK]",
618                 "[WCSS_FM_SSBI]",
619                 "[WCSS_FM_SDI]",
620                 "[WCSS_BT_DAT_CTL]",
621                 "[WCSS_BT_DAT_STB]",
622                 "NC",
623                 "NC", /* GPIO 50 */
624                 "NC",
625                 "NC",
626                 "NC",
627                 "NC",
628                 "NC",
629                 "NC",
630                 "NC",
631                 "NC",
632                 "NC",
633                 "NC", /* GPIO 60 */
634                 "NC",
635                 "NC",
636                 "[CDC_PDM0_CLK]",
637                 "[CDC_PDM0_SYNC]",
638                 "[CDC_PDM0_TX0]",
639                 "[CDC_PDM0_RX0]",
640                 "[CDC_PDM0_RX1]",
641                 "[CDC_PDM0_RX2]",
642                 "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */
643                 "NC", /* GPIO 70 */
644                 "NC",
645                 "NC",
646                 "NC",
647                 "NC", /* GPIO 74 */
648                 "NC",
649                 "NC",
650                 "NC",
651                 "NC",
652                 "NC",
653                 "BOOT_CONFIG_0", /* GPIO 80 */
654                 "BOOT_CONFIG_1",
655                 "BOOT_CONFIG_2",
656                 "BOOT_CONFIG_3",
657                 "NC",
658                 "NC",
659                 "BOOT_CONFIG_5",
660                 "NC",
661                 "NC",
662                 "NC",
663                 "NC", /* GPIO 90 */
664                 "NC",
665                 "NC",
666                 "NC",
667                 "NC",
668                 "NC",
669                 "NC",
670                 "NC",
671                 "NC",
672                 "NC",
673                 "NC", /* GPIO 100 */
674                 "NC",
675                 "NC",
676                 "NC",
677                 "SSBI_GPS",
678                 "NC",
679                 "NC",
680                 "KEY_VOLP_N",
681                 "NC",
682                 "NC",
683                 "[LS_EXP_MI2S_WS]", /* GPIO 110 */
684                 "NC",
685                 "NC",
686                 "[LS_EXP_MI2S_SCK]",
687                 "[LS_EXP_MI2S_DATA0]",
688                 "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */
689                 "NC",
690                 "[DSI2HDMI_MI2S_WS]",
691                 "[DSI2HDMI_MI2S_SCK]",
692                 "[DSI2HDMI_MI2S_DATA0]",
693                 "USR_LED_2_CTRL", /* GPIO 120 */
694                 "SB_HS_ID";
695
696         msmgpio_leds: msmgpio-leds {
697                 pins = "gpio21", "gpio120";
698                 function = "gpio";
699
700                 output-low;
701         };
702
703         usb_id_default: usb-id-default {
704                 pins = "gpio121";
705                 function = "gpio";
706
707                 drive-strength = <8>;
708                 input-enable;
709                 bias-pull-up;
710         };
711
712         adv7533_int_active: adv533-int-active {
713                 pins = "gpio31";
714                 function = "gpio";
715
716                 drive-strength = <16>;
717                 bias-disable;
718         };
719
720         adv7533_int_suspend: adv7533-int-suspend {
721                 pins = "gpio31";
722                 function = "gpio";
723
724                 drive-strength = <2>;
725                 bias-disable;
726         };
727
728         adv7533_switch_active: adv7533-switch-active {
729                 pins = "gpio32";
730                 function = "gpio";
731
732                 drive-strength = <16>;
733                 bias-disable;
734         };
735
736         adv7533_switch_suspend: adv7533-switch-suspend {
737                 pins = "gpio32";
738                 function = "gpio";
739
740                 drive-strength = <2>;
741                 bias-disable;
742         };
743
744         msm_key_volp_n_default: msm-key-volp-n-default {
745                 pins = "gpio107";
746                 function = "gpio";
747
748                 drive-strength = <8>;
749                 input-enable;
750                 bias-pull-up;
751         };
752 };
753
754 &pm8916_gpios {
755         gpio-line-names =
756                 "USR_LED_3_CTRL",
757                 "USR_LED_4_CTRL",
758                 "USB_HUB_RESET_N_PM",
759                 "USB_SW_SEL_PM";
760
761         usb_hub_reset_pm: usb-hub-reset-pm {
762                 pins = "gpio3";
763                 function = PMIC_GPIO_FUNC_NORMAL;
764
765                 input-disable;
766                 output-high;
767         };
768
769         usb_hub_reset_pm_device: usb-hub-reset-pm-device {
770                 pins = "gpio3";
771                 function = PMIC_GPIO_FUNC_NORMAL;
772
773                 output-low;
774         };
775
776         usb_sw_sel_pm: usb-sw-sel-pm {
777                 pins = "gpio4";
778                 function = PMIC_GPIO_FUNC_NORMAL;
779
780                 power-source = <PM8916_GPIO_VPH>;
781                 input-disable;
782                 output-high;
783         };
784
785         usb_sw_sel_pm_device: usb-sw-sel-pm-device {
786                 pins = "gpio4";
787                 function = PMIC_GPIO_FUNC_NORMAL;
788
789                 power-source = <PM8916_GPIO_VPH>;
790                 input-disable;
791                 output-low;
792         };
793
794         pm8916_gpios_leds: pm8916-gpios-leds {
795                 pins = "gpio1", "gpio2";
796                 function = PMIC_GPIO_FUNC_NORMAL;
797
798                 output-low;
799         };
800 };
801
802 &pm8916_mpps {
803         gpio-line-names =
804                 "VDD_PX_BIAS",
805                 "WLAN_LED_CTRL",
806                 "BT_LED_CTRL",
807                 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
808
809         pinctrl-names = "default";
810         pinctrl-0 = <&ls_exp_gpio_f>;
811
812         ls_exp_gpio_f: pm8916-mpp4 {
813                 pins = "mpp4";
814                 function = "digital";
815
816                 output-low;
817                 power-source = <PM8916_MPP_L5>; // 1.8V
818         };
819
820         pm8916_mpps_leds: pm8916-mpps-leds {
821                 pins = "mpp2", "mpp3";
822                 function = "digital";
823
824                 output-low;
825         };
826 };