Back to home page

OSCL-LXR

 
 

    


0001 // SPDX-License-Identifier: GPL-2.0-only
0002 /*
0003  * Copyright (c) 2015, The Linux Foundation. All rights reserved.
0004  */
0005 
0006 /dts-v1/;
0007 
0008 #include "msm8916-pm8916.dtsi"
0009 #include <dt-bindings/gpio/gpio.h>
0010 #include <dt-bindings/input/input.h>
0011 #include <dt-bindings/leds/common.h>
0012 #include <dt-bindings/pinctrl/qcom,pmic-gpio.h>
0013 #include <dt-bindings/pinctrl/qcom,pmic-mpp.h>
0014 #include <dt-bindings/sound/apq8016-lpass.h>
0015 
0016 / {
0017         model = "Qualcomm Technologies, Inc. APQ 8016 SBC";
0018         compatible = "qcom,apq8016-sbc", "qcom,apq8016";
0019 
0020         aliases {
0021                 serial0 = &blsp1_uart2;
0022                 serial1 = &blsp1_uart1;
0023                 usid0 = &pm8916_0;
0024                 i2c0 = &blsp_i2c2;
0025                 i2c1 = &blsp_i2c6;
0026                 i2c3 = &blsp_i2c4;
0027                 spi0 = &blsp_spi5;
0028                 spi1 = &blsp_spi3;
0029         };
0030 
0031         chosen {
0032                 stdout-path = "serial0";
0033         };
0034 
0035         camera_vdddo_1v8: camera-vdddo-1v8 {
0036                 compatible = "regulator-fixed";
0037                 regulator-name = "camera_vdddo";
0038                 regulator-min-microvolt = <1800000>;
0039                 regulator-max-microvolt = <1800000>;
0040                 regulator-always-on;
0041         };
0042 
0043         camera_vdda_2v8: camera-vdda-2v8 {
0044                 compatible = "regulator-fixed";
0045                 regulator-name = "camera_vdda";
0046                 regulator-min-microvolt = <2800000>;
0047                 regulator-max-microvolt = <2800000>;
0048                 regulator-always-on;
0049         };
0050 
0051         camera_vddd_1v5: camera-vddd-1v5 {
0052                 compatible = "regulator-fixed";
0053                 regulator-name = "camera_vddd";
0054                 regulator-min-microvolt = <1500000>;
0055                 regulator-max-microvolt = <1500000>;
0056                 regulator-always-on;
0057         };
0058 
0059         reserved-memory {
0060                 ramoops@bff00000 {
0061                         compatible = "ramoops";
0062                         reg = <0x0 0xbff00000 0x0 0x100000>;
0063 
0064                         record-size = <0x20000>;
0065                         console-size = <0x20000>;
0066                         ftrace-size = <0x20000>;
0067                 };
0068         };
0069 
0070         usb2513 {
0071                 compatible = "smsc,usb3503";
0072                 reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>;
0073                 initial-mode = <1>;
0074         };
0075 
0076         usb_id: usb-id {
0077                 compatible = "linux,extcon-usb-gpio";
0078                 id-gpio = <&msmgpio 121 GPIO_ACTIVE_HIGH>;
0079                 pinctrl-names = "default";
0080                 pinctrl-0 = <&usb_id_default>;
0081         };
0082 
0083         hdmi-out {
0084                 compatible = "hdmi-connector";
0085                 type = "a";
0086 
0087                 port {
0088                         hdmi_con: endpoint {
0089                                 remote-endpoint = <&adv7533_out>;
0090                         };
0091                 };
0092         };
0093 
0094         gpio-keys {
0095                 compatible = "gpio-keys";
0096                 autorepeat;
0097 
0098                 pinctrl-names = "default";
0099                 pinctrl-0 = <&msm_key_volp_n_default>;
0100 
0101                 button {
0102                         label = "Volume Up";
0103                         linux,code = <KEY_VOLUMEUP>;
0104                         gpios = <&msmgpio 107 GPIO_ACTIVE_LOW>;
0105                 };
0106         };
0107 
0108         leds {
0109                 pinctrl-names = "default";
0110                 pinctrl-0 = <&msmgpio_leds>,
0111                             <&pm8916_gpios_leds>,
0112                             <&pm8916_mpps_leds>;
0113 
0114                 compatible = "gpio-leds";
0115 
0116                 led@1 {
0117                         label = "apq8016-sbc:green:user1";
0118                         function = LED_FUNCTION_HEARTBEAT;
0119                         color = <LED_COLOR_ID_GREEN>;
0120                         gpios = <&msmgpio 21 GPIO_ACTIVE_HIGH>;
0121                         linux,default-trigger = "heartbeat";
0122                         default-state = "off";
0123                 };
0124 
0125                 led@2 {
0126                         label = "apq8016-sbc:green:user2";
0127                         function = LED_FUNCTION_DISK_ACTIVITY;
0128                         color = <LED_COLOR_ID_GREEN>;
0129                         gpios = <&msmgpio 120 GPIO_ACTIVE_HIGH>;
0130                         linux,default-trigger = "mmc0";
0131                         default-state = "off";
0132                 };
0133 
0134                 led@3 {
0135                         label = "apq8016-sbc:green:user3";
0136                         function = LED_FUNCTION_DISK_ACTIVITY;
0137                         color = <LED_COLOR_ID_GREEN>;
0138                         gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>;
0139                         linux,default-trigger = "mmc1";
0140                         default-state = "off";
0141                 };
0142 
0143                 led@4 {
0144                         label = "apq8016-sbc:green:user4";
0145                         color = <LED_COLOR_ID_GREEN>;
0146                         gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>;
0147                         linux,default-trigger = "none";
0148                         panic-indicator;
0149                         default-state = "off";
0150                 };
0151 
0152                 led@5 {
0153                         label = "apq8016-sbc:yellow:wlan";
0154                         function = LED_FUNCTION_WLAN;
0155                         color = <LED_COLOR_ID_YELLOW>;
0156                         gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>;
0157                         linux,default-trigger = "phy0tx";
0158                         default-state = "off";
0159                 };
0160 
0161                 led@6 {
0162                         label = "apq8016-sbc:blue:bt";
0163                         function = LED_FUNCTION_BLUETOOTH;
0164                         color = <LED_COLOR_ID_BLUE>;
0165                         gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>;
0166                         linux,default-trigger = "bluetooth-power";
0167                         default-state = "off";
0168                 };
0169         };
0170 };
0171 
0172 &blsp_dma {
0173         status = "okay";
0174 };
0175 
0176 &blsp_i2c2 {
0177         /* On Low speed expansion */
0178         status = "okay";
0179         label = "LS-I2C0";
0180 };
0181 
0182 &blsp_i2c4 {
0183         /* On High speed expansion */
0184         status = "okay";
0185         label = "HS-I2C2";
0186 
0187         adv_bridge: bridge@39 {
0188                 status = "okay";
0189 
0190                 compatible = "adi,adv7533";
0191                 reg = <0x39>;
0192 
0193                 interrupt-parent = <&msmgpio>;
0194                 interrupts = <31 IRQ_TYPE_EDGE_FALLING>;
0195 
0196                 adi,dsi-lanes = <4>;
0197                 clocks = <&rpmcc RPM_SMD_BB_CLK2>;
0198                 clock-names = "cec";
0199 
0200                 pd-gpios = <&msmgpio 32 GPIO_ACTIVE_HIGH>;
0201 
0202                 avdd-supply = <&pm8916_l6>;
0203                 v1p2-supply = <&pm8916_l6>;
0204                 v3p3-supply = <&pm8916_l17>;
0205 
0206                 pinctrl-names = "default","sleep";
0207                 pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>;
0208                 pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>;
0209                 #sound-dai-cells = <1>;
0210 
0211                 ports {
0212                         #address-cells = <1>;
0213                         #size-cells = <0>;
0214 
0215                         port@0 {
0216                                 reg = <0>;
0217                                 adv7533_in: endpoint {
0218                                         remote-endpoint = <&dsi0_out>;
0219                                 };
0220                         };
0221 
0222                         port@1 {
0223                                 reg = <1>;
0224                                 adv7533_out: endpoint {
0225                                         remote-endpoint = <&hdmi_con>;
0226                                 };
0227                         };
0228                 };
0229         };
0230 };
0231 
0232 &blsp_i2c6 {
0233         /* On Low speed expansion */
0234         status = "okay";
0235         label = "LS-I2C1";
0236 };
0237 
0238 &blsp_spi3 {
0239         /* On High speed expansion */
0240         status = "okay";
0241         label = "HS-SPI1";
0242 };
0243 
0244 &blsp_spi5 {
0245         /* On Low speed expansion */
0246         status = "okay";
0247         label = "LS-SPI0";
0248 };
0249 
0250 &blsp1_uart1 {
0251         status = "okay";
0252         label = "LS-UART0";
0253 };
0254 
0255 &blsp1_uart2 {
0256         status = "okay";
0257         label = "LS-UART1";
0258 };
0259 
0260 &camss {
0261         status = "okay";
0262         ports {
0263                 port@0 {
0264                         reg = <0>;
0265                         csiphy0_ep: endpoint {
0266                                 data-lanes = <0 2>;
0267                                 remote-endpoint = <&ov5640_ep>;
0268                                 status = "okay";
0269                         };
0270                 };
0271         };
0272 };
0273 
0274 &cci {
0275         status = "okay";
0276 };
0277 
0278 &cci_i2c0 {
0279         camera_rear@3b {
0280                 compatible = "ovti,ov5640";
0281                 reg = <0x3b>;
0282 
0283                 enable-gpios = <&msmgpio 34 GPIO_ACTIVE_HIGH>;
0284                 reset-gpios = <&msmgpio 35 GPIO_ACTIVE_LOW>;
0285                 pinctrl-names = "default";
0286                 pinctrl-0 = <&camera_rear_default>;
0287 
0288                 clocks = <&gcc GCC_CAMSS_MCLK0_CLK>;
0289                 clock-names = "xclk";
0290                 clock-frequency = <23880000>;
0291 
0292                 vdddo-supply = <&camera_vdddo_1v8>;
0293                 vdda-supply = <&camera_vdda_2v8>;
0294                 vddd-supply = <&camera_vddd_1v5>;
0295 
0296                 /* No camera mezzanine by default */
0297                 status = "disabled";
0298 
0299                 port {
0300                         ov5640_ep: endpoint {
0301                                 data-lanes = <0 2>;
0302                                 remote-endpoint = <&csiphy0_ep>;
0303                         };
0304                 };
0305         };
0306 };
0307 
0308 &dsi0_out {
0309         data-lanes = <0 1 2 3>;
0310         remote-endpoint = <&adv7533_in>;
0311 };
0312 
0313 &lpass {
0314         status = "okay";
0315 };
0316 
0317 &mdss {
0318         status = "okay";
0319 };
0320 
0321 &mpss {
0322         status = "okay";
0323 
0324         firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn";
0325 };
0326 
0327 &pm8916_resin {
0328         status = "okay";
0329         linux,code = <KEY_VOLUMEDOWN>;
0330 };
0331 
0332 &pronto {
0333         status = "okay";
0334 
0335         firmware-name = "qcom/apq8016/wcnss.mbn";
0336 };
0337 
0338 &sdhc_1 {
0339         status = "okay";
0340 
0341         pinctrl-names = "default", "sleep";
0342         pinctrl-0 = <&sdc1_clk_on &sdc1_cmd_on &sdc1_data_on>;
0343         pinctrl-1 = <&sdc1_clk_off &sdc1_cmd_off &sdc1_data_off>;
0344 };
0345 
0346 &sdhc_2 {
0347         status = "okay";
0348 
0349         pinctrl-names = "default", "sleep";
0350         pinctrl-0 = <&sdc2_clk_on &sdc2_cmd_on &sdc2_data_on &sdc2_cd_on>;
0351         pinctrl-1 = <&sdc2_clk_off &sdc2_cmd_off &sdc2_data_off &sdc2_cd_off>;
0352 
0353         cd-gpios = <&msmgpio 38 GPIO_ACTIVE_LOW>;
0354 };
0355 
0356 &sound {
0357         status = "okay";
0358 
0359         pinctrl-0 = <&cdc_pdm_lines_act &ext_sec_tlmm_lines_act &ext_mclk_tlmm_lines_act>;
0360         pinctrl-1 = <&cdc_pdm_lines_sus &ext_sec_tlmm_lines_sus &ext_mclk_tlmm_lines_sus>;
0361         pinctrl-names = "default", "sleep";
0362         model = "DB410c";
0363         audio-routing =
0364                 "AMIC2", "MIC BIAS Internal2",
0365                 "AMIC3", "MIC BIAS External1";
0366 
0367         quaternary-dai-link {
0368                 link-name = "ADV7533";
0369                 cpu {
0370                         sound-dai = <&lpass MI2S_QUATERNARY>;
0371                 };
0372                 codec {
0373                         sound-dai = <&adv_bridge 0>;
0374                 };
0375         };
0376 
0377         primary-dai-link {
0378                 link-name = "WCD";
0379                 cpu {
0380                         sound-dai = <&lpass MI2S_PRIMARY>;
0381                 };
0382                 codec {
0383                         sound-dai = <&lpass_codec 0>, <&wcd_codec 0>;
0384                 };
0385         };
0386 
0387         tertiary-dai-link {
0388                 link-name = "WCD-Capture";
0389                 cpu {
0390                         sound-dai = <&lpass MI2S_TERTIARY>;
0391                 };
0392                 codec {
0393                         sound-dai = <&lpass_codec 1>, <&wcd_codec 1>;
0394                 };
0395         };
0396 };
0397 
0398 &usb {
0399         status = "okay";
0400         extcon = <&usb_id>, <&usb_id>;
0401 
0402         pinctrl-names = "default", "device";
0403         pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>;
0404         pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>;
0405 };
0406 
0407 &usb_hs_phy {
0408         extcon = <&usb_id>;
0409 };
0410 
0411 &wcd_codec {
0412         clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>;
0413         clock-names = "mclk";
0414         qcom,mbhc-vthreshold-low = <75 150 237 450 500>;
0415         qcom,mbhc-vthreshold-high = <75 150 237 450 500>;
0416 };
0417 
0418 &wcnss_ctrl {
0419         firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin";
0420 };
0421 
0422 /* Enable CoreSight */
0423 &cti0 { status = "okay"; };
0424 &cti1 { status = "okay"; };
0425 &cti12 { status = "okay"; };
0426 &cti13 { status = "okay"; };
0427 &cti14 { status = "okay"; };
0428 &cti15 { status = "okay"; };
0429 &debug0 { status = "okay"; };
0430 &debug1 { status = "okay"; };
0431 &debug2 { status = "okay"; };
0432 &debug3 { status = "okay"; };
0433 &etf { status = "okay"; };
0434 &etm0 { status = "okay"; };
0435 &etm1 { status = "okay"; };
0436 &etm2 { status = "okay"; };
0437 &etm3 { status = "okay"; };
0438 &etr { status = "okay"; };
0439 &funnel0 { status = "okay"; };
0440 &funnel1 { status = "okay"; };
0441 &replicator { status = "okay"; };
0442 &stm { status = "okay"; };
0443 &tpiu { status = "okay"; };
0444 
0445 &smd_rpm_regulators {
0446         vdd_l1_l2_l3-supply = <&pm8916_s3>;
0447         vdd_l4_l5_l6-supply = <&pm8916_s4>;
0448         vdd_l7-supply = <&pm8916_s4>;
0449 
0450         s3 {
0451                 regulator-min-microvolt = <375000>;
0452                 regulator-max-microvolt = <1562000>;
0453         };
0454 
0455         s4 {
0456                 regulator-min-microvolt = <1800000>;
0457                 regulator-max-microvolt = <1800000>;
0458 
0459                 regulator-always-on;
0460                 regulator-boot-on;
0461         };
0462 
0463         l1 {
0464                 regulator-min-microvolt = <375000>;
0465                 regulator-max-microvolt = <1525000>;
0466         };
0467 
0468         l2 {
0469                 regulator-min-microvolt = <1200000>;
0470                 regulator-max-microvolt = <1200000>;
0471         };
0472 
0473         l4 {
0474                 regulator-min-microvolt = <1750000>;
0475                 regulator-max-microvolt = <3337000>;
0476         };
0477 
0478         l5 {
0479                 regulator-min-microvolt = <1750000>;
0480                 regulator-max-microvolt = <3337000>;
0481         };
0482 
0483         l6 {
0484                 regulator-min-microvolt = <1800000>;
0485                 regulator-max-microvolt = <1800000>;
0486         };
0487 
0488         l7 {
0489                 regulator-min-microvolt = <1750000>;
0490                 regulator-max-microvolt = <3337000>;
0491         };
0492 
0493         l8 {
0494                 regulator-min-microvolt = <1750000>;
0495                 regulator-max-microvolt = <3337000>;
0496         };
0497 
0498         l9 {
0499                 regulator-min-microvolt = <1750000>;
0500                 regulator-max-microvolt = <3337000>;
0501         };
0502 
0503         l10 {
0504                 regulator-min-microvolt = <1750000>;
0505                 regulator-max-microvolt = <3337000>;
0506         };
0507 
0508         l11 {
0509                 regulator-min-microvolt = <1750000>;
0510                 regulator-max-microvolt = <3337000>;
0511                 regulator-allow-set-load;
0512                 regulator-system-load = <200000>;
0513         };
0514 
0515         l12 {
0516                 regulator-min-microvolt = <1750000>;
0517                 regulator-max-microvolt = <3337000>;
0518         };
0519 
0520         l13 {
0521                 regulator-min-microvolt = <1750000>;
0522                 regulator-max-microvolt = <3337000>;
0523         };
0524 
0525         l14 {
0526                 regulator-min-microvolt = <1750000>;
0527                 regulator-max-microvolt = <3337000>;
0528         };
0529 
0530         /**
0531          * 1.8v required on LS expansion
0532          * for mezzanine boards
0533          */
0534         l15 {
0535                 regulator-min-microvolt = <1750000>;
0536                 regulator-max-microvolt = <3337000>;
0537                 regulator-always-on;
0538         };
0539 
0540         l16 {
0541                 regulator-min-microvolt = <1750000>;
0542                 regulator-max-microvolt = <3337000>;
0543         };
0544 
0545         l17 {
0546                 regulator-min-microvolt = <3300000>;
0547                 regulator-max-microvolt = <3300000>;
0548         };
0549 
0550         l18 {
0551                 regulator-min-microvolt = <1750000>;
0552                 regulator-max-microvolt = <3337000>;
0553         };
0554 };
0555 
0556 /*
0557  * 2mA drive strength is not enough when connecting multiple
0558  * I2C devices with different pull up resistors.
0559  */
0560 &i2c2_default {
0561         drive-strength = <16>;
0562 };
0563 
0564 &i2c4_default {
0565         drive-strength = <16>;
0566 };
0567 
0568 &i2c6_default {
0569         drive-strength = <16>;
0570 };
0571 
0572 /*
0573  * GPIO name legend: proper name = the GPIO line is used as GPIO
0574  *         NC = not connected (pin out but not routed from the chip to
0575  *              anything the board)
0576  *         "[PER]" = pin is muxed for [peripheral] (not GPIO)
0577  *         LSEC = Low Speed External Connector
0578  *         HSEC = High Speed External Connector
0579  *
0580  * Line names are taken from the schematic "DragonBoard410c"
0581  * dated monday, august 31, 2015. Page 5 in particular.
0582  *
0583  * For the lines routed to the external connectors the
0584  * lines are named after the 96Boards CE Specification 1.0,
0585  * Appendix "Expansion Connector Signal Description".
0586  *
0587  * When the 96Board naming of a line and the schematic name of
0588  * the same line are in conflict, the 96Board specification
0589  * takes precedence, which means that the external UART on the
0590  * LSEC is named UART0 while the schematic and SoC names this
0591  * UART3. This is only for the informational lines i.e. "[FOO]",
0592  * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only
0593  * ones actually used for GPIO.
0594  */
0595 
0596 &msmgpio {
0597         gpio-line-names =
0598                 "[UART0_TX]", /* GPIO_0, LSEC pin 5 */
0599                 "[UART0_RX]", /* GPIO_1, LSEC pin 7 */
0600                 "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */
0601                 "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */
0602                 "[UART1_TX]", /* GPIO_4, LSEC pin 11 */
0603                 "[UART1_RX]", /* GPIO_5, LSEC pin 13 */
0604                 "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */
0605                 "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */
0606                 "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */
0607                 "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */
0608                 "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */
0609                 "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */
0610                 "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */
0611                 "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */
0612                 "[I2C3_SDA]", /* HSEC pin 38 */
0613                 "[I2C3_SCL]", /* HSEC pin 36 */
0614                 "[SPI0_MOSI]", /* LSEC pin 14 */
0615                 "[SPI0_MISO]", /* LSEC pin 10 */
0616                 "[SPI0_CS_N]", /* LSEC pin 12 */
0617                 "[SPI0_CLK]", /* LSEC pin 8 */
0618                 "HDMI_HPD_N", /* GPIO 20 */
0619                 "USR_LED_1_CTRL",
0620                 "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */
0621                 "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */
0622                 "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */
0623                 "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */
0624                 "[CSI0_MCLK]", /* HSEC pin 15 */
0625                 "[CSI1_MCLK]", /* HSEC pin 17 */
0626                 "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */
0627                 "[I2C2_SDA]", /* HSEC pin 34 */
0628                 "[I2C2_SCL]", /* HSEC pin 32 */
0629                 "DSI2HDMI_INT_N",
0630                 "DSI_SW_SEL_APQ",
0631                 "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */
0632                 "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */
0633                 "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */
0634                 "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */
0635                 "FORCED_USB_BOOT",
0636                 "SD_CARD_DET_N",
0637                 "[WCSS_BT_SSBI]",
0638                 "[WCSS_WLAN_DATA_2]", /* GPIO 40 */
0639                 "[WCSS_WLAN_DATA_1]",
0640                 "[WCSS_WLAN_DATA_0]",
0641                 "[WCSS_WLAN_SET]",
0642                 "[WCSS_WLAN_CLK]",
0643                 "[WCSS_FM_SSBI]",
0644                 "[WCSS_FM_SDI]",
0645                 "[WCSS_BT_DAT_CTL]",
0646                 "[WCSS_BT_DAT_STB]",
0647                 "NC",
0648                 "NC", /* GPIO 50 */
0649                 "NC",
0650                 "NC",
0651                 "NC",
0652                 "NC",
0653                 "NC",
0654                 "NC",
0655                 "NC",
0656                 "NC",
0657                 "NC",
0658                 "NC", /* GPIO 60 */
0659                 "NC",
0660                 "NC",
0661                 "[CDC_PDM0_CLK]",
0662                 "[CDC_PDM0_SYNC]",
0663                 "[CDC_PDM0_TX0]",
0664                 "[CDC_PDM0_RX0]",
0665                 "[CDC_PDM0_RX1]",
0666                 "[CDC_PDM0_RX2]",
0667                 "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */
0668                 "NC", /* GPIO 70 */
0669                 "NC",
0670                 "NC",
0671                 "NC",
0672                 "NC", /* GPIO 74 */
0673                 "NC",
0674                 "NC",
0675                 "NC",
0676                 "NC",
0677                 "NC",
0678                 "BOOT_CONFIG_0", /* GPIO 80 */
0679                 "BOOT_CONFIG_1",
0680                 "BOOT_CONFIG_2",
0681                 "BOOT_CONFIG_3",
0682                 "NC",
0683                 "NC",
0684                 "BOOT_CONFIG_5",
0685                 "NC",
0686                 "NC",
0687                 "NC",
0688                 "NC", /* GPIO 90 */
0689                 "NC",
0690                 "NC",
0691                 "NC",
0692                 "NC",
0693                 "NC",
0694                 "NC",
0695                 "NC",
0696                 "NC",
0697                 "NC",
0698                 "NC", /* GPIO 100 */
0699                 "NC",
0700                 "NC",
0701                 "NC",
0702                 "SSBI_GPS",
0703                 "NC",
0704                 "NC",
0705                 "KEY_VOLP_N",
0706                 "NC",
0707                 "NC",
0708                 "[LS_EXP_MI2S_WS]", /* GPIO 110 */
0709                 "NC",
0710                 "NC",
0711                 "[LS_EXP_MI2S_SCK]",
0712                 "[LS_EXP_MI2S_DATA0]",
0713                 "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */
0714                 "NC",
0715                 "[DSI2HDMI_MI2S_WS]",
0716                 "[DSI2HDMI_MI2S_SCK]",
0717                 "[DSI2HDMI_MI2S_DATA0]",
0718                 "USR_LED_2_CTRL", /* GPIO 120 */
0719                 "SB_HS_ID";
0720 
0721         msmgpio_leds: msmgpio-leds {
0722                 pins = "gpio21", "gpio120";
0723                 function = "gpio";
0724 
0725                 output-low;
0726         };
0727 
0728         usb_id_default: usb-id-default {
0729                 pins = "gpio121";
0730                 function = "gpio";
0731 
0732                 drive-strength = <8>;
0733                 input-enable;
0734                 bias-pull-up;
0735         };
0736 
0737         adv7533_int_active: adv533-int-active {
0738                 pins = "gpio31";
0739                 function = "gpio";
0740 
0741                 drive-strength = <16>;
0742                 bias-disable;
0743         };
0744 
0745         adv7533_int_suspend: adv7533-int-suspend {
0746                 pins = "gpio31";
0747                 function = "gpio";
0748 
0749                 drive-strength = <2>;
0750                 bias-disable;
0751         };
0752 
0753         adv7533_switch_active: adv7533-switch-active {
0754                 pins = "gpio32";
0755                 function = "gpio";
0756 
0757                 drive-strength = <16>;
0758                 bias-disable;
0759         };
0760 
0761         adv7533_switch_suspend: adv7533-switch-suspend {
0762                 pins = "gpio32";
0763                 function = "gpio";
0764 
0765                 drive-strength = <2>;
0766                 bias-disable;
0767         };
0768 
0769         msm_key_volp_n_default: msm-key-volp-n-default {
0770                 pins = "gpio107";
0771                 function = "gpio";
0772 
0773                 drive-strength = <8>;
0774                 input-enable;
0775                 bias-pull-up;
0776         };
0777 };
0778 
0779 &pm8916_gpios {
0780         gpio-line-names =
0781                 "USR_LED_3_CTRL",
0782                 "USR_LED_4_CTRL",
0783                 "USB_HUB_RESET_N_PM",
0784                 "USB_SW_SEL_PM";
0785 
0786         usb_hub_reset_pm: usb-hub-reset-pm-state {
0787                 pins = "gpio3";
0788                 function = PMIC_GPIO_FUNC_NORMAL;
0789 
0790                 input-disable;
0791                 output-high;
0792         };
0793 
0794         usb_hub_reset_pm_device: usb-hub-reset-pm-device-state {
0795                 pins = "gpio3";
0796                 function = PMIC_GPIO_FUNC_NORMAL;
0797 
0798                 output-low;
0799         };
0800 
0801         usb_sw_sel_pm: usb-sw-sel-pm-state {
0802                 pins = "gpio4";
0803                 function = PMIC_GPIO_FUNC_NORMAL;
0804 
0805                 power-source = <PM8916_GPIO_VPH>;
0806                 input-disable;
0807                 output-high;
0808         };
0809 
0810         usb_sw_sel_pm_device: usb-sw-sel-pm-device-state {
0811                 pins = "gpio4";
0812                 function = PMIC_GPIO_FUNC_NORMAL;
0813 
0814                 power-source = <PM8916_GPIO_VPH>;
0815                 input-disable;
0816                 output-low;
0817         };
0818 
0819         pm8916_gpios_leds: pm8916-gpios-leds-state {
0820                 pins = "gpio1", "gpio2";
0821                 function = PMIC_GPIO_FUNC_NORMAL;
0822 
0823                 output-low;
0824         };
0825 };
0826 
0827 &pm8916_mpps {
0828         gpio-line-names =
0829                 "VDD_PX_BIAS",
0830                 "WLAN_LED_CTRL",
0831                 "BT_LED_CTRL",
0832                 "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */
0833 
0834         pinctrl-names = "default";
0835         pinctrl-0 = <&ls_exp_gpio_f>;
0836 
0837         ls_exp_gpio_f: pm8916-mpp4-state {
0838                 pins = "mpp4";
0839                 function = "digital";
0840 
0841                 output-low;
0842                 power-source = <PM8916_MPP_L5>; // 1.8V
0843         };
0844 
0845         pm8916_mpps_leds: pm8916-mpps-state {
0846                 pins = "mpp2", "mpp3";
0847                 function = "digital";
0848 
0849                 output-low;
0850         };
0851 };