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