162306a36Sopenharmony_ci// SPDX-License-Identifier: GPL-2.0-only 262306a36Sopenharmony_ci/* 362306a36Sopenharmony_ci * Copyright (c) 2015, The Linux Foundation. All rights reserved. 462306a36Sopenharmony_ci */ 562306a36Sopenharmony_ci 662306a36Sopenharmony_ci/dts-v1/; 762306a36Sopenharmony_ci 862306a36Sopenharmony_ci#include "msm8916-pm8916.dtsi" 962306a36Sopenharmony_ci#include <dt-bindings/gpio/gpio.h> 1062306a36Sopenharmony_ci#include <dt-bindings/input/input.h> 1162306a36Sopenharmony_ci#include <dt-bindings/leds/common.h> 1262306a36Sopenharmony_ci#include <dt-bindings/pinctrl/qcom,pmic-gpio.h> 1362306a36Sopenharmony_ci#include <dt-bindings/pinctrl/qcom,pmic-mpp.h> 1462306a36Sopenharmony_ci#include <dt-bindings/sound/apq8016-lpass.h> 1562306a36Sopenharmony_ci 1662306a36Sopenharmony_ci/ { 1762306a36Sopenharmony_ci model = "Qualcomm Technologies, Inc. APQ 8016 SBC"; 1862306a36Sopenharmony_ci compatible = "qcom,apq8016-sbc", "qcom,apq8016"; 1962306a36Sopenharmony_ci 2062306a36Sopenharmony_ci aliases { 2162306a36Sopenharmony_ci mmc0 = &sdhc_1; /* eMMC */ 2262306a36Sopenharmony_ci mmc1 = &sdhc_2; /* SD card */ 2362306a36Sopenharmony_ci serial0 = &blsp_uart2; 2462306a36Sopenharmony_ci serial1 = &blsp_uart1; 2562306a36Sopenharmony_ci usid0 = &pm8916_0; 2662306a36Sopenharmony_ci i2c0 = &blsp_i2c2; 2762306a36Sopenharmony_ci i2c1 = &blsp_i2c6; 2862306a36Sopenharmony_ci i2c3 = &blsp_i2c4; 2962306a36Sopenharmony_ci spi0 = &blsp_spi5; 3062306a36Sopenharmony_ci spi1 = &blsp_spi3; 3162306a36Sopenharmony_ci }; 3262306a36Sopenharmony_ci 3362306a36Sopenharmony_ci chosen { 3462306a36Sopenharmony_ci stdout-path = "serial0"; 3562306a36Sopenharmony_ci }; 3662306a36Sopenharmony_ci 3762306a36Sopenharmony_ci reserved-memory { 3862306a36Sopenharmony_ci ramoops@bff00000 { 3962306a36Sopenharmony_ci compatible = "ramoops"; 4062306a36Sopenharmony_ci reg = <0x0 0xbff00000 0x0 0x100000>; 4162306a36Sopenharmony_ci 4262306a36Sopenharmony_ci record-size = <0x20000>; 4362306a36Sopenharmony_ci console-size = <0x20000>; 4462306a36Sopenharmony_ci ftrace-size = <0x20000>; 4562306a36Sopenharmony_ci }; 4662306a36Sopenharmony_ci }; 4762306a36Sopenharmony_ci 4862306a36Sopenharmony_ci usb2513 { 4962306a36Sopenharmony_ci compatible = "smsc,usb3503"; 5062306a36Sopenharmony_ci reset-gpios = <&pm8916_gpios 3 GPIO_ACTIVE_LOW>; 5162306a36Sopenharmony_ci initial-mode = <1>; 5262306a36Sopenharmony_ci }; 5362306a36Sopenharmony_ci 5462306a36Sopenharmony_ci usb_id: usb-id { 5562306a36Sopenharmony_ci compatible = "linux,extcon-usb-gpio"; 5662306a36Sopenharmony_ci id-gpios = <&tlmm 121 GPIO_ACTIVE_HIGH>; 5762306a36Sopenharmony_ci pinctrl-names = "default"; 5862306a36Sopenharmony_ci pinctrl-0 = <&usb_id_default>; 5962306a36Sopenharmony_ci }; 6062306a36Sopenharmony_ci 6162306a36Sopenharmony_ci hdmi-out { 6262306a36Sopenharmony_ci compatible = "hdmi-connector"; 6362306a36Sopenharmony_ci type = "a"; 6462306a36Sopenharmony_ci 6562306a36Sopenharmony_ci port { 6662306a36Sopenharmony_ci hdmi_con: endpoint { 6762306a36Sopenharmony_ci remote-endpoint = <&adv7533_out>; 6862306a36Sopenharmony_ci }; 6962306a36Sopenharmony_ci }; 7062306a36Sopenharmony_ci }; 7162306a36Sopenharmony_ci 7262306a36Sopenharmony_ci gpio-keys { 7362306a36Sopenharmony_ci compatible = "gpio-keys"; 7462306a36Sopenharmony_ci autorepeat; 7562306a36Sopenharmony_ci 7662306a36Sopenharmony_ci pinctrl-names = "default"; 7762306a36Sopenharmony_ci pinctrl-0 = <&msm_key_volp_n_default>; 7862306a36Sopenharmony_ci 7962306a36Sopenharmony_ci button { 8062306a36Sopenharmony_ci label = "Volume Up"; 8162306a36Sopenharmony_ci linux,code = <KEY_VOLUMEUP>; 8262306a36Sopenharmony_ci gpios = <&tlmm 107 GPIO_ACTIVE_LOW>; 8362306a36Sopenharmony_ci }; 8462306a36Sopenharmony_ci }; 8562306a36Sopenharmony_ci 8662306a36Sopenharmony_ci leds { 8762306a36Sopenharmony_ci pinctrl-names = "default"; 8862306a36Sopenharmony_ci pinctrl-0 = <&tlmm_leds>, 8962306a36Sopenharmony_ci <&pm8916_gpios_leds>, 9062306a36Sopenharmony_ci <&pm8916_mpps_leds>; 9162306a36Sopenharmony_ci 9262306a36Sopenharmony_ci compatible = "gpio-leds"; 9362306a36Sopenharmony_ci 9462306a36Sopenharmony_ci led@1 { 9562306a36Sopenharmony_ci label = "apq8016-sbc:green:user1"; 9662306a36Sopenharmony_ci function = LED_FUNCTION_HEARTBEAT; 9762306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 9862306a36Sopenharmony_ci gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; 9962306a36Sopenharmony_ci linux,default-trigger = "heartbeat"; 10062306a36Sopenharmony_ci default-state = "off"; 10162306a36Sopenharmony_ci }; 10262306a36Sopenharmony_ci 10362306a36Sopenharmony_ci led@2 { 10462306a36Sopenharmony_ci label = "apq8016-sbc:green:user2"; 10562306a36Sopenharmony_ci function = LED_FUNCTION_DISK_ACTIVITY; 10662306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 10762306a36Sopenharmony_ci gpios = <&tlmm 120 GPIO_ACTIVE_HIGH>; 10862306a36Sopenharmony_ci linux,default-trigger = "mmc0"; 10962306a36Sopenharmony_ci default-state = "off"; 11062306a36Sopenharmony_ci }; 11162306a36Sopenharmony_ci 11262306a36Sopenharmony_ci led@3 { 11362306a36Sopenharmony_ci label = "apq8016-sbc:green:user3"; 11462306a36Sopenharmony_ci function = LED_FUNCTION_DISK_ACTIVITY; 11562306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 11662306a36Sopenharmony_ci gpios = <&pm8916_gpios 1 GPIO_ACTIVE_HIGH>; 11762306a36Sopenharmony_ci linux,default-trigger = "mmc1"; 11862306a36Sopenharmony_ci default-state = "off"; 11962306a36Sopenharmony_ci }; 12062306a36Sopenharmony_ci 12162306a36Sopenharmony_ci led@4 { 12262306a36Sopenharmony_ci label = "apq8016-sbc:green:user4"; 12362306a36Sopenharmony_ci color = <LED_COLOR_ID_GREEN>; 12462306a36Sopenharmony_ci gpios = <&pm8916_gpios 2 GPIO_ACTIVE_HIGH>; 12562306a36Sopenharmony_ci linux,default-trigger = "none"; 12662306a36Sopenharmony_ci panic-indicator; 12762306a36Sopenharmony_ci default-state = "off"; 12862306a36Sopenharmony_ci }; 12962306a36Sopenharmony_ci 13062306a36Sopenharmony_ci led@5 { 13162306a36Sopenharmony_ci label = "apq8016-sbc:yellow:wlan"; 13262306a36Sopenharmony_ci function = LED_FUNCTION_WLAN; 13362306a36Sopenharmony_ci color = <LED_COLOR_ID_YELLOW>; 13462306a36Sopenharmony_ci gpios = <&pm8916_mpps 2 GPIO_ACTIVE_HIGH>; 13562306a36Sopenharmony_ci linux,default-trigger = "phy0tx"; 13662306a36Sopenharmony_ci default-state = "off"; 13762306a36Sopenharmony_ci }; 13862306a36Sopenharmony_ci 13962306a36Sopenharmony_ci led@6 { 14062306a36Sopenharmony_ci label = "apq8016-sbc:blue:bt"; 14162306a36Sopenharmony_ci function = LED_FUNCTION_BLUETOOTH; 14262306a36Sopenharmony_ci color = <LED_COLOR_ID_BLUE>; 14362306a36Sopenharmony_ci gpios = <&pm8916_mpps 3 GPIO_ACTIVE_HIGH>; 14462306a36Sopenharmony_ci linux,default-trigger = "bluetooth-power"; 14562306a36Sopenharmony_ci default-state = "off"; 14662306a36Sopenharmony_ci }; 14762306a36Sopenharmony_ci }; 14862306a36Sopenharmony_ci}; 14962306a36Sopenharmony_ci 15062306a36Sopenharmony_ci&blsp_i2c2 { 15162306a36Sopenharmony_ci /* On Low speed expansion: LS-I2C0 */ 15262306a36Sopenharmony_ci status = "okay"; 15362306a36Sopenharmony_ci}; 15462306a36Sopenharmony_ci 15562306a36Sopenharmony_ci&blsp_i2c4 { 15662306a36Sopenharmony_ci /* On High speed expansion: HS-I2C2 */ 15762306a36Sopenharmony_ci status = "okay"; 15862306a36Sopenharmony_ci 15962306a36Sopenharmony_ci adv_bridge: bridge@39 { 16062306a36Sopenharmony_ci status = "okay"; 16162306a36Sopenharmony_ci 16262306a36Sopenharmony_ci compatible = "adi,adv7533"; 16362306a36Sopenharmony_ci reg = <0x39>; 16462306a36Sopenharmony_ci 16562306a36Sopenharmony_ci interrupt-parent = <&tlmm>; 16662306a36Sopenharmony_ci interrupts = <31 IRQ_TYPE_EDGE_FALLING>; 16762306a36Sopenharmony_ci 16862306a36Sopenharmony_ci adi,dsi-lanes = <4>; 16962306a36Sopenharmony_ci clocks = <&rpmcc RPM_SMD_BB_CLK2>; 17062306a36Sopenharmony_ci clock-names = "cec"; 17162306a36Sopenharmony_ci 17262306a36Sopenharmony_ci pd-gpios = <&tlmm 32 GPIO_ACTIVE_HIGH>; 17362306a36Sopenharmony_ci 17462306a36Sopenharmony_ci avdd-supply = <&pm8916_l6>; 17562306a36Sopenharmony_ci a2vdd-supply = <&pm8916_l6>; 17662306a36Sopenharmony_ci dvdd-supply = <&pm8916_l6>; 17762306a36Sopenharmony_ci pvdd-supply = <&pm8916_l6>; 17862306a36Sopenharmony_ci v1p2-supply = <&pm8916_l6>; 17962306a36Sopenharmony_ci v3p3-supply = <&pm8916_l17>; 18062306a36Sopenharmony_ci 18162306a36Sopenharmony_ci pinctrl-names = "default","sleep"; 18262306a36Sopenharmony_ci pinctrl-0 = <&adv7533_int_active &adv7533_switch_active>; 18362306a36Sopenharmony_ci pinctrl-1 = <&adv7533_int_suspend &adv7533_switch_suspend>; 18462306a36Sopenharmony_ci #sound-dai-cells = <1>; 18562306a36Sopenharmony_ci 18662306a36Sopenharmony_ci ports { 18762306a36Sopenharmony_ci #address-cells = <1>; 18862306a36Sopenharmony_ci #size-cells = <0>; 18962306a36Sopenharmony_ci 19062306a36Sopenharmony_ci port@0 { 19162306a36Sopenharmony_ci reg = <0>; 19262306a36Sopenharmony_ci adv7533_in: endpoint { 19362306a36Sopenharmony_ci remote-endpoint = <&mdss_dsi0_out>; 19462306a36Sopenharmony_ci }; 19562306a36Sopenharmony_ci }; 19662306a36Sopenharmony_ci 19762306a36Sopenharmony_ci port@1 { 19862306a36Sopenharmony_ci reg = <1>; 19962306a36Sopenharmony_ci adv7533_out: endpoint { 20062306a36Sopenharmony_ci remote-endpoint = <&hdmi_con>; 20162306a36Sopenharmony_ci }; 20262306a36Sopenharmony_ci }; 20362306a36Sopenharmony_ci }; 20462306a36Sopenharmony_ci }; 20562306a36Sopenharmony_ci}; 20662306a36Sopenharmony_ci 20762306a36Sopenharmony_ci&blsp_i2c6 { 20862306a36Sopenharmony_ci /* On Low speed expansion: LS-I2C1 */ 20962306a36Sopenharmony_ci status = "okay"; 21062306a36Sopenharmony_ci}; 21162306a36Sopenharmony_ci 21262306a36Sopenharmony_ci&blsp_spi3 { 21362306a36Sopenharmony_ci /* On High speed expansion: HS-SPI1 */ 21462306a36Sopenharmony_ci status = "okay"; 21562306a36Sopenharmony_ci}; 21662306a36Sopenharmony_ci 21762306a36Sopenharmony_ci&blsp_spi5 { 21862306a36Sopenharmony_ci /* On Low speed expansion: LS-SPI0 */ 21962306a36Sopenharmony_ci status = "okay"; 22062306a36Sopenharmony_ci}; 22162306a36Sopenharmony_ci 22262306a36Sopenharmony_ci&blsp_uart1 { 22362306a36Sopenharmony_ci status = "okay"; 22462306a36Sopenharmony_ci label = "LS-UART0"; 22562306a36Sopenharmony_ci}; 22662306a36Sopenharmony_ci 22762306a36Sopenharmony_ci&blsp_uart2 { 22862306a36Sopenharmony_ci status = "okay"; 22962306a36Sopenharmony_ci label = "LS-UART1"; 23062306a36Sopenharmony_ci}; 23162306a36Sopenharmony_ci 23262306a36Sopenharmony_ci&camss { 23362306a36Sopenharmony_ci status = "okay"; 23462306a36Sopenharmony_ci}; 23562306a36Sopenharmony_ci 23662306a36Sopenharmony_ci&lpass { 23762306a36Sopenharmony_ci status = "okay"; 23862306a36Sopenharmony_ci}; 23962306a36Sopenharmony_ci 24062306a36Sopenharmony_ci&lpass_codec { 24162306a36Sopenharmony_ci status = "okay"; 24262306a36Sopenharmony_ci}; 24362306a36Sopenharmony_ci 24462306a36Sopenharmony_ci&mdss { 24562306a36Sopenharmony_ci status = "okay"; 24662306a36Sopenharmony_ci}; 24762306a36Sopenharmony_ci 24862306a36Sopenharmony_ci&mdss_dsi0_out { 24962306a36Sopenharmony_ci data-lanes = <0 1 2 3>; 25062306a36Sopenharmony_ci remote-endpoint = <&adv7533_in>; 25162306a36Sopenharmony_ci}; 25262306a36Sopenharmony_ci 25362306a36Sopenharmony_ci&mpss { 25462306a36Sopenharmony_ci status = "okay"; 25562306a36Sopenharmony_ci 25662306a36Sopenharmony_ci firmware-name = "qcom/apq8016/mba.mbn", "qcom/apq8016/modem.mbn"; 25762306a36Sopenharmony_ci}; 25862306a36Sopenharmony_ci 25962306a36Sopenharmony_ci&pm8916_codec { 26062306a36Sopenharmony_ci status = "okay"; 26162306a36Sopenharmony_ci clocks = <&gcc GCC_CODEC_DIGCODEC_CLK>; 26262306a36Sopenharmony_ci clock-names = "mclk"; 26362306a36Sopenharmony_ci qcom,mbhc-vthreshold-low = <75 150 237 450 500>; 26462306a36Sopenharmony_ci qcom,mbhc-vthreshold-high = <75 150 237 450 500>; 26562306a36Sopenharmony_ci}; 26662306a36Sopenharmony_ci 26762306a36Sopenharmony_ci&pm8916_resin { 26862306a36Sopenharmony_ci status = "okay"; 26962306a36Sopenharmony_ci linux,code = <KEY_VOLUMEDOWN>; 27062306a36Sopenharmony_ci}; 27162306a36Sopenharmony_ci 27262306a36Sopenharmony_ci&pm8916_rpm_regulators { 27362306a36Sopenharmony_ci /* 27462306a36Sopenharmony_ci * The 96Boards specification expects a 1.8V power rail on the low-speed 27562306a36Sopenharmony_ci * expansion connector that is able to provide at least 0.18W / 100 mA. 27662306a36Sopenharmony_ci * L15/L16 are connected in parallel to provide 55 mA each. A minimum load 27762306a36Sopenharmony_ci * must be specified to ensure the regulators are not put in LPM where they 27862306a36Sopenharmony_ci * would only provide 5 mA. 27962306a36Sopenharmony_ci */ 28062306a36Sopenharmony_ci pm8916_l15: l15 { 28162306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 28262306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 28362306a36Sopenharmony_ci regulator-system-load = <50000>; 28462306a36Sopenharmony_ci regulator-allow-set-load; 28562306a36Sopenharmony_ci regulator-always-on; 28662306a36Sopenharmony_ci }; 28762306a36Sopenharmony_ci pm8916_l16: l16 { 28862306a36Sopenharmony_ci regulator-min-microvolt = <1800000>; 28962306a36Sopenharmony_ci regulator-max-microvolt = <1800000>; 29062306a36Sopenharmony_ci regulator-system-load = <50000>; 29162306a36Sopenharmony_ci regulator-allow-set-load; 29262306a36Sopenharmony_ci regulator-always-on; 29362306a36Sopenharmony_ci }; 29462306a36Sopenharmony_ci 29562306a36Sopenharmony_ci pm8916_l17: l17 { 29662306a36Sopenharmony_ci regulator-min-microvolt = <3300000>; 29762306a36Sopenharmony_ci regulator-max-microvolt = <3300000>; 29862306a36Sopenharmony_ci }; 29962306a36Sopenharmony_ci}; 30062306a36Sopenharmony_ci 30162306a36Sopenharmony_ci&sdhc_1 { 30262306a36Sopenharmony_ci status = "okay"; 30362306a36Sopenharmony_ci}; 30462306a36Sopenharmony_ci 30562306a36Sopenharmony_ci&sdhc_2 { 30662306a36Sopenharmony_ci status = "okay"; 30762306a36Sopenharmony_ci 30862306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 30962306a36Sopenharmony_ci pinctrl-0 = <&sdc2_default &sdc2_cd_default>; 31062306a36Sopenharmony_ci pinctrl-1 = <&sdc2_sleep &sdc2_cd_default>; 31162306a36Sopenharmony_ci 31262306a36Sopenharmony_ci cd-gpios = <&tlmm 38 GPIO_ACTIVE_LOW>; 31362306a36Sopenharmony_ci}; 31462306a36Sopenharmony_ci 31562306a36Sopenharmony_ci&sound { 31662306a36Sopenharmony_ci status = "okay"; 31762306a36Sopenharmony_ci 31862306a36Sopenharmony_ci pinctrl-0 = <&cdc_pdm_default &sec_mi2s_default>; 31962306a36Sopenharmony_ci pinctrl-1 = <&cdc_pdm_sleep &sec_mi2s_sleep>; 32062306a36Sopenharmony_ci pinctrl-names = "default", "sleep"; 32162306a36Sopenharmony_ci model = "DB410c"; 32262306a36Sopenharmony_ci audio-routing = 32362306a36Sopenharmony_ci "AMIC2", "MIC BIAS Internal2", 32462306a36Sopenharmony_ci "AMIC3", "MIC BIAS External1"; 32562306a36Sopenharmony_ci 32662306a36Sopenharmony_ci quaternary-dai-link { 32762306a36Sopenharmony_ci link-name = "ADV7533"; 32862306a36Sopenharmony_ci cpu { 32962306a36Sopenharmony_ci sound-dai = <&lpass MI2S_QUATERNARY>; 33062306a36Sopenharmony_ci }; 33162306a36Sopenharmony_ci codec { 33262306a36Sopenharmony_ci sound-dai = <&adv_bridge 0>; 33362306a36Sopenharmony_ci }; 33462306a36Sopenharmony_ci }; 33562306a36Sopenharmony_ci 33662306a36Sopenharmony_ci primary-dai-link { 33762306a36Sopenharmony_ci link-name = "WCD"; 33862306a36Sopenharmony_ci cpu { 33962306a36Sopenharmony_ci sound-dai = <&lpass MI2S_PRIMARY>; 34062306a36Sopenharmony_ci }; 34162306a36Sopenharmony_ci codec { 34262306a36Sopenharmony_ci sound-dai = <&lpass_codec 0>, <&pm8916_codec 0>; 34362306a36Sopenharmony_ci }; 34462306a36Sopenharmony_ci }; 34562306a36Sopenharmony_ci 34662306a36Sopenharmony_ci tertiary-dai-link { 34762306a36Sopenharmony_ci link-name = "WCD-Capture"; 34862306a36Sopenharmony_ci cpu { 34962306a36Sopenharmony_ci sound-dai = <&lpass MI2S_TERTIARY>; 35062306a36Sopenharmony_ci }; 35162306a36Sopenharmony_ci codec { 35262306a36Sopenharmony_ci sound-dai = <&lpass_codec 1>, <&pm8916_codec 1>; 35362306a36Sopenharmony_ci }; 35462306a36Sopenharmony_ci }; 35562306a36Sopenharmony_ci}; 35662306a36Sopenharmony_ci 35762306a36Sopenharmony_ci&usb { 35862306a36Sopenharmony_ci status = "okay"; 35962306a36Sopenharmony_ci extcon = <&usb_id>, <&usb_id>; 36062306a36Sopenharmony_ci 36162306a36Sopenharmony_ci pinctrl-names = "default", "device"; 36262306a36Sopenharmony_ci pinctrl-0 = <&usb_sw_sel_pm &usb_hub_reset_pm>; 36362306a36Sopenharmony_ci pinctrl-1 = <&usb_sw_sel_pm_device &usb_hub_reset_pm_device>; 36462306a36Sopenharmony_ci}; 36562306a36Sopenharmony_ci 36662306a36Sopenharmony_ci&usb_hs_phy { 36762306a36Sopenharmony_ci extcon = <&usb_id>; 36862306a36Sopenharmony_ci}; 36962306a36Sopenharmony_ci 37062306a36Sopenharmony_ci&wcnss { 37162306a36Sopenharmony_ci status = "okay"; 37262306a36Sopenharmony_ci firmware-name = "qcom/apq8016/wcnss.mbn"; 37362306a36Sopenharmony_ci}; 37462306a36Sopenharmony_ci 37562306a36Sopenharmony_ci&wcnss_ctrl { 37662306a36Sopenharmony_ci firmware-name = "qcom/apq8016/WCNSS_qcom_wlan_nv_sbc.bin"; 37762306a36Sopenharmony_ci}; 37862306a36Sopenharmony_ci 37962306a36Sopenharmony_ci&wcnss_iris { 38062306a36Sopenharmony_ci compatible = "qcom,wcn3620"; 38162306a36Sopenharmony_ci}; 38262306a36Sopenharmony_ci 38362306a36Sopenharmony_ci/* Enable CoreSight */ 38462306a36Sopenharmony_ci&cti0 { status = "okay"; }; 38562306a36Sopenharmony_ci&cti1 { status = "okay"; }; 38662306a36Sopenharmony_ci&cti12 { status = "okay"; }; 38762306a36Sopenharmony_ci&cti13 { status = "okay"; }; 38862306a36Sopenharmony_ci&cti14 { status = "okay"; }; 38962306a36Sopenharmony_ci&cti15 { status = "okay"; }; 39062306a36Sopenharmony_ci&debug0 { status = "okay"; }; 39162306a36Sopenharmony_ci&debug1 { status = "okay"; }; 39262306a36Sopenharmony_ci&debug2 { status = "okay"; }; 39362306a36Sopenharmony_ci&debug3 { status = "okay"; }; 39462306a36Sopenharmony_ci&etf { status = "okay"; }; 39562306a36Sopenharmony_ci&etm0 { status = "okay"; }; 39662306a36Sopenharmony_ci&etm1 { status = "okay"; }; 39762306a36Sopenharmony_ci&etm2 { status = "okay"; }; 39862306a36Sopenharmony_ci&etm3 { status = "okay"; }; 39962306a36Sopenharmony_ci&etr { status = "okay"; }; 40062306a36Sopenharmony_ci&funnel0 { status = "okay"; }; 40162306a36Sopenharmony_ci&funnel1 { status = "okay"; }; 40262306a36Sopenharmony_ci&replicator { status = "okay"; }; 40362306a36Sopenharmony_ci&stm { status = "okay"; }; 40462306a36Sopenharmony_ci&tpiu { status = "okay"; }; 40562306a36Sopenharmony_ci 40662306a36Sopenharmony_ci/* 40762306a36Sopenharmony_ci * 2mA drive strength is not enough when connecting multiple 40862306a36Sopenharmony_ci * I2C devices with different pull up resistors. 40962306a36Sopenharmony_ci */ 41062306a36Sopenharmony_ci&blsp_i2c2_default { 41162306a36Sopenharmony_ci drive-strength = <16>; 41262306a36Sopenharmony_ci}; 41362306a36Sopenharmony_ci 41462306a36Sopenharmony_ci&blsp_i2c4_default { 41562306a36Sopenharmony_ci drive-strength = <16>; 41662306a36Sopenharmony_ci}; 41762306a36Sopenharmony_ci 41862306a36Sopenharmony_ci&blsp_i2c6_default { 41962306a36Sopenharmony_ci drive-strength = <16>; 42062306a36Sopenharmony_ci}; 42162306a36Sopenharmony_ci 42262306a36Sopenharmony_ci/* 42362306a36Sopenharmony_ci * GPIO name legend: proper name = the GPIO line is used as GPIO 42462306a36Sopenharmony_ci * NC = not connected (pin out but not routed from the chip to 42562306a36Sopenharmony_ci * anything the board) 42662306a36Sopenharmony_ci * "[PER]" = pin is muxed for [peripheral] (not GPIO) 42762306a36Sopenharmony_ci * LSEC = Low Speed External Connector 42862306a36Sopenharmony_ci * HSEC = High Speed External Connector 42962306a36Sopenharmony_ci * 43062306a36Sopenharmony_ci * Line names are taken from the schematic "DragonBoard410c" 43162306a36Sopenharmony_ci * dated monday, august 31, 2015. Page 5 in particular. 43262306a36Sopenharmony_ci * 43362306a36Sopenharmony_ci * For the lines routed to the external connectors the 43462306a36Sopenharmony_ci * lines are named after the 96Boards CE Specification 1.0, 43562306a36Sopenharmony_ci * Appendix "Expansion Connector Signal Description". 43662306a36Sopenharmony_ci * 43762306a36Sopenharmony_ci * When the 96Board naming of a line and the schematic name of 43862306a36Sopenharmony_ci * the same line are in conflict, the 96Board specification 43962306a36Sopenharmony_ci * takes precedence, which means that the external UART on the 44062306a36Sopenharmony_ci * LSEC is named UART0 while the schematic and SoC names this 44162306a36Sopenharmony_ci * UART3. This is only for the informational lines i.e. "[FOO]", 44262306a36Sopenharmony_ci * the GPIO named lines "GPIO-A" thru "GPIO-L" are the only 44362306a36Sopenharmony_ci * ones actually used for GPIO. 44462306a36Sopenharmony_ci */ 44562306a36Sopenharmony_ci 44662306a36Sopenharmony_ci&tlmm { 44762306a36Sopenharmony_ci gpio-line-names = 44862306a36Sopenharmony_ci "[UART0_TX]", /* GPIO_0, LSEC pin 5 */ 44962306a36Sopenharmony_ci "[UART0_RX]", /* GPIO_1, LSEC pin 7 */ 45062306a36Sopenharmony_ci "[UART0_CTS_N]", /* GPIO_2, LSEC pin 3 */ 45162306a36Sopenharmony_ci "[UART0_RTS_N]", /* GPIO_3, LSEC pin 9 */ 45262306a36Sopenharmony_ci "[UART1_TX]", /* GPIO_4, LSEC pin 11 */ 45362306a36Sopenharmony_ci "[UART1_RX]", /* GPIO_5, LSEC pin 13 */ 45462306a36Sopenharmony_ci "[I2C0_SDA]", /* GPIO_8, LSEC pin 17 */ 45562306a36Sopenharmony_ci "[I2C0_SCL]", /* GPIO_7, LSEC pin 15 */ 45662306a36Sopenharmony_ci "[SPI1_DOUT]", /* SPI1_MOSI, HSEC pin 1 */ 45762306a36Sopenharmony_ci "[SPI1_DIN]", /* SPI1_MISO, HSEC pin 11 */ 45862306a36Sopenharmony_ci "[SPI1_CS]", /* SPI1_CS_N, HSEC pin 7 */ 45962306a36Sopenharmony_ci "[SPI1_SCLK]", /* SPI1_CLK, HSEC pin 9 */ 46062306a36Sopenharmony_ci "GPIO-B", /* LS_EXP_GPIO_B, LSEC pin 24 */ 46162306a36Sopenharmony_ci "GPIO-C", /* LS_EXP_GPIO_C, LSEC pin 25 */ 46262306a36Sopenharmony_ci "[I2C3_SDA]", /* HSEC pin 38 */ 46362306a36Sopenharmony_ci "[I2C3_SCL]", /* HSEC pin 36 */ 46462306a36Sopenharmony_ci "[SPI0_MOSI]", /* LSEC pin 14 */ 46562306a36Sopenharmony_ci "[SPI0_MISO]", /* LSEC pin 10 */ 46662306a36Sopenharmony_ci "[SPI0_CS_N]", /* LSEC pin 12 */ 46762306a36Sopenharmony_ci "[SPI0_CLK]", /* LSEC pin 8 */ 46862306a36Sopenharmony_ci "HDMI_HPD_N", /* GPIO 20 */ 46962306a36Sopenharmony_ci "USR_LED_1_CTRL", 47062306a36Sopenharmony_ci "[I2C1_SDA]", /* GPIO_22, LSEC pin 21 */ 47162306a36Sopenharmony_ci "[I2C1_SCL]", /* GPIO_23, LSEC pin 19 */ 47262306a36Sopenharmony_ci "GPIO-G", /* LS_EXP_GPIO_G, LSEC pin 29 */ 47362306a36Sopenharmony_ci "GPIO-H", /* LS_EXP_GPIO_H, LSEC pin 30 */ 47462306a36Sopenharmony_ci "[CSI0_MCLK]", /* HSEC pin 15 */ 47562306a36Sopenharmony_ci "[CSI1_MCLK]", /* HSEC pin 17 */ 47662306a36Sopenharmony_ci "GPIO-K", /* LS_EXP_GPIO_K, LSEC pin 33 */ 47762306a36Sopenharmony_ci "[I2C2_SDA]", /* HSEC pin 34 */ 47862306a36Sopenharmony_ci "[I2C2_SCL]", /* HSEC pin 32 */ 47962306a36Sopenharmony_ci "DSI2HDMI_INT_N", 48062306a36Sopenharmony_ci "DSI_SW_SEL_APQ", 48162306a36Sopenharmony_ci "GPIO-L", /* LS_EXP_GPIO_L, LSEC pin 34 */ 48262306a36Sopenharmony_ci "GPIO-J", /* LS_EXP_GPIO_J, LSEC pin 32 */ 48362306a36Sopenharmony_ci "GPIO-I", /* LS_EXP_GPIO_I, LSEC pin 31 */ 48462306a36Sopenharmony_ci "GPIO-A", /* LS_EXP_GPIO_A, LSEC pin 23 */ 48562306a36Sopenharmony_ci "FORCED_USB_BOOT", 48662306a36Sopenharmony_ci "SD_CARD_DET_N", 48762306a36Sopenharmony_ci "[WCSS_BT_SSBI]", 48862306a36Sopenharmony_ci "[WCSS_WLAN_DATA_2]", /* GPIO 40 */ 48962306a36Sopenharmony_ci "[WCSS_WLAN_DATA_1]", 49062306a36Sopenharmony_ci "[WCSS_WLAN_DATA_0]", 49162306a36Sopenharmony_ci "[WCSS_WLAN_SET]", 49262306a36Sopenharmony_ci "[WCSS_WLAN_CLK]", 49362306a36Sopenharmony_ci "[WCSS_FM_SSBI]", 49462306a36Sopenharmony_ci "[WCSS_FM_SDI]", 49562306a36Sopenharmony_ci "[WCSS_BT_DAT_CTL]", 49662306a36Sopenharmony_ci "[WCSS_BT_DAT_STB]", 49762306a36Sopenharmony_ci "NC", 49862306a36Sopenharmony_ci "NC", /* GPIO 50 */ 49962306a36Sopenharmony_ci "NC", 50062306a36Sopenharmony_ci "NC", 50162306a36Sopenharmony_ci "NC", 50262306a36Sopenharmony_ci "NC", 50362306a36Sopenharmony_ci "NC", 50462306a36Sopenharmony_ci "NC", 50562306a36Sopenharmony_ci "NC", 50662306a36Sopenharmony_ci "NC", 50762306a36Sopenharmony_ci "NC", 50862306a36Sopenharmony_ci "NC", /* GPIO 60 */ 50962306a36Sopenharmony_ci "NC", 51062306a36Sopenharmony_ci "NC", 51162306a36Sopenharmony_ci "[CDC_PDM0_CLK]", 51262306a36Sopenharmony_ci "[CDC_PDM0_SYNC]", 51362306a36Sopenharmony_ci "[CDC_PDM0_TX0]", 51462306a36Sopenharmony_ci "[CDC_PDM0_RX0]", 51562306a36Sopenharmony_ci "[CDC_PDM0_RX1]", 51662306a36Sopenharmony_ci "[CDC_PDM0_RX2]", 51762306a36Sopenharmony_ci "GPIO-D", /* LS_EXP_GPIO_D, LSEC pin 26 */ 51862306a36Sopenharmony_ci "NC", /* GPIO 70 */ 51962306a36Sopenharmony_ci "NC", 52062306a36Sopenharmony_ci "NC", 52162306a36Sopenharmony_ci "NC", 52262306a36Sopenharmony_ci "NC", /* GPIO 74 */ 52362306a36Sopenharmony_ci "NC", 52462306a36Sopenharmony_ci "NC", 52562306a36Sopenharmony_ci "NC", 52662306a36Sopenharmony_ci "NC", 52762306a36Sopenharmony_ci "NC", 52862306a36Sopenharmony_ci "BOOT_CONFIG_0", /* GPIO 80 */ 52962306a36Sopenharmony_ci "BOOT_CONFIG_1", 53062306a36Sopenharmony_ci "BOOT_CONFIG_2", 53162306a36Sopenharmony_ci "BOOT_CONFIG_3", 53262306a36Sopenharmony_ci "NC", 53362306a36Sopenharmony_ci "NC", 53462306a36Sopenharmony_ci "BOOT_CONFIG_5", 53562306a36Sopenharmony_ci "NC", 53662306a36Sopenharmony_ci "NC", 53762306a36Sopenharmony_ci "NC", 53862306a36Sopenharmony_ci "NC", /* GPIO 90 */ 53962306a36Sopenharmony_ci "NC", 54062306a36Sopenharmony_ci "NC", 54162306a36Sopenharmony_ci "NC", 54262306a36Sopenharmony_ci "NC", 54362306a36Sopenharmony_ci "NC", 54462306a36Sopenharmony_ci "NC", 54562306a36Sopenharmony_ci "NC", 54662306a36Sopenharmony_ci "NC", 54762306a36Sopenharmony_ci "NC", 54862306a36Sopenharmony_ci "NC", /* GPIO 100 */ 54962306a36Sopenharmony_ci "NC", 55062306a36Sopenharmony_ci "NC", 55162306a36Sopenharmony_ci "NC", 55262306a36Sopenharmony_ci "SSBI_GPS", 55362306a36Sopenharmony_ci "NC", 55462306a36Sopenharmony_ci "NC", 55562306a36Sopenharmony_ci "KEY_VOLP_N", 55662306a36Sopenharmony_ci "NC", 55762306a36Sopenharmony_ci "NC", 55862306a36Sopenharmony_ci "[LS_EXP_MI2S_WS]", /* GPIO 110 */ 55962306a36Sopenharmony_ci "NC", 56062306a36Sopenharmony_ci "NC", 56162306a36Sopenharmony_ci "[LS_EXP_MI2S_SCK]", 56262306a36Sopenharmony_ci "[LS_EXP_MI2S_DATA0]", 56362306a36Sopenharmony_ci "GPIO-E", /* LS_EXP_GPIO_E, LSEC pin 27 */ 56462306a36Sopenharmony_ci "NC", 56562306a36Sopenharmony_ci "[DSI2HDMI_MI2S_WS]", 56662306a36Sopenharmony_ci "[DSI2HDMI_MI2S_SCK]", 56762306a36Sopenharmony_ci "[DSI2HDMI_MI2S_DATA0]", 56862306a36Sopenharmony_ci "USR_LED_2_CTRL", /* GPIO 120 */ 56962306a36Sopenharmony_ci "SB_HS_ID"; 57062306a36Sopenharmony_ci 57162306a36Sopenharmony_ci sdc2_cd_default: sdc2-cd-default-state { 57262306a36Sopenharmony_ci pins = "gpio38"; 57362306a36Sopenharmony_ci function = "gpio"; 57462306a36Sopenharmony_ci drive-strength = <2>; 57562306a36Sopenharmony_ci bias-disable; 57662306a36Sopenharmony_ci }; 57762306a36Sopenharmony_ci 57862306a36Sopenharmony_ci tlmm_leds: tlmm-leds-state { 57962306a36Sopenharmony_ci pins = "gpio21", "gpio120"; 58062306a36Sopenharmony_ci function = "gpio"; 58162306a36Sopenharmony_ci 58262306a36Sopenharmony_ci output-low; 58362306a36Sopenharmony_ci }; 58462306a36Sopenharmony_ci 58562306a36Sopenharmony_ci usb_id_default: usb-id-default-state { 58662306a36Sopenharmony_ci pins = "gpio121"; 58762306a36Sopenharmony_ci function = "gpio"; 58862306a36Sopenharmony_ci 58962306a36Sopenharmony_ci drive-strength = <8>; 59062306a36Sopenharmony_ci bias-pull-up; 59162306a36Sopenharmony_ci }; 59262306a36Sopenharmony_ci 59362306a36Sopenharmony_ci adv7533_int_active: adv533-int-active-state { 59462306a36Sopenharmony_ci pins = "gpio31"; 59562306a36Sopenharmony_ci function = "gpio"; 59662306a36Sopenharmony_ci 59762306a36Sopenharmony_ci drive-strength = <16>; 59862306a36Sopenharmony_ci bias-disable; 59962306a36Sopenharmony_ci }; 60062306a36Sopenharmony_ci 60162306a36Sopenharmony_ci adv7533_int_suspend: adv7533-int-suspend-state { 60262306a36Sopenharmony_ci pins = "gpio31"; 60362306a36Sopenharmony_ci function = "gpio"; 60462306a36Sopenharmony_ci 60562306a36Sopenharmony_ci drive-strength = <2>; 60662306a36Sopenharmony_ci bias-disable; 60762306a36Sopenharmony_ci }; 60862306a36Sopenharmony_ci 60962306a36Sopenharmony_ci adv7533_switch_active: adv7533-switch-active-state { 61062306a36Sopenharmony_ci pins = "gpio32"; 61162306a36Sopenharmony_ci function = "gpio"; 61262306a36Sopenharmony_ci 61362306a36Sopenharmony_ci drive-strength = <16>; 61462306a36Sopenharmony_ci bias-disable; 61562306a36Sopenharmony_ci }; 61662306a36Sopenharmony_ci 61762306a36Sopenharmony_ci adv7533_switch_suspend: adv7533-switch-suspend-state { 61862306a36Sopenharmony_ci pins = "gpio32"; 61962306a36Sopenharmony_ci function = "gpio"; 62062306a36Sopenharmony_ci 62162306a36Sopenharmony_ci drive-strength = <2>; 62262306a36Sopenharmony_ci bias-disable; 62362306a36Sopenharmony_ci }; 62462306a36Sopenharmony_ci 62562306a36Sopenharmony_ci msm_key_volp_n_default: msm-key-volp-n-default-state { 62662306a36Sopenharmony_ci pins = "gpio107"; 62762306a36Sopenharmony_ci function = "gpio"; 62862306a36Sopenharmony_ci 62962306a36Sopenharmony_ci drive-strength = <8>; 63062306a36Sopenharmony_ci bias-pull-up; 63162306a36Sopenharmony_ci }; 63262306a36Sopenharmony_ci}; 63362306a36Sopenharmony_ci 63462306a36Sopenharmony_ci&pm8916_gpios { 63562306a36Sopenharmony_ci gpio-line-names = 63662306a36Sopenharmony_ci "USR_LED_3_CTRL", 63762306a36Sopenharmony_ci "USR_LED_4_CTRL", 63862306a36Sopenharmony_ci "USB_HUB_RESET_N_PM", 63962306a36Sopenharmony_ci "USB_SW_SEL_PM"; 64062306a36Sopenharmony_ci 64162306a36Sopenharmony_ci usb_hub_reset_pm: usb-hub-reset-pm-state { 64262306a36Sopenharmony_ci pins = "gpio3"; 64362306a36Sopenharmony_ci function = PMIC_GPIO_FUNC_NORMAL; 64462306a36Sopenharmony_ci 64562306a36Sopenharmony_ci input-disable; 64662306a36Sopenharmony_ci output-high; 64762306a36Sopenharmony_ci }; 64862306a36Sopenharmony_ci 64962306a36Sopenharmony_ci usb_hub_reset_pm_device: usb-hub-reset-pm-device-state { 65062306a36Sopenharmony_ci pins = "gpio3"; 65162306a36Sopenharmony_ci function = PMIC_GPIO_FUNC_NORMAL; 65262306a36Sopenharmony_ci 65362306a36Sopenharmony_ci output-low; 65462306a36Sopenharmony_ci }; 65562306a36Sopenharmony_ci 65662306a36Sopenharmony_ci usb_sw_sel_pm: usb-sw-sel-pm-state { 65762306a36Sopenharmony_ci pins = "gpio4"; 65862306a36Sopenharmony_ci function = PMIC_GPIO_FUNC_NORMAL; 65962306a36Sopenharmony_ci 66062306a36Sopenharmony_ci power-source = <PM8916_GPIO_VPH>; 66162306a36Sopenharmony_ci input-disable; 66262306a36Sopenharmony_ci output-high; 66362306a36Sopenharmony_ci }; 66462306a36Sopenharmony_ci 66562306a36Sopenharmony_ci usb_sw_sel_pm_device: usb-sw-sel-pm-device-state { 66662306a36Sopenharmony_ci pins = "gpio4"; 66762306a36Sopenharmony_ci function = PMIC_GPIO_FUNC_NORMAL; 66862306a36Sopenharmony_ci 66962306a36Sopenharmony_ci power-source = <PM8916_GPIO_VPH>; 67062306a36Sopenharmony_ci input-disable; 67162306a36Sopenharmony_ci output-low; 67262306a36Sopenharmony_ci }; 67362306a36Sopenharmony_ci 67462306a36Sopenharmony_ci pm8916_gpios_leds: pm8916-gpios-leds-state { 67562306a36Sopenharmony_ci pins = "gpio1", "gpio2"; 67662306a36Sopenharmony_ci function = PMIC_GPIO_FUNC_NORMAL; 67762306a36Sopenharmony_ci 67862306a36Sopenharmony_ci output-low; 67962306a36Sopenharmony_ci }; 68062306a36Sopenharmony_ci}; 68162306a36Sopenharmony_ci 68262306a36Sopenharmony_ci&pm8916_mpps { 68362306a36Sopenharmony_ci gpio-line-names = 68462306a36Sopenharmony_ci "VDD_PX_BIAS", 68562306a36Sopenharmony_ci "WLAN_LED_CTRL", 68662306a36Sopenharmony_ci "BT_LED_CTRL", 68762306a36Sopenharmony_ci "GPIO-F"; /* LS_EXP_GPIO_F, LSEC pin 28 */ 68862306a36Sopenharmony_ci 68962306a36Sopenharmony_ci pinctrl-names = "default"; 69062306a36Sopenharmony_ci pinctrl-0 = <&ls_exp_gpio_f>; 69162306a36Sopenharmony_ci 69262306a36Sopenharmony_ci ls_exp_gpio_f: pm8916-mpp4-state { 69362306a36Sopenharmony_ci pins = "mpp4"; 69462306a36Sopenharmony_ci function = "digital"; 69562306a36Sopenharmony_ci 69662306a36Sopenharmony_ci output-low; 69762306a36Sopenharmony_ci power-source = <PM8916_MPP_L5>; /* 1.8V */ 69862306a36Sopenharmony_ci }; 69962306a36Sopenharmony_ci 70062306a36Sopenharmony_ci pm8916_mpps_leds: pm8916-mpps-state { 70162306a36Sopenharmony_ci pins = "mpp2", "mpp3"; 70262306a36Sopenharmony_ci function = "digital"; 70362306a36Sopenharmony_ci 70462306a36Sopenharmony_ci output-low; 70562306a36Sopenharmony_ci }; 70662306a36Sopenharmony_ci}; 707