197fb5e8dSThomas Gleixner// SPDX-License-Identifier: GPL-2.0-only 2282703e8SKumar Gala/* 3282703e8SKumar Gala * Copyright (c) 2015, The Linux Foundation. All rights reserved. 4282703e8SKumar Gala */ 5282703e8SKumar Gala 6282703e8SKumar Gala/dts-v1/; 7282703e8SKumar Gala 8442ee1fcSStephan Gerhold#include "msm8916-pm8916.dtsi" 9442ee1fcSStephan Gerhold#include <dt-bindings/gpio/gpio.h> 10442ee1fcSStephan Gerhold#include <dt-bindings/input/input.h> 11a072128bSKrzysztof Kozlowski#include <dt-bindings/leds/common.h> 12442ee1fcSStephan Gerhold#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 13442ee1fcSStephan Gerhold#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 14442ee1fcSStephan Gerhold#include <dt-bindings/sound/apq8016-lpass.h> 15282703e8SKumar Gala 16282703e8SKumar Gala/ { 17282703e8SKumar Gala model = "Qualcomm Technologies, Inc. APQ 8016 SBC"; 18acf050abSVinod Koul compatible = "qcom,apq8016-sbc", "qcom,apq8016"; 19442ee1fcSStephan Gerhold 20442ee1fcSStephan Gerhold aliases { 21154f23a8SStephan Gerhold mmc0 = &sdhc_1; /* eMMC */ 22154f23a8SStephan Gerhold mmc1 = &sdhc_2; /* SD card */ 23c310ca82SStephan Gerhold serial0 = &blsp_uart2; 24c310ca82SStephan Gerhold serial1 = &blsp_uart1; 25442ee1fcSStephan Gerhold usid0 = &pm8916_0; 26442ee1fcSStephan Gerhold i2c0 = &blsp_i2c2; 27442ee1fcSStephan Gerhold i2c1 = &blsp_i2c6; 28442ee1fcSStephan Gerhold i2c3 = &blsp_i2c4; 29442ee1fcSStephan Gerhold spi0 = &blsp_spi5; 30442ee1fcSStephan Gerhold spi1 = &blsp_spi3; 31442ee1fcSStephan Gerhold }; 32442ee1fcSStephan Gerhold 33442ee1fcSStephan Gerhold chosen { 34442ee1fcSStephan Gerhold stdout-path = "serial0"; 35442ee1fcSStephan Gerhold }; 36442ee1fcSStephan Gerhold 37442ee1fcSStephan Gerhold reserved-memory { 38442ee1fcSStephan Gerhold ramoops@bff00000 { 39442ee1fcSStephan Gerhold compatible = "ramoops"; 40442ee1fcSStephan Gerhold reg = <0x0 0xbff00000 0x0 0x100000>; 41442ee1fcSStephan Gerhold 42442ee1fcSStephan Gerhold record-size = <0x20000>; 43442ee1fcSStephan Gerhold console-size = <0x20000>; 44442ee1fcSStephan Gerhold ftrace-size = <0x20000>; 45442ee1fcSStephan Gerhold }; 46442ee1fcSStephan Gerhold }; 47442ee1fcSStephan Gerhold 48442ee1fcSStephan Gerhold usb2513 { 49442ee1fcSStephan Gerhold compatible = "smsc,usb3503"; 50442ee1fcSStephan Gerhold reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>; 51442ee1fcSStephan Gerhold initial-mode = <1>; 52442ee1fcSStephan Gerhold }; 53442ee1fcSStephan Gerhold 54442ee1fcSStephan Gerhold usb_id: usb-id { 55442ee1fcSStephan Gerhold compatible = "linux,extcon-usb-gpio"; 56f6485041SAlexander Stein id-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>; 57442ee1fcSStephan Gerhold pinctrl-names = "default"; 58442ee1fcSStephan Gerhold pinctrl-0 = <&usb_id_default>; 59442ee1fcSStephan Gerhold }; 60442ee1fcSStephan Gerhold 61442ee1fcSStephan Gerhold hdmi-out { 62442ee1fcSStephan Gerhold compatible = "hdmi-connector"; 63442ee1fcSStephan Gerhold type = "a"; 64442ee1fcSStephan Gerhold 65442ee1fcSStephan Gerhold port { 66442ee1fcSStephan Gerhold hdmi_con: endpoint { 67442ee1fcSStephan Gerhold remote-endpoint = <&adv7533_out>; 68442ee1fcSStephan Gerhold }; 69442ee1fcSStephan Gerhold }; 70442ee1fcSStephan Gerhold }; 71442ee1fcSStephan Gerhold 72442ee1fcSStephan Gerhold gpio-keys { 73442ee1fcSStephan Gerhold compatible = "gpio-keys"; 74442ee1fcSStephan Gerhold autorepeat; 75442ee1fcSStephan Gerhold 76442ee1fcSStephan Gerhold pinctrl-names = "default"; 77442ee1fcSStephan Gerhold pinctrl-0 = <&msm_key_volp_n_default>; 78442ee1fcSStephan Gerhold 795a4b0b85SKrzysztof Kozlowski button { 80442ee1fcSStephan Gerhold label = "Volume Up"; 81442ee1fcSStephan Gerhold linux,code = <KEY_VOLUMEUP>; 8241e22c2fSStephan Gerhold gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 83442ee1fcSStephan Gerhold }; 84442ee1fcSStephan Gerhold }; 85442ee1fcSStephan Gerhold 86442ee1fcSStephan Gerhold leds { 87442ee1fcSStephan Gerhold pinctrl-names = "default"; 8841e22c2fSStephan Gerhold pinctrl-0 = <&tlmm_leds>, 89442ee1fcSStephan Gerhold <&pm8916_gpios_leds>, 90442ee1fcSStephan Gerhold <&pm8916_mpps_leds>; 91442ee1fcSStephan Gerhold 92442ee1fcSStephan Gerhold compatible = "gpio-leds"; 93442ee1fcSStephan Gerhold 94442ee1fcSStephan Gerhold led@1 { 95442ee1fcSStephan Gerhold label = "apq8016-sbc:green:user1"; 96a072128bSKrzysztof Kozlowski function = LED_FUNCTION_HEARTBEAT; 97a072128bSKrzysztof Kozlowski color = <LED_COLOR_ID_GREEN>; 9841e22c2fSStephan Gerhold gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; 99442ee1fcSStephan Gerhold linux,default-trigger = "heartbeat"; 100442ee1fcSStephan Gerhold default-state = "off"; 101442ee1fcSStephan Gerhold }; 102442ee1fcSStephan Gerhold 103442ee1fcSStephan Gerhold led@2 { 104442ee1fcSStephan Gerhold label = "apq8016-sbc:green:user2"; 105a072128bSKrzysztof Kozlowski function = LED_FUNCTION_DISK_ACTIVITY; 106a072128bSKrzysztof Kozlowski color = <LED_COLOR_ID_GREEN>; 10741e22c2fSStephan Gerhold gpios = <&tlmm 120 GPIO_ACTIVE_HIGH>; 108442ee1fcSStephan Gerhold linux,default-trigger = "mmc0"; 109442ee1fcSStephan Gerhold default-state = "off"; 110442ee1fcSStephan Gerhold }; 111442ee1fcSStephan Gerhold 112442ee1fcSStephan Gerhold led@3 { 113442ee1fcSStephan Gerhold label = "apq8016-sbc:green:user3"; 114a072128bSKrzysztof Kozlowski function = LED_FUNCTION_DISK_ACTIVITY; 115a072128bSKrzysztof Kozlowski color = <LED_COLOR_ID_GREEN>; 116442ee1fcSStephan Gerhold gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>; 117442ee1fcSStephan Gerhold linux,default-trigger = "mmc1"; 118442ee1fcSStephan Gerhold default-state = "off"; 119442ee1fcSStephan Gerhold }; 120442ee1fcSStephan Gerhold 121442ee1fcSStephan Gerhold led@4 { 122442ee1fcSStephan Gerhold label = "apq8016-sbc:green:user4"; 123a072128bSKrzysztof Kozlowski color = <LED_COLOR_ID_GREEN>; 124442ee1fcSStephan Gerhold gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>; 125442ee1fcSStephan Gerhold linux,default-trigger = "none"; 126442ee1fcSStephan Gerhold panic-indicator; 127442ee1fcSStephan Gerhold default-state = "off"; 128442ee1fcSStephan Gerhold }; 129442ee1fcSStephan Gerhold 130442ee1fcSStephan Gerhold led@5 { 131442ee1fcSStephan Gerhold label = "apq8016-sbc:yellow:wlan"; 132a072128bSKrzysztof Kozlowski function = LED_FUNCTION_WLAN; 133a072128bSKrzysztof Kozlowski color = <LED_COLOR_ID_YELLOW>; 134442ee1fcSStephan Gerhold gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>; 135442ee1fcSStephan Gerhold linux,default-trigger = "phy0tx"; 136442ee1fcSStephan Gerhold default-state = "off"; 137442ee1fcSStephan Gerhold }; 138442ee1fcSStephan Gerhold 139442ee1fcSStephan Gerhold led@6 { 140442ee1fcSStephan Gerhold label = "apq8016-sbc:blue:bt"; 141a072128bSKrzysztof Kozlowski function = LED_FUNCTION_BLUETOOTH; 142a072128bSKrzysztof Kozlowski color = <LED_COLOR_ID_BLUE>; 143442ee1fcSStephan Gerhold gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>; 144442ee1fcSStephan Gerhold linux,default-trigger = "bluetooth-power"; 145442ee1fcSStephan Gerhold default-state = "off"; 146442ee1fcSStephan Gerhold }; 147442ee1fcSStephan Gerhold }; 148442ee1fcSStephan Gerhold}; 149442ee1fcSStephan Gerhold 150442ee1fcSStephan Gerhold&blsp_i2c2 { 151031df8e6SKrzysztof Kozlowski /* On Low speed expansion: LS-I2C0 */ 152442ee1fcSStephan Gerhold status = "okay"; 153442ee1fcSStephan Gerhold}; 154442ee1fcSStephan Gerhold 155442ee1fcSStephan Gerhold&blsp_i2c4 { 156031df8e6SKrzysztof Kozlowski /* On High speed expansion: HS-I2C2 */ 157442ee1fcSStephan Gerhold status = "okay"; 158442ee1fcSStephan Gerhold 159442ee1fcSStephan Gerhold adv_bridge: bridge@39 { 160442ee1fcSStephan Gerhold status = "okay"; 161442ee1fcSStephan Gerhold 162442ee1fcSStephan Gerhold compatible = "adi,adv7533"; 163442ee1fcSStephan Gerhold reg = <0x39>; 164442ee1fcSStephan Gerhold 16541e22c2fSStephan Gerhold interrupt-parent = <&tlmm>; 166442ee1fcSStephan Gerhold interrupts = <31 IRQ_TYPE_EDGE_FALLING>; 167442ee1fcSStephan Gerhold 168442ee1fcSStephan Gerhold adi,dsi-lanes = <4>; 169442ee1fcSStephan Gerhold clocks = <&rpmcc RPM_SMD_BB_CLK2>; 170442ee1fcSStephan Gerhold clock-names = "cec"; 171442ee1fcSStephan Gerhold 17241e22c2fSStephan Gerhold pd-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; 173442ee1fcSStephan Gerhold 174442ee1fcSStephan Gerhold avdd-supply = <&pm8916_l6>; 175*49efe1dbSStephan Gerhold a2vdd-supply = <&pm8916_l6>; 176*49efe1dbSStephan Gerhold dvdd-supply = <&pm8916_l6>; 177*49efe1dbSStephan Gerhold pvdd-supply = <&pm8916_l6>; 178442ee1fcSStephan Gerhold v1p2-supply = <&pm8916_l6>; 179442ee1fcSStephan Gerhold v3p3-supply = <&pm8916_l17>; 180442ee1fcSStephan Gerhold 181442ee1fcSStephan Gerhold pinctrl-names = "default","sleep"; 182442ee1fcSStephan Gerhold pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>; 183442ee1fcSStephan Gerhold pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>; 184442ee1fcSStephan Gerhold #sound-dai-cells = <1>; 185442ee1fcSStephan Gerhold 186442ee1fcSStephan Gerhold ports { 187442ee1fcSStephan Gerhold #address-cells = <1>; 188442ee1fcSStephan Gerhold #size-cells = <0>; 189442ee1fcSStephan Gerhold 190442ee1fcSStephan Gerhold port@0 { 191442ee1fcSStephan Gerhold reg = <0>; 192442ee1fcSStephan Gerhold adv7533_in: endpoint { 193835f9395SStephan Gerhold remote-endpoint = <&mdss_dsi0_out>; 194442ee1fcSStephan Gerhold }; 195442ee1fcSStephan Gerhold }; 196442ee1fcSStephan Gerhold 197442ee1fcSStephan Gerhold port@1 { 198442ee1fcSStephan Gerhold reg = <1>; 199442ee1fcSStephan Gerhold adv7533_out: endpoint { 200442ee1fcSStephan Gerhold remote-endpoint = <&hdmi_con>; 201442ee1fcSStephan Gerhold }; 202442ee1fcSStephan Gerhold }; 203442ee1fcSStephan Gerhold }; 204442ee1fcSStephan Gerhold }; 205442ee1fcSStephan Gerhold}; 206442ee1fcSStephan Gerhold 207442ee1fcSStephan Gerhold&blsp_i2c6 { 208031df8e6SKrzysztof Kozlowski /* On Low speed expansion: LS-I2C1 */ 209442ee1fcSStephan Gerhold status = "okay"; 210442ee1fcSStephan Gerhold}; 211442ee1fcSStephan Gerhold 212442ee1fcSStephan Gerhold&blsp_spi3 { 213031df8e6SKrzysztof Kozlowski /* On High speed expansion: HS-SPI1 */ 214442ee1fcSStephan Gerhold status = "okay"; 215442ee1fcSStephan Gerhold}; 216442ee1fcSStephan Gerhold 217442ee1fcSStephan Gerhold&blsp_spi5 { 218031df8e6SKrzysztof Kozlowski /* On Low speed expansion: LS-SPI0 */ 219442ee1fcSStephan Gerhold status = "okay"; 220442ee1fcSStephan Gerhold}; 221442ee1fcSStephan Gerhold 222c310ca82SStephan Gerhold&blsp_uart1 { 223442ee1fcSStephan Gerhold status = "okay"; 224442ee1fcSStephan Gerhold label = "LS-UART0"; 225442ee1fcSStephan Gerhold}; 226442ee1fcSStephan Gerhold 227c310ca82SStephan Gerhold&blsp_uart2 { 228442ee1fcSStephan Gerhold status = "okay"; 229442ee1fcSStephan Gerhold label = "LS-UART1"; 230442ee1fcSStephan Gerhold}; 231442ee1fcSStephan Gerhold 232c27c73bbSBryan O'Donoghue&camss { 233c27c73bbSBryan O'Donoghue status = "okay"; 234c27c73bbSBryan O'Donoghue}; 235c27c73bbSBryan O'Donoghue 236442ee1fcSStephan Gerhold&lpass { 237442ee1fcSStephan Gerhold status = "okay"; 238442ee1fcSStephan Gerhold}; 239442ee1fcSStephan Gerhold 240a5cf21b1SStephan Gerhold&lpass_codec { 241a5cf21b1SStephan Gerhold status = "okay"; 242a5cf21b1SStephan Gerhold}; 243a5cf21b1SStephan Gerhold 244442ee1fcSStephan Gerhold&mdss { 245442ee1fcSStephan Gerhold status = "okay"; 246442ee1fcSStephan Gerhold}; 247442ee1fcSStephan Gerhold 248835f9395SStephan Gerhold&mdss_dsi0_out { 249835f9395SStephan Gerhold data-lanes = <0 1 2 3>; 250835f9395SStephan Gerhold remote-endpoint = <&adv7533_in>; 251835f9395SStephan Gerhold}; 252835f9395SStephan Gerhold 253442ee1fcSStephan Gerhold&mpss { 254442ee1fcSStephan Gerhold status = "okay"; 255442ee1fcSStephan Gerhold 256442ee1fcSStephan Gerhold firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn"; 257442ee1fcSStephan Gerhold}; 258442ee1fcSStephan Gerhold 259274cf2bdSStephan Gerhold&pm8916_codec { 260274cf2bdSStephan Gerhold status = "okay"; 261274cf2bdSStephan Gerhold clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; 262274cf2bdSStephan Gerhold clock-names = "mclk"; 263274cf2bdSStephan Gerhold qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 264274cf2bdSStephan Gerhold qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 265274cf2bdSStephan Gerhold}; 266274cf2bdSStephan Gerhold 267442ee1fcSStephan Gerhold&pm8916_resin { 268442ee1fcSStephan Gerhold status = "okay"; 269442ee1fcSStephan Gerhold linux,code = <KEY_VOLUMEDOWN>; 270442ee1fcSStephan Gerhold}; 271442ee1fcSStephan Gerhold 272b0a8f16aSStephan Gerhold&pm8916_rpm_regulators { 273b0a8f16aSStephan Gerhold /* 274b0a8f16aSStephan Gerhold * The 96Boards specification expects a 1.8V power rail on the low-speed 275b0a8f16aSStephan Gerhold * expansion connector that is able to provide at least 0.18W / 100 mA. 276b0a8f16aSStephan Gerhold * L15/L16 are connected in parallel to provide 55 mA each. A minimum load 277b0a8f16aSStephan Gerhold * must be specified to ensure the regulators are not put in LPM where they 278b0a8f16aSStephan Gerhold * would only provide 5 mA. 279b0a8f16aSStephan Gerhold */ 280b0a8f16aSStephan Gerhold pm8916_l15: l15 { 281b0a8f16aSStephan Gerhold regulator-min-microvolt = <1800000>; 282b0a8f16aSStephan Gerhold regulator-max-microvolt = <1800000>; 283b0a8f16aSStephan Gerhold regulator-system-load = <50000>; 284b0a8f16aSStephan Gerhold regulator-allow-set-load; 285b0a8f16aSStephan Gerhold regulator-always-on; 286b0a8f16aSStephan Gerhold }; 287b0a8f16aSStephan Gerhold pm8916_l16: l16 { 288b0a8f16aSStephan Gerhold regulator-min-microvolt = <1800000>; 289b0a8f16aSStephan Gerhold regulator-max-microvolt = <1800000>; 290b0a8f16aSStephan Gerhold regulator-system-load = <50000>; 291b0a8f16aSStephan Gerhold regulator-allow-set-load; 292b0a8f16aSStephan Gerhold regulator-always-on; 293b0a8f16aSStephan Gerhold }; 294b0a8f16aSStephan Gerhold 295b0a8f16aSStephan Gerhold pm8916_l17: l17 { 296b0a8f16aSStephan Gerhold regulator-min-microvolt = <3300000>; 297b0a8f16aSStephan Gerhold regulator-max-microvolt = <3300000>; 298b0a8f16aSStephan Gerhold }; 299b0a8f16aSStephan Gerhold}; 300b0a8f16aSStephan Gerhold 301442ee1fcSStephan Gerhold&sdhc_1 { 302442ee1fcSStephan Gerhold status = "okay"; 303442ee1fcSStephan Gerhold}; 304442ee1fcSStephan Gerhold 305442ee1fcSStephan Gerhold&sdhc_2 { 306442ee1fcSStephan Gerhold status = "okay"; 307442ee1fcSStephan Gerhold 308442ee1fcSStephan Gerhold pinctrl-names = "default", "sleep"; 309c943e4c5SStephan Gerhold pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 310c943e4c5SStephan Gerhold pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 311442ee1fcSStephan Gerhold 31241e22c2fSStephan Gerhold cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 313442ee1fcSStephan Gerhold}; 314442ee1fcSStephan Gerhold 315442ee1fcSStephan Gerhold&sound { 316442ee1fcSStephan Gerhold status = "okay"; 317442ee1fcSStephan Gerhold 3180d3a93b1SStephan Gerhold pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>; 3190d3a93b1SStephan Gerhold pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>; 320442ee1fcSStephan Gerhold pinctrl-names = "default", "sleep"; 321ff15ae73SStephan Gerhold model = "DB410c"; 322ff15ae73SStephan Gerhold audio-routing = 323442ee1fcSStephan Gerhold "AMIC2", "MIC BIAS Internal2", 324442ee1fcSStephan Gerhold "AMIC3", "MIC BIAS External1"; 325442ee1fcSStephan Gerhold 326ff15ae73SStephan Gerhold quaternary-dai-link { 327442ee1fcSStephan Gerhold link-name = "ADV7533"; 328442ee1fcSStephan Gerhold cpu { 329442ee1fcSStephan Gerhold sound-dai = <&lpass MI2S_QUATERNARY>; 330442ee1fcSStephan Gerhold }; 331442ee1fcSStephan Gerhold codec { 332442ee1fcSStephan Gerhold sound-dai = <&adv_bridge 0>; 333442ee1fcSStephan Gerhold }; 334442ee1fcSStephan Gerhold }; 335442ee1fcSStephan Gerhold 336ff15ae73SStephan Gerhold primary-dai-link { 337442ee1fcSStephan Gerhold link-name = "WCD"; 338442ee1fcSStephan Gerhold cpu { 339442ee1fcSStephan Gerhold sound-dai = <&lpass MI2S_PRIMARY>; 340442ee1fcSStephan Gerhold }; 341442ee1fcSStephan Gerhold codec { 342274cf2bdSStephan Gerhold sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>; 343442ee1fcSStephan Gerhold }; 344442ee1fcSStephan Gerhold }; 345442ee1fcSStephan Gerhold 346ff15ae73SStephan Gerhold tertiary-dai-link { 347442ee1fcSStephan Gerhold link-name = "WCD-Capture"; 348442ee1fcSStephan Gerhold cpu { 349442ee1fcSStephan Gerhold sound-dai = <&lpass MI2S_TERTIARY>; 350442ee1fcSStephan Gerhold }; 351442ee1fcSStephan Gerhold codec { 352274cf2bdSStephan Gerhold sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>; 353442ee1fcSStephan Gerhold }; 354442ee1fcSStephan Gerhold }; 355442ee1fcSStephan Gerhold}; 356442ee1fcSStephan Gerhold 357442ee1fcSStephan Gerhold&usb { 358442ee1fcSStephan Gerhold status = "okay"; 359442ee1fcSStephan Gerhold extcon = <&usb_id>, <&usb_id>; 360442ee1fcSStephan Gerhold 361442ee1fcSStephan Gerhold pinctrl-names = "default", "device"; 362442ee1fcSStephan Gerhold pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>; 363442ee1fcSStephan Gerhold pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>; 364442ee1fcSStephan Gerhold}; 365442ee1fcSStephan Gerhold 366442ee1fcSStephan Gerhold&usb_hs_phy { 367442ee1fcSStephan Gerhold extcon = <&usb_id>; 368442ee1fcSStephan Gerhold}; 369442ee1fcSStephan Gerhold 37032444424SStephan Gerhold&wcnss { 37132444424SStephan Gerhold status = "okay"; 37232444424SStephan Gerhold firmware-name = "qcom/apq8016/wcnss.mbn"; 37332444424SStephan Gerhold}; 37432444424SStephan Gerhold 375442ee1fcSStephan Gerhold&wcnss_ctrl { 376442ee1fcSStephan Gerhold firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin"; 377442ee1fcSStephan Gerhold}; 378442ee1fcSStephan Gerhold 37932444424SStephan Gerhold&wcnss_iris { 38032444424SStephan Gerhold compatible = "qcom,wcn3620"; 38132444424SStephan Gerhold}; 38232444424SStephan Gerhold 383442ee1fcSStephan Gerhold/* Enable CoreSight */ 384442ee1fcSStephan Gerhold&cti0 { status = "okay"; }; 385442ee1fcSStephan Gerhold&cti1 { status = "okay"; }; 386442ee1fcSStephan Gerhold&cti12 { status = "okay"; }; 387442ee1fcSStephan Gerhold&cti13 { status = "okay"; }; 388442ee1fcSStephan Gerhold&cti14 { status = "okay"; }; 389442ee1fcSStephan Gerhold&cti15 { status = "okay"; }; 390442ee1fcSStephan Gerhold&debug0 { status = "okay"; }; 391442ee1fcSStephan Gerhold&debug1 { status = "okay"; }; 392442ee1fcSStephan Gerhold&debug2 { status = "okay"; }; 393442ee1fcSStephan Gerhold&debug3 { status = "okay"; }; 394442ee1fcSStephan Gerhold&etf { status = "okay"; }; 395442ee1fcSStephan Gerhold&etm0 { status = "okay"; }; 396442ee1fcSStephan Gerhold&etm1 { status = "okay"; }; 397442ee1fcSStephan Gerhold&etm2 { status = "okay"; }; 398442ee1fcSStephan Gerhold&etm3 { status = "okay"; }; 399442ee1fcSStephan Gerhold&etr { status = "okay"; }; 400442ee1fcSStephan Gerhold&funnel0 { status = "okay"; }; 401442ee1fcSStephan Gerhold&funnel1 { status = "okay"; }; 402442ee1fcSStephan Gerhold&replicator { status = "okay"; }; 403442ee1fcSStephan Gerhold&stm { status = "okay"; }; 404442ee1fcSStephan Gerhold&tpiu { status = "okay"; }; 405442ee1fcSStephan Gerhold 406442ee1fcSStephan Gerhold/* 407442ee1fcSStephan Gerhold * 2mA drive strength is not enough when connecting multiple 408442ee1fcSStephan Gerhold * I2C devices with different pull up resistors. 409442ee1fcSStephan Gerhold */ 410fdfc21f6SStephan Gerhold&blsp_i2c2_default { 411442ee1fcSStephan Gerhold drive-strength = <16>; 412442ee1fcSStephan Gerhold}; 413442ee1fcSStephan Gerhold 414fdfc21f6SStephan Gerhold&blsp_i2c4_default { 415442ee1fcSStephan Gerhold drive-strength = <16>; 416442ee1fcSStephan Gerhold}; 417442ee1fcSStephan Gerhold 418fdfc21f6SStephan Gerhold&blsp_i2c6_default { 419442ee1fcSStephan Gerhold drive-strength = <16>; 420442ee1fcSStephan Gerhold}; 421442ee1fcSStephan Gerhold 422442ee1fcSStephan Gerhold/* 423442ee1fcSStephan Gerhold * GPIO name legend: proper name = the GPIO line is used as GPIO 424442ee1fcSStephan Gerhold * NC = not connected (pin out but not routed from the chip to 425442ee1fcSStephan Gerhold * anything the board) 426442ee1fcSStephan Gerhold * "[PER]" = pin is muxed for [peripheral] (not GPIO) 427442ee1fcSStephan Gerhold * LSEC = Low Speed External Connector 428442ee1fcSStephan Gerhold * HSEC = High Speed External Connector 429442ee1fcSStephan Gerhold * 430442ee1fcSStephan Gerhold * Line names are taken from the schematic "DragonBoard410c" 431442ee1fcSStephan Gerhold * dated monday, august 31, 2015. Page 5 in particular. 432442ee1fcSStephan Gerhold * 433442ee1fcSStephan Gerhold * For the lines routed to the external connectors the 434442ee1fcSStephan Gerhold * lines are named after the 96Boards CE Specification 1.0, 435442ee1fcSStephan Gerhold * Appendix "Expansion Connector Signal Description". 436442ee1fcSStephan Gerhold * 437442ee1fcSStephan Gerhold * When the 96Board naming of a line and the schematic name of 438442ee1fcSStephan Gerhold * the same line are in conflict, the 96Board specification 439442ee1fcSStephan Gerhold * takes precedence, which means that the external UART on the 440442ee1fcSStephan Gerhold * LSEC is named UART0 while the schematic and SoC names this 441442ee1fcSStephan Gerhold * UART3. This is only for the informational lines i.e. "[FOO]", 442442ee1fcSStephan Gerhold * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 443442ee1fcSStephan Gerhold * ones actually used for GPIO. 444442ee1fcSStephan Gerhold */ 445442ee1fcSStephan Gerhold 44641e22c2fSStephan Gerhold&tlmm { 447442ee1fcSStephan Gerhold gpio-line-names = 448442ee1fcSStephan Gerhold "[UART0_TX]", /* GPIO_0, LSEC pin 5 */ 449442ee1fcSStephan Gerhold "[UART0_RX]", /* GPIO_1, LSEC pin 7 */ 450442ee1fcSStephan Gerhold "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */ 451442ee1fcSStephan Gerhold "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */ 452442ee1fcSStephan Gerhold "[UART1_TX]", /* GPIO_4, LSEC pin 11 */ 453442ee1fcSStephan Gerhold "[UART1_RX]", /* GPIO_5, LSEC pin 13 */ 454442ee1fcSStephan Gerhold "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */ 455442ee1fcSStephan Gerhold "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */ 456442ee1fcSStephan Gerhold "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */ 457442ee1fcSStephan Gerhold "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */ 458442ee1fcSStephan Gerhold "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */ 459442ee1fcSStephan Gerhold "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */ 460442ee1fcSStephan Gerhold "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */ 461442ee1fcSStephan Gerhold "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */ 462442ee1fcSStephan Gerhold "[I2C3_SDA]", /* HSEC pin 38 */ 463442ee1fcSStephan Gerhold "[I2C3_SCL]", /* HSEC pin 36 */ 464442ee1fcSStephan Gerhold "[SPI0_MOSI]", /* LSEC pin 14 */ 465442ee1fcSStephan Gerhold "[SPI0_MISO]", /* LSEC pin 10 */ 466442ee1fcSStephan Gerhold "[SPI0_CS_N]", /* LSEC pin 12 */ 467442ee1fcSStephan Gerhold "[SPI0_CLK]", /* LSEC pin 8 */ 468442ee1fcSStephan Gerhold "HDMI_HPD_N", /* GPIO 20 */ 469442ee1fcSStephan Gerhold "USR_LED_1_CTRL", 470442ee1fcSStephan Gerhold "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */ 471442ee1fcSStephan Gerhold "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */ 472442ee1fcSStephan Gerhold "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */ 473442ee1fcSStephan Gerhold "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */ 474442ee1fcSStephan Gerhold "[CSI0_MCLK]", /* HSEC pin 15 */ 475442ee1fcSStephan Gerhold "[CSI1_MCLK]", /* HSEC pin 17 */ 476442ee1fcSStephan Gerhold "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */ 477442ee1fcSStephan Gerhold "[I2C2_SDA]", /* HSEC pin 34 */ 478442ee1fcSStephan Gerhold "[I2C2_SCL]", /* HSEC pin 32 */ 479442ee1fcSStephan Gerhold "DSI2HDMI_INT_N", 480442ee1fcSStephan Gerhold "DSI_SW_SEL_APQ", 481442ee1fcSStephan Gerhold "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */ 482442ee1fcSStephan Gerhold "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */ 483442ee1fcSStephan Gerhold "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */ 484442ee1fcSStephan Gerhold "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */ 485442ee1fcSStephan Gerhold "FORCED_USB_BOOT", 486442ee1fcSStephan Gerhold "SD_CARD_DET_N", 487442ee1fcSStephan Gerhold "[WCSS_BT_SSBI]", 488442ee1fcSStephan Gerhold "[WCSS_WLAN_DATA_2]", /* GPIO 40 */ 489442ee1fcSStephan Gerhold "[WCSS_WLAN_DATA_1]", 490442ee1fcSStephan Gerhold "[WCSS_WLAN_DATA_0]", 491442ee1fcSStephan Gerhold "[WCSS_WLAN_SET]", 492442ee1fcSStephan Gerhold "[WCSS_WLAN_CLK]", 493442ee1fcSStephan Gerhold "[WCSS_FM_SSBI]", 494442ee1fcSStephan Gerhold "[WCSS_FM_SDI]", 495442ee1fcSStephan Gerhold "[WCSS_BT_DAT_CTL]", 496442ee1fcSStephan Gerhold "[WCSS_BT_DAT_STB]", 497442ee1fcSStephan Gerhold "NC", 498442ee1fcSStephan Gerhold "NC", /* GPIO 50 */ 499442ee1fcSStephan Gerhold "NC", 500442ee1fcSStephan Gerhold "NC", 501442ee1fcSStephan Gerhold "NC", 502442ee1fcSStephan Gerhold "NC", 503442ee1fcSStephan Gerhold "NC", 504442ee1fcSStephan Gerhold "NC", 505442ee1fcSStephan Gerhold "NC", 506442ee1fcSStephan Gerhold "NC", 507442ee1fcSStephan Gerhold "NC", 508442ee1fcSStephan Gerhold "NC", /* GPIO 60 */ 509442ee1fcSStephan Gerhold "NC", 510442ee1fcSStephan Gerhold "NC", 511442ee1fcSStephan Gerhold "[CDC_PDM0_CLK]", 512442ee1fcSStephan Gerhold "[CDC_PDM0_SYNC]", 513442ee1fcSStephan Gerhold "[CDC_PDM0_TX0]", 514442ee1fcSStephan Gerhold "[CDC_PDM0_RX0]", 515442ee1fcSStephan Gerhold "[CDC_PDM0_RX1]", 516442ee1fcSStephan Gerhold "[CDC_PDM0_RX2]", 517442ee1fcSStephan Gerhold "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */ 518442ee1fcSStephan Gerhold "NC", /* GPIO 70 */ 519442ee1fcSStephan Gerhold "NC", 520442ee1fcSStephan Gerhold "NC", 521442ee1fcSStephan Gerhold "NC", 522442ee1fcSStephan Gerhold "NC", /* GPIO 74 */ 523442ee1fcSStephan Gerhold "NC", 524442ee1fcSStephan Gerhold "NC", 525442ee1fcSStephan Gerhold "NC", 526442ee1fcSStephan Gerhold "NC", 527442ee1fcSStephan Gerhold "NC", 528442ee1fcSStephan Gerhold "BOOT_CONFIG_0", /* GPIO 80 */ 529442ee1fcSStephan Gerhold "BOOT_CONFIG_1", 530442ee1fcSStephan Gerhold "BOOT_CONFIG_2", 531442ee1fcSStephan Gerhold "BOOT_CONFIG_3", 532442ee1fcSStephan Gerhold "NC", 533442ee1fcSStephan Gerhold "NC", 534442ee1fcSStephan Gerhold "BOOT_CONFIG_5", 535442ee1fcSStephan Gerhold "NC", 536442ee1fcSStephan Gerhold "NC", 537442ee1fcSStephan Gerhold "NC", 538442ee1fcSStephan Gerhold "NC", /* GPIO 90 */ 539442ee1fcSStephan Gerhold "NC", 540442ee1fcSStephan Gerhold "NC", 541442ee1fcSStephan Gerhold "NC", 542442ee1fcSStephan Gerhold "NC", 543442ee1fcSStephan Gerhold "NC", 544442ee1fcSStephan Gerhold "NC", 545442ee1fcSStephan Gerhold "NC", 546442ee1fcSStephan Gerhold "NC", 547442ee1fcSStephan Gerhold "NC", 548442ee1fcSStephan Gerhold "NC", /* GPIO 100 */ 549442ee1fcSStephan Gerhold "NC", 550442ee1fcSStephan Gerhold "NC", 551442ee1fcSStephan Gerhold "NC", 552442ee1fcSStephan Gerhold "SSBI_GPS", 553442ee1fcSStephan Gerhold "NC", 554442ee1fcSStephan Gerhold "NC", 555442ee1fcSStephan Gerhold "KEY_VOLP_N", 556442ee1fcSStephan Gerhold "NC", 557442ee1fcSStephan Gerhold "NC", 558442ee1fcSStephan Gerhold "[LS_EXP_MI2S_WS]", /* GPIO 110 */ 559442ee1fcSStephan Gerhold "NC", 560442ee1fcSStephan Gerhold "NC", 561442ee1fcSStephan Gerhold "[LS_EXP_MI2S_SCK]", 562442ee1fcSStephan Gerhold "[LS_EXP_MI2S_DATA0]", 563442ee1fcSStephan Gerhold "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */ 564442ee1fcSStephan Gerhold "NC", 565442ee1fcSStephan Gerhold "[DSI2HDMI_MI2S_WS]", 566442ee1fcSStephan Gerhold "[DSI2HDMI_MI2S_SCK]", 567442ee1fcSStephan Gerhold "[DSI2HDMI_MI2S_DATA0]", 568442ee1fcSStephan Gerhold "USR_LED_2_CTRL", /* GPIO 120 */ 569442ee1fcSStephan Gerhold "SB_HS_ID"; 570442ee1fcSStephan Gerhold 571dfbda20dSStephan Gerhold sdc2_cd_default: sdc2-cd-default-state { 572dfbda20dSStephan Gerhold pins = "gpio38"; 573dfbda20dSStephan Gerhold function = "gpio"; 574dfbda20dSStephan Gerhold drive-strength = <2>; 575dfbda20dSStephan Gerhold bias-disable; 576dfbda20dSStephan Gerhold }; 577dfbda20dSStephan Gerhold 57841e22c2fSStephan Gerhold tlmm_leds: tlmm-leds-state { 579442ee1fcSStephan Gerhold pins = "gpio21", "gpio120"; 580442ee1fcSStephan Gerhold function = "gpio"; 581442ee1fcSStephan Gerhold 582442ee1fcSStephan Gerhold output-low; 583442ee1fcSStephan Gerhold }; 584442ee1fcSStephan Gerhold 5858b276ca0SKrzysztof Kozlowski usb_id_default: usb-id-default-state { 586442ee1fcSStephan Gerhold pins = "gpio121"; 587442ee1fcSStephan Gerhold function = "gpio"; 588442ee1fcSStephan Gerhold 589442ee1fcSStephan Gerhold drive-strength = <8>; 590442ee1fcSStephan Gerhold bias-pull-up; 591442ee1fcSStephan Gerhold }; 592442ee1fcSStephan Gerhold 5938b276ca0SKrzysztof Kozlowski adv7533_int_active: adv533-int-active-state { 594442ee1fcSStephan Gerhold pins = "gpio31"; 595442ee1fcSStephan Gerhold function = "gpio"; 596442ee1fcSStephan Gerhold 597442ee1fcSStephan Gerhold drive-strength = <16>; 598442ee1fcSStephan Gerhold bias-disable; 599442ee1fcSStephan Gerhold }; 600442ee1fcSStephan Gerhold 6018b276ca0SKrzysztof Kozlowski adv7533_int_suspend: adv7533-int-suspend-state { 602442ee1fcSStephan Gerhold pins = "gpio31"; 603442ee1fcSStephan Gerhold function = "gpio"; 604442ee1fcSStephan Gerhold 605442ee1fcSStephan Gerhold drive-strength = <2>; 606442ee1fcSStephan Gerhold bias-disable; 607442ee1fcSStephan Gerhold }; 608442ee1fcSStephan Gerhold 6098b276ca0SKrzysztof Kozlowski adv7533_switch_active: adv7533-switch-active-state { 610442ee1fcSStephan Gerhold pins = "gpio32"; 611442ee1fcSStephan Gerhold function = "gpio"; 612442ee1fcSStephan Gerhold 613442ee1fcSStephan Gerhold drive-strength = <16>; 614442ee1fcSStephan Gerhold bias-disable; 615442ee1fcSStephan Gerhold }; 616442ee1fcSStephan Gerhold 6178b276ca0SKrzysztof Kozlowski adv7533_switch_suspend: adv7533-switch-suspend-state { 618442ee1fcSStephan Gerhold pins = "gpio32"; 619442ee1fcSStephan Gerhold function = "gpio"; 620442ee1fcSStephan Gerhold 621442ee1fcSStephan Gerhold drive-strength = <2>; 622442ee1fcSStephan Gerhold bias-disable; 623442ee1fcSStephan Gerhold }; 624442ee1fcSStephan Gerhold 6258b276ca0SKrzysztof Kozlowski msm_key_volp_n_default: msm-key-volp-n-default-state { 626442ee1fcSStephan Gerhold pins = "gpio107"; 627442ee1fcSStephan Gerhold function = "gpio"; 628442ee1fcSStephan Gerhold 629442ee1fcSStephan Gerhold drive-strength = <8>; 630442ee1fcSStephan Gerhold bias-pull-up; 631442ee1fcSStephan Gerhold }; 632442ee1fcSStephan Gerhold}; 633442ee1fcSStephan Gerhold 634442ee1fcSStephan Gerhold&pm8916_gpios { 635442ee1fcSStephan Gerhold gpio-line-names = 636442ee1fcSStephan Gerhold "USR_LED_3_CTRL", 637442ee1fcSStephan Gerhold "USR_LED_4_CTRL", 638442ee1fcSStephan Gerhold "USB_HUB_RESET_N_PM", 639442ee1fcSStephan Gerhold "USB_SW_SEL_PM"; 640442ee1fcSStephan Gerhold 641ff36bed5SKrzysztof Kozlowski usb_hub_reset_pm: usb-hub-reset-pm-state { 642442ee1fcSStephan Gerhold pins = "gpio3"; 643442ee1fcSStephan Gerhold function = PMIC_GPIO_FUNC_NORMAL; 644442ee1fcSStephan Gerhold 645442ee1fcSStephan Gerhold input-disable; 646442ee1fcSStephan Gerhold output-high; 647442ee1fcSStephan Gerhold }; 648442ee1fcSStephan Gerhold 649ff36bed5SKrzysztof Kozlowski usb_hub_reset_pm_device: usb-hub-reset-pm-device-state { 650442ee1fcSStephan Gerhold pins = "gpio3"; 651442ee1fcSStephan Gerhold function = PMIC_GPIO_FUNC_NORMAL; 652442ee1fcSStephan Gerhold 653442ee1fcSStephan Gerhold output-low; 654442ee1fcSStephan Gerhold }; 655442ee1fcSStephan Gerhold 656ff36bed5SKrzysztof Kozlowski usb_sw_sel_pm: usb-sw-sel-pm-state { 657442ee1fcSStephan Gerhold pins = "gpio4"; 658442ee1fcSStephan Gerhold function = PMIC_GPIO_FUNC_NORMAL; 659442ee1fcSStephan Gerhold 660442ee1fcSStephan Gerhold power-source = <PM8916_GPIO_VPH>; 661442ee1fcSStephan Gerhold input-disable; 662442ee1fcSStephan Gerhold output-high; 663442ee1fcSStephan Gerhold }; 664442ee1fcSStephan Gerhold 665ff36bed5SKrzysztof Kozlowski usb_sw_sel_pm_device: usb-sw-sel-pm-device-state { 666442ee1fcSStephan Gerhold pins = "gpio4"; 667442ee1fcSStephan Gerhold function = PMIC_GPIO_FUNC_NORMAL; 668442ee1fcSStephan Gerhold 669442ee1fcSStephan Gerhold power-source = <PM8916_GPIO_VPH>; 670442ee1fcSStephan Gerhold input-disable; 671442ee1fcSStephan Gerhold output-low; 672442ee1fcSStephan Gerhold }; 673442ee1fcSStephan Gerhold 674ff36bed5SKrzysztof Kozlowski pm8916_gpios_leds: pm8916-gpios-leds-state { 675442ee1fcSStephan Gerhold pins = "gpio1", "gpio2"; 676442ee1fcSStephan Gerhold function = PMIC_GPIO_FUNC_NORMAL; 677442ee1fcSStephan Gerhold 678442ee1fcSStephan Gerhold output-low; 679442ee1fcSStephan Gerhold }; 680442ee1fcSStephan Gerhold}; 681442ee1fcSStephan Gerhold 682442ee1fcSStephan Gerhold&pm8916_mpps { 683442ee1fcSStephan Gerhold gpio-line-names = 684442ee1fcSStephan Gerhold "VDD_PX_BIAS", 685442ee1fcSStephan Gerhold "WLAN_LED_CTRL", 686442ee1fcSStephan Gerhold "BT_LED_CTRL", 687442ee1fcSStephan Gerhold "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */ 688442ee1fcSStephan Gerhold 689442ee1fcSStephan Gerhold pinctrl-names = "default"; 690442ee1fcSStephan Gerhold pinctrl-0 = <&ls_exp_gpio_f>; 691442ee1fcSStephan Gerhold 692442ee1fcSStephan Gerhold ls_exp_gpio_f: pm8916-mpp4-state { 693442ee1fcSStephan Gerhold pins = "mpp4"; 694442ee1fcSStephan Gerhold function = "digital"; 695442ee1fcSStephan Gerhold 696442ee1fcSStephan Gerhold output-low; 6974bb376f6SKonrad Dybcio power-source = <PM8916_MPP_L5>; /* 1.8V */ 698442ee1fcSStephan Gerhold }; 699442ee1fcSStephan Gerhold 700442ee1fcSStephan Gerhold pm8916_mpps_leds: pm8916-mpps-state { 701442ee1fcSStephan Gerhold pins = "mpp2", "mpp3"; 702442ee1fcSStephan Gerhold function = "digital"; 703442ee1fcSStephan Gerhold 704442ee1fcSStephan Gerhold output-low; 705442ee1fcSStephan Gerhold }; 706282703e8SKumar Gala}; 707