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