1*0e8011faSEmmanuel Vadot// SPDX-License-Identifier: GPL-2.0-only 2*0e8011faSEmmanuel Vadot/* 3*0e8011faSEmmanuel Vadot * Copyright (c) 2015, The Linux Foundation. All rights reserved. 4*0e8011faSEmmanuel Vadot * Copyright (c) 2024, Linaro Ltd. 5*0e8011faSEmmanuel Vadot */ 6*0e8011faSEmmanuel Vadot 7*0e8011faSEmmanuel Vadot/dts-v1/; 8*0e8011faSEmmanuel Vadot 9*0e8011faSEmmanuel Vadot#include "msm8916-pm8916.dtsi" 10*0e8011faSEmmanuel Vadot#include <dt-bindings/gpio/gpio.h> 11*0e8011faSEmmanuel Vadot#include <dt-bindings/input/input.h> 12*0e8011faSEmmanuel Vadot#include <dt-bindings/leds/common.h> 13*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 14*0e8011faSEmmanuel Vadot#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 15*0e8011faSEmmanuel Vadot#include <dt-bindings/sound/apq8016-lpass.h> 16*0e8011faSEmmanuel Vadot 17*0e8011faSEmmanuel Vadot/ { 18*0e8011faSEmmanuel Vadot model = "Schneider Electric HMIBSC Board"; 19*0e8011faSEmmanuel Vadot compatible = "schneider,apq8016-hmibsc", "qcom,apq8016"; 20*0e8011faSEmmanuel Vadot 21*0e8011faSEmmanuel Vadot aliases { 22*0e8011faSEmmanuel Vadot i2c1 = &blsp_i2c6; 23*0e8011faSEmmanuel Vadot i2c3 = &blsp_i2c4; 24*0e8011faSEmmanuel Vadot i2c4 = &blsp_i2c3; 25*0e8011faSEmmanuel Vadot mmc0 = &sdhc_1; /* eMMC */ 26*0e8011faSEmmanuel Vadot mmc1 = &sdhc_2; /* SD card */ 27*0e8011faSEmmanuel Vadot serial0 = &blsp_uart1; 28*0e8011faSEmmanuel Vadot serial1 = &blsp_uart2; 29*0e8011faSEmmanuel Vadot spi0 = &blsp_spi5; 30*0e8011faSEmmanuel Vadot usid0 = &pm8916_0; 31*0e8011faSEmmanuel Vadot }; 32*0e8011faSEmmanuel Vadot 33*0e8011faSEmmanuel Vadot chosen { 34*0e8011faSEmmanuel Vadot stdout-path = "serial0"; 35*0e8011faSEmmanuel Vadot }; 36*0e8011faSEmmanuel Vadot 37*0e8011faSEmmanuel Vadot hdmi-out { 38*0e8011faSEmmanuel Vadot compatible = "hdmi-connector"; 39*0e8011faSEmmanuel Vadot type = "a"; 40*0e8011faSEmmanuel Vadot 41*0e8011faSEmmanuel Vadot port { 42*0e8011faSEmmanuel Vadot hdmi_con: endpoint { 43*0e8011faSEmmanuel Vadot remote-endpoint = <&adv7533_out>; 44*0e8011faSEmmanuel Vadot }; 45*0e8011faSEmmanuel Vadot }; 46*0e8011faSEmmanuel Vadot }; 47*0e8011faSEmmanuel Vadot 48*0e8011faSEmmanuel Vadot gpio-keys { 49*0e8011faSEmmanuel Vadot compatible = "gpio-keys"; 50*0e8011faSEmmanuel Vadot autorepeat; 51*0e8011faSEmmanuel Vadot pinctrl-0 = <&msm_key_volp_n_default>; 52*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 53*0e8011faSEmmanuel Vadot 54*0e8011faSEmmanuel Vadot button { 55*0e8011faSEmmanuel Vadot label = "Volume Up"; 56*0e8011faSEmmanuel Vadot linux,code = <KEY_VOLUMEUP>; 57*0e8011faSEmmanuel Vadot gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 58*0e8011faSEmmanuel Vadot }; 59*0e8011faSEmmanuel Vadot }; 60*0e8011faSEmmanuel Vadot 61*0e8011faSEmmanuel Vadot leds { 62*0e8011faSEmmanuel Vadot compatible = "gpio-leds"; 63*0e8011faSEmmanuel Vadot pinctrl-0 = <&pm8916_mpps_leds>; 64*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 65*0e8011faSEmmanuel Vadot 66*0e8011faSEmmanuel Vadot led-1 { 67*0e8011faSEmmanuel Vadot function = LED_FUNCTION_WLAN; 68*0e8011faSEmmanuel Vadot color = <LED_COLOR_ID_YELLOW>; 69*0e8011faSEmmanuel Vadot gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>; 70*0e8011faSEmmanuel Vadot linux,default-trigger = "phy0tx"; 71*0e8011faSEmmanuel Vadot default-state = "off"; 72*0e8011faSEmmanuel Vadot }; 73*0e8011faSEmmanuel Vadot 74*0e8011faSEmmanuel Vadot led-2 { 75*0e8011faSEmmanuel Vadot function = LED_FUNCTION_BLUETOOTH; 76*0e8011faSEmmanuel Vadot color = <LED_COLOR_ID_BLUE>; 77*0e8011faSEmmanuel Vadot gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>; 78*0e8011faSEmmanuel Vadot linux,default-trigger = "bluetooth-power"; 79*0e8011faSEmmanuel Vadot default-state = "off"; 80*0e8011faSEmmanuel Vadot }; 81*0e8011faSEmmanuel Vadot }; 82*0e8011faSEmmanuel Vadot 83*0e8011faSEmmanuel Vadot memory@80000000 { 84*0e8011faSEmmanuel Vadot reg = <0 0x80000000 0 0x40000000>; 85*0e8011faSEmmanuel Vadot }; 86*0e8011faSEmmanuel Vadot 87*0e8011faSEmmanuel Vadot reserved-memory { 88*0e8011faSEmmanuel Vadot ramoops@bff00000 { 89*0e8011faSEmmanuel Vadot compatible = "ramoops"; 90*0e8011faSEmmanuel Vadot reg = <0x0 0xbff00000 0x0 0x100000>; 91*0e8011faSEmmanuel Vadot record-size = <0x20000>; 92*0e8011faSEmmanuel Vadot console-size = <0x20000>; 93*0e8011faSEmmanuel Vadot ftrace-size = <0x20000>; 94*0e8011faSEmmanuel Vadot ecc-size = <16>; 95*0e8011faSEmmanuel Vadot }; 96*0e8011faSEmmanuel Vadot }; 97*0e8011faSEmmanuel Vadot 98*0e8011faSEmmanuel Vadot usb-hub { 99*0e8011faSEmmanuel Vadot compatible = "smsc,usb3503"; 100*0e8011faSEmmanuel Vadot reset-gpios = <&pm8916_gpios 1 GPIO_ACTIVE_LOW>; 101*0e8011faSEmmanuel Vadot initial-mode = <1>; 102*0e8011faSEmmanuel Vadot }; 103*0e8011faSEmmanuel Vadot 104*0e8011faSEmmanuel Vadot usb_id: usb-id { 105*0e8011faSEmmanuel Vadot compatible = "linux,extcon-usb-gpio"; 106*0e8011faSEmmanuel Vadot id-gpios = <&tlmm 110 GPIO_ACTIVE_HIGH>; 107*0e8011faSEmmanuel Vadot pinctrl-0 = <&usb_id_default>; 108*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 109*0e8011faSEmmanuel Vadot }; 110*0e8011faSEmmanuel Vadot}; 111*0e8011faSEmmanuel Vadot 112*0e8011faSEmmanuel Vadot&blsp_i2c3 { 113*0e8011faSEmmanuel Vadot status = "okay"; 114*0e8011faSEmmanuel Vadot 115*0e8011faSEmmanuel Vadot eeprom@50 { 116*0e8011faSEmmanuel Vadot compatible = "atmel,24c32"; 117*0e8011faSEmmanuel Vadot reg = <0x50>; 118*0e8011faSEmmanuel Vadot }; 119*0e8011faSEmmanuel Vadot}; 120*0e8011faSEmmanuel Vadot 121*0e8011faSEmmanuel Vadot&blsp_i2c4 { 122*0e8011faSEmmanuel Vadot status = "okay"; 123*0e8011faSEmmanuel Vadot 124*0e8011faSEmmanuel Vadot adv_bridge: bridge@39 { 125*0e8011faSEmmanuel Vadot compatible = "adi,adv7533"; 126*0e8011faSEmmanuel Vadot reg = <0x39>; 127*0e8011faSEmmanuel Vadot interrupts-extended = <&tlmm 31 IRQ_TYPE_EDGE_FALLING>; 128*0e8011faSEmmanuel Vadot 129*0e8011faSEmmanuel Vadot adi,dsi-lanes = <4>; 130*0e8011faSEmmanuel Vadot clocks = <&rpmcc RPM_SMD_BB_CLK2>; 131*0e8011faSEmmanuel Vadot clock-names = "cec"; 132*0e8011faSEmmanuel Vadot pd-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; 133*0e8011faSEmmanuel Vadot 134*0e8011faSEmmanuel Vadot avdd-supply = <&pm8916_l6>; 135*0e8011faSEmmanuel Vadot a2vdd-supply = <&pm8916_l6>; 136*0e8011faSEmmanuel Vadot dvdd-supply = <&pm8916_l6>; 137*0e8011faSEmmanuel Vadot pvdd-supply = <&pm8916_l6>; 138*0e8011faSEmmanuel Vadot v1p2-supply = <&pm8916_l6>; 139*0e8011faSEmmanuel Vadot v3p3-supply = <&pm8916_l17>; 140*0e8011faSEmmanuel Vadot 141*0e8011faSEmmanuel Vadot pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>; 142*0e8011faSEmmanuel Vadot pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>; 143*0e8011faSEmmanuel Vadot pinctrl-names = "default","sleep"; 144*0e8011faSEmmanuel Vadot #sound-dai-cells = <0>; 145*0e8011faSEmmanuel Vadot 146*0e8011faSEmmanuel Vadot ports { 147*0e8011faSEmmanuel Vadot #address-cells = <1>; 148*0e8011faSEmmanuel Vadot #size-cells = <0>; 149*0e8011faSEmmanuel Vadot 150*0e8011faSEmmanuel Vadot port@0 { 151*0e8011faSEmmanuel Vadot reg = <0>; 152*0e8011faSEmmanuel Vadot adv7533_in: endpoint { 153*0e8011faSEmmanuel Vadot remote-endpoint = <&mdss_dsi0_out>; 154*0e8011faSEmmanuel Vadot }; 155*0e8011faSEmmanuel Vadot }; 156*0e8011faSEmmanuel Vadot 157*0e8011faSEmmanuel Vadot port@1 { 158*0e8011faSEmmanuel Vadot reg = <1>; 159*0e8011faSEmmanuel Vadot adv7533_out: endpoint { 160*0e8011faSEmmanuel Vadot remote-endpoint = <&hdmi_con>; 161*0e8011faSEmmanuel Vadot }; 162*0e8011faSEmmanuel Vadot }; 163*0e8011faSEmmanuel Vadot }; 164*0e8011faSEmmanuel Vadot }; 165*0e8011faSEmmanuel Vadot}; 166*0e8011faSEmmanuel Vadot 167*0e8011faSEmmanuel Vadot&blsp_i2c6 { 168*0e8011faSEmmanuel Vadot status = "okay"; 169*0e8011faSEmmanuel Vadot 170*0e8011faSEmmanuel Vadot rtc@30 { 171*0e8011faSEmmanuel Vadot compatible = "sii,s35390a"; 172*0e8011faSEmmanuel Vadot reg = <0x30>; 173*0e8011faSEmmanuel Vadot }; 174*0e8011faSEmmanuel Vadot 175*0e8011faSEmmanuel Vadot eeprom@50 { 176*0e8011faSEmmanuel Vadot compatible = "atmel,24c256"; 177*0e8011faSEmmanuel Vadot reg = <0x50>; 178*0e8011faSEmmanuel Vadot }; 179*0e8011faSEmmanuel Vadot}; 180*0e8011faSEmmanuel Vadot 181*0e8011faSEmmanuel Vadot&blsp_spi5 { 182*0e8011faSEmmanuel Vadot cs-gpios = <&tlmm 18 GPIO_ACTIVE_LOW>; 183*0e8011faSEmmanuel Vadot status = "okay"; 184*0e8011faSEmmanuel Vadot 185*0e8011faSEmmanuel Vadot tpm@0 { 186*0e8011faSEmmanuel Vadot compatible = "infineon,slb9670", "tcg,tpm_tis-spi"; 187*0e8011faSEmmanuel Vadot reg = <0>; 188*0e8011faSEmmanuel Vadot spi-max-frequency = <500000>; 189*0e8011faSEmmanuel Vadot }; 190*0e8011faSEmmanuel Vadot}; 191*0e8011faSEmmanuel Vadot 192*0e8011faSEmmanuel Vadot&blsp_uart1 { 193*0e8011faSEmmanuel Vadot label = "UART0"; 194*0e8011faSEmmanuel Vadot status = "okay"; 195*0e8011faSEmmanuel Vadot}; 196*0e8011faSEmmanuel Vadot 197*0e8011faSEmmanuel Vadot&blsp_uart2 { 198*0e8011faSEmmanuel Vadot label = "UART1"; 199*0e8011faSEmmanuel Vadot status = "okay"; 200*0e8011faSEmmanuel Vadot}; 201*0e8011faSEmmanuel Vadot 202*0e8011faSEmmanuel Vadot&lpass { 203*0e8011faSEmmanuel Vadot status = "okay"; 204*0e8011faSEmmanuel Vadot}; 205*0e8011faSEmmanuel Vadot 206*0e8011faSEmmanuel Vadot&mdss { 207*0e8011faSEmmanuel Vadot status = "okay"; 208*0e8011faSEmmanuel Vadot}; 209*0e8011faSEmmanuel Vadot 210*0e8011faSEmmanuel Vadot&mdss_dsi0_out { 211*0e8011faSEmmanuel Vadot data-lanes = <0 1 2 3>; 212*0e8011faSEmmanuel Vadot remote-endpoint = <&adv7533_in>; 213*0e8011faSEmmanuel Vadot}; 214*0e8011faSEmmanuel Vadot 215*0e8011faSEmmanuel Vadot&pm8916_codec { 216*0e8011faSEmmanuel Vadot qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 217*0e8011faSEmmanuel Vadot qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 218*0e8011faSEmmanuel Vadot status = "okay"; 219*0e8011faSEmmanuel Vadot}; 220*0e8011faSEmmanuel Vadot 221*0e8011faSEmmanuel Vadot&pm8916_gpios { 222*0e8011faSEmmanuel Vadot gpio-line-names = 223*0e8011faSEmmanuel Vadot "USB_HUB_RESET_N_PM", 224*0e8011faSEmmanuel Vadot "USB_SW_SEL_PM", 225*0e8011faSEmmanuel Vadot "NC", 226*0e8011faSEmmanuel Vadot "NC"; 227*0e8011faSEmmanuel Vadot 228*0e8011faSEmmanuel Vadot usb_hub_reset_pm: usb-hub-reset-pm-state { 229*0e8011faSEmmanuel Vadot pins = "gpio1"; 230*0e8011faSEmmanuel Vadot function = PMIC_GPIO_FUNC_NORMAL; 231*0e8011faSEmmanuel Vadot input-disable; 232*0e8011faSEmmanuel Vadot output-high; 233*0e8011faSEmmanuel Vadot }; 234*0e8011faSEmmanuel Vadot 235*0e8011faSEmmanuel Vadot usb_hub_reset_pm_device: usb-hub-reset-pm-device-state { 236*0e8011faSEmmanuel Vadot pins = "gpio1"; 237*0e8011faSEmmanuel Vadot function = PMIC_GPIO_FUNC_NORMAL; 238*0e8011faSEmmanuel Vadot input-disable; 239*0e8011faSEmmanuel Vadot output-low; 240*0e8011faSEmmanuel Vadot }; 241*0e8011faSEmmanuel Vadot 242*0e8011faSEmmanuel Vadot usb_sw_sel_pm: usb-sw-sel-pm-state { 243*0e8011faSEmmanuel Vadot pins = "gpio2"; 244*0e8011faSEmmanuel Vadot function = PMIC_GPIO_FUNC_NORMAL; 245*0e8011faSEmmanuel Vadot power-source = <PM8916_GPIO_VPH>; 246*0e8011faSEmmanuel Vadot input-disable; 247*0e8011faSEmmanuel Vadot output-high; 248*0e8011faSEmmanuel Vadot }; 249*0e8011faSEmmanuel Vadot 250*0e8011faSEmmanuel Vadot usb_sw_sel_pm_device: usb-sw-sel-pm-device-state { 251*0e8011faSEmmanuel Vadot pins = "gpio2"; 252*0e8011faSEmmanuel Vadot function = PMIC_GPIO_FUNC_NORMAL; 253*0e8011faSEmmanuel Vadot power-source = <PM8916_GPIO_VPH>; 254*0e8011faSEmmanuel Vadot input-disable; 255*0e8011faSEmmanuel Vadot output-low; 256*0e8011faSEmmanuel Vadot }; 257*0e8011faSEmmanuel Vadot}; 258*0e8011faSEmmanuel Vadot 259*0e8011faSEmmanuel Vadot&pm8916_mpps { 260*0e8011faSEmmanuel Vadot gpio-line-names = 261*0e8011faSEmmanuel Vadot "NC", 262*0e8011faSEmmanuel Vadot "WLAN_LED_CTRL", 263*0e8011faSEmmanuel Vadot "BT_LED_CTRL", 264*0e8011faSEmmanuel Vadot "NC"; 265*0e8011faSEmmanuel Vadot 266*0e8011faSEmmanuel Vadot pm8916_mpps_leds: pm8916-mpps-state { 267*0e8011faSEmmanuel Vadot pins = "mpp2", "mpp3"; 268*0e8011faSEmmanuel Vadot function = "digital"; 269*0e8011faSEmmanuel Vadot output-low; 270*0e8011faSEmmanuel Vadot }; 271*0e8011faSEmmanuel Vadot}; 272*0e8011faSEmmanuel Vadot 273*0e8011faSEmmanuel Vadot&pm8916_resin { 274*0e8011faSEmmanuel Vadot linux,code = <KEY_POWER>; 275*0e8011faSEmmanuel Vadot status = "okay"; 276*0e8011faSEmmanuel Vadot}; 277*0e8011faSEmmanuel Vadot 278*0e8011faSEmmanuel Vadot&pm8916_rpm_regulators { 279*0e8011faSEmmanuel Vadot pm8916_l17: l17 { 280*0e8011faSEmmanuel Vadot regulator-min-microvolt = <3300000>; 281*0e8011faSEmmanuel Vadot regulator-max-microvolt = <3300000>; 282*0e8011faSEmmanuel Vadot }; 283*0e8011faSEmmanuel Vadot}; 284*0e8011faSEmmanuel Vadot 285*0e8011faSEmmanuel Vadot&sdhc_1 { 286*0e8011faSEmmanuel Vadot status = "okay"; 287*0e8011faSEmmanuel Vadot}; 288*0e8011faSEmmanuel Vadot 289*0e8011faSEmmanuel Vadot&sdhc_2 { 290*0e8011faSEmmanuel Vadot pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 291*0e8011faSEmmanuel Vadot pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 292*0e8011faSEmmanuel Vadot pinctrl-names = "default", "sleep"; 293*0e8011faSEmmanuel Vadot cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 294*0e8011faSEmmanuel Vadot status = "okay"; 295*0e8011faSEmmanuel Vadot}; 296*0e8011faSEmmanuel Vadot 297*0e8011faSEmmanuel Vadot&sound { 298*0e8011faSEmmanuel Vadot pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>; 299*0e8011faSEmmanuel Vadot pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>; 300*0e8011faSEmmanuel Vadot pinctrl-names = "default", "sleep"; 301*0e8011faSEmmanuel Vadot model = "HMIBSC"; 302*0e8011faSEmmanuel Vadot audio-routing = 303*0e8011faSEmmanuel Vadot "AMIC2", "MIC BIAS Internal2", 304*0e8011faSEmmanuel Vadot "AMIC3", "MIC BIAS External1"; 305*0e8011faSEmmanuel Vadot status = "okay"; 306*0e8011faSEmmanuel Vadot 307*0e8011faSEmmanuel Vadot quaternary-dai-link { 308*0e8011faSEmmanuel Vadot link-name = "ADV7533"; 309*0e8011faSEmmanuel Vadot cpu { 310*0e8011faSEmmanuel Vadot sound-dai = <&lpass MI2S_QUATERNARY>; 311*0e8011faSEmmanuel Vadot }; 312*0e8011faSEmmanuel Vadot codec { 313*0e8011faSEmmanuel Vadot sound-dai = <&adv_bridge 0>; 314*0e8011faSEmmanuel Vadot }; 315*0e8011faSEmmanuel Vadot }; 316*0e8011faSEmmanuel Vadot 317*0e8011faSEmmanuel Vadot primary-dai-link { 318*0e8011faSEmmanuel Vadot link-name = "WCD"; 319*0e8011faSEmmanuel Vadot cpu { 320*0e8011faSEmmanuel Vadot sound-dai = <&lpass MI2S_PRIMARY>; 321*0e8011faSEmmanuel Vadot }; 322*0e8011faSEmmanuel Vadot codec { 323*0e8011faSEmmanuel Vadot sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>; 324*0e8011faSEmmanuel Vadot }; 325*0e8011faSEmmanuel Vadot }; 326*0e8011faSEmmanuel Vadot 327*0e8011faSEmmanuel Vadot tertiary-dai-link { 328*0e8011faSEmmanuel Vadot link-name = "WCD-Capture"; 329*0e8011faSEmmanuel Vadot cpu { 330*0e8011faSEmmanuel Vadot sound-dai = <&lpass MI2S_TERTIARY>; 331*0e8011faSEmmanuel Vadot }; 332*0e8011faSEmmanuel Vadot codec { 333*0e8011faSEmmanuel Vadot sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>; 334*0e8011faSEmmanuel Vadot }; 335*0e8011faSEmmanuel Vadot }; 336*0e8011faSEmmanuel Vadot}; 337*0e8011faSEmmanuel Vadot 338*0e8011faSEmmanuel Vadot&tlmm { 339*0e8011faSEmmanuel Vadot pinctrl-0 = <&uart1_mux0_rs232_high &uart1_mux1_rs232_low>; 340*0e8011faSEmmanuel Vadot pinctrl-names = "default"; 341*0e8011faSEmmanuel Vadot 342*0e8011faSEmmanuel Vadot adv7533_int_active: adv533-int-active-state { 343*0e8011faSEmmanuel Vadot pins = "gpio31"; 344*0e8011faSEmmanuel Vadot function = "gpio"; 345*0e8011faSEmmanuel Vadot drive-strength = <16>; 346*0e8011faSEmmanuel Vadot bias-disable; 347*0e8011faSEmmanuel Vadot }; 348*0e8011faSEmmanuel Vadot 349*0e8011faSEmmanuel Vadot adv7533_int_suspend: adv7533-int-suspend-state { 350*0e8011faSEmmanuel Vadot pins = "gpio31"; 351*0e8011faSEmmanuel Vadot function = "gpio"; 352*0e8011faSEmmanuel Vadot drive-strength = <2>; 353*0e8011faSEmmanuel Vadot bias-disable; 354*0e8011faSEmmanuel Vadot }; 355*0e8011faSEmmanuel Vadot 356*0e8011faSEmmanuel Vadot adv7533_switch_active: adv7533-switch-active-state { 357*0e8011faSEmmanuel Vadot pins = "gpio32"; 358*0e8011faSEmmanuel Vadot function = "gpio"; 359*0e8011faSEmmanuel Vadot drive-strength = <16>; 360*0e8011faSEmmanuel Vadot bias-disable; 361*0e8011faSEmmanuel Vadot }; 362*0e8011faSEmmanuel Vadot 363*0e8011faSEmmanuel Vadot adv7533_switch_suspend: adv7533-switch-suspend-state { 364*0e8011faSEmmanuel Vadot pins = "gpio32"; 365*0e8011faSEmmanuel Vadot function = "gpio"; 366*0e8011faSEmmanuel Vadot drive-strength = <2>; 367*0e8011faSEmmanuel Vadot bias-disable; 368*0e8011faSEmmanuel Vadot }; 369*0e8011faSEmmanuel Vadot 370*0e8011faSEmmanuel Vadot msm_key_volp_n_default: msm-key-volp-n-default-state { 371*0e8011faSEmmanuel Vadot pins = "gpio107"; 372*0e8011faSEmmanuel Vadot function = "gpio"; 373*0e8011faSEmmanuel Vadot drive-strength = <8>; 374*0e8011faSEmmanuel Vadot bias-pull-up; 375*0e8011faSEmmanuel Vadot }; 376*0e8011faSEmmanuel Vadot 377*0e8011faSEmmanuel Vadot sdc2_cd_default: sdc2-cd-default-state { 378*0e8011faSEmmanuel Vadot pins = "gpio38"; 379*0e8011faSEmmanuel Vadot function = "gpio"; 380*0e8011faSEmmanuel Vadot drive-strength = <2>; 381*0e8011faSEmmanuel Vadot bias-disable; 382*0e8011faSEmmanuel Vadot }; 383*0e8011faSEmmanuel Vadot 384*0e8011faSEmmanuel Vadot /* 385*0e8011faSEmmanuel Vadot * UART1 being the debug console supports various modes of 386*0e8011faSEmmanuel Vadot * operation (RS-232/485/422) controlled via GPIOs configured 387*0e8011faSEmmanuel Vadot * mux as follows: 388*0e8011faSEmmanuel Vadot * 389*0e8011faSEmmanuel Vadot * gpio100 gpio99 UART mode 390*0e8011faSEmmanuel Vadot * 0 0 loopback 391*0e8011faSEmmanuel Vadot * 0 1 RS-232 392*0e8011faSEmmanuel Vadot * 1 0 RS-485 393*0e8011faSEmmanuel Vadot * 1 1 RS-422 394*0e8011faSEmmanuel Vadot * 395*0e8011faSEmmanuel Vadot * The default mode configured here is RS-232 mode. 396*0e8011faSEmmanuel Vadot */ 397*0e8011faSEmmanuel Vadot uart1_mux0_rs232_high: uart1-mux0-rs232-state { 398*0e8011faSEmmanuel Vadot bootph-all; 399*0e8011faSEmmanuel Vadot pins = "gpio99"; 400*0e8011faSEmmanuel Vadot function = "gpio"; 401*0e8011faSEmmanuel Vadot drive-strength = <16>; 402*0e8011faSEmmanuel Vadot bias-disable; 403*0e8011faSEmmanuel Vadot output-high; 404*0e8011faSEmmanuel Vadot }; 405*0e8011faSEmmanuel Vadot 406*0e8011faSEmmanuel Vadot uart1_mux1_rs232_low: uart1-mux1-rs232-state { 407*0e8011faSEmmanuel Vadot bootph-all; 408*0e8011faSEmmanuel Vadot pins = "gpio100"; 409*0e8011faSEmmanuel Vadot function = "gpio"; 410*0e8011faSEmmanuel Vadot drive-strength = <16>; 411*0e8011faSEmmanuel Vadot bias-disable; 412*0e8011faSEmmanuel Vadot output-low; 413*0e8011faSEmmanuel Vadot }; 414*0e8011faSEmmanuel Vadot 415*0e8011faSEmmanuel Vadot usb_id_default: usb-id-default-state { 416*0e8011faSEmmanuel Vadot pins = "gpio110"; 417*0e8011faSEmmanuel Vadot function = "gpio"; 418*0e8011faSEmmanuel Vadot drive-strength = <8>; 419*0e8011faSEmmanuel Vadot bias-pull-up; 420*0e8011faSEmmanuel Vadot }; 421*0e8011faSEmmanuel Vadot}; 422*0e8011faSEmmanuel Vadot 423*0e8011faSEmmanuel Vadot&usb { 424*0e8011faSEmmanuel Vadot extcon = <&usb_id>, <&usb_id>; 425*0e8011faSEmmanuel Vadot pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>; 426*0e8011faSEmmanuel Vadot pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>; 427*0e8011faSEmmanuel Vadot pinctrl-names = "default", "device"; 428*0e8011faSEmmanuel Vadot status = "okay"; 429*0e8011faSEmmanuel Vadot}; 430*0e8011faSEmmanuel Vadot 431*0e8011faSEmmanuel Vadot&usb_hs_phy { 432*0e8011faSEmmanuel Vadot extcon = <&usb_id>; 433*0e8011faSEmmanuel Vadot}; 434*0e8011faSEmmanuel Vadot 435*0e8011faSEmmanuel Vadot&wcnss { 436*0e8011faSEmmanuel Vadot firmware-name = "qcom/apq8016/wcnss.mbn"; 437*0e8011faSEmmanuel Vadot status = "okay"; 438*0e8011faSEmmanuel Vadot}; 439*0e8011faSEmmanuel Vadot 440*0e8011faSEmmanuel Vadot&wcnss_ctrl { 441*0e8011faSEmmanuel Vadot firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin"; 442*0e8011faSEmmanuel Vadot}; 443*0e8011faSEmmanuel Vadot 444*0e8011faSEmmanuel Vadot&wcnss_iris { 445*0e8011faSEmmanuel Vadot compatible = "qcom,wcn3620"; 446*0e8011faSEmmanuel Vadot}; 447*0e8011faSEmmanuel Vadot 448*0e8011faSEmmanuel Vadot&wcnss_mem { 449*0e8011faSEmmanuel Vadot status = "okay"; 450*0e8011faSEmmanuel Vadot}; 451*0e8011faSEmmanuel Vadot 452*0e8011faSEmmanuel Vadot/* PINCTRL - additions to nodes defined in msm8916.dtsi */ 453*0e8011faSEmmanuel Vadot 454*0e8011faSEmmanuel Vadot/* 455*0e8011faSEmmanuel Vadot * 2mA drive strength is not enough when connecting multiple 456*0e8011faSEmmanuel Vadot * I2C devices with different pull up resistors. 457*0e8011faSEmmanuel Vadot */ 458*0e8011faSEmmanuel Vadot&blsp_i2c4_default { 459*0e8011faSEmmanuel Vadot drive-strength = <16>; 460*0e8011faSEmmanuel Vadot}; 461*0e8011faSEmmanuel Vadot 462*0e8011faSEmmanuel Vadot&blsp_i2c6_default { 463*0e8011faSEmmanuel Vadot drive-strength = <16>; 464*0e8011faSEmmanuel Vadot}; 465*0e8011faSEmmanuel Vadot 466*0e8011faSEmmanuel Vadot&blsp_uart1_default { 467*0e8011faSEmmanuel Vadot bootph-all; 468*0e8011faSEmmanuel Vadot}; 469*0e8011faSEmmanuel Vadot 470*0e8011faSEmmanuel Vadot/* Enable CoreSight */ 471*0e8011faSEmmanuel Vadot&cti0 { status = "okay"; }; 472*0e8011faSEmmanuel Vadot&cti1 { status = "okay"; }; 473*0e8011faSEmmanuel Vadot&cti12 { status = "okay"; }; 474*0e8011faSEmmanuel Vadot&cti13 { status = "okay"; }; 475*0e8011faSEmmanuel Vadot&cti14 { status = "okay"; }; 476*0e8011faSEmmanuel Vadot&cti15 { status = "okay"; }; 477*0e8011faSEmmanuel Vadot&debug0 { status = "okay"; }; 478*0e8011faSEmmanuel Vadot&debug1 { status = "okay"; }; 479*0e8011faSEmmanuel Vadot&debug2 { status = "okay"; }; 480*0e8011faSEmmanuel Vadot&debug3 { status = "okay"; }; 481*0e8011faSEmmanuel Vadot&etf { status = "okay"; }; 482*0e8011faSEmmanuel Vadot&etm0 { status = "okay"; }; 483*0e8011faSEmmanuel Vadot&etm1 { status = "okay"; }; 484*0e8011faSEmmanuel Vadot&etm2 { status = "okay"; }; 485*0e8011faSEmmanuel Vadot&etm3 { status = "okay"; }; 486*0e8011faSEmmanuel Vadot&etr { status = "okay"; }; 487*0e8011faSEmmanuel Vadot&funnel0 { status = "okay"; }; 488*0e8011faSEmmanuel Vadot&funnel1 { status = "okay"; }; 489*0e8011faSEmmanuel Vadot&replicator { status = "okay"; }; 490*0e8011faSEmmanuel Vadot&stm { status = "okay"; }; 491*0e8011faSEmmanuel Vadot&tpiu { status = "okay"; }; 492