// SPDX-License-Identifier: GPL-2.0 // Copyright (c) 2018, Linaro Limited #include #include "qcs404.dtsi" #include "pms405.dtsi" #include #include / { aliases { serial0 = &blsp1_uart2; serial1 = &blsp1_uart3; }; chosen { stdout-path = "serial0"; }; vph_pwr: vph-pwr-regulator { compatible = "regulator-fixed"; regulator-name = "vph_pwr"; regulator-always-on; regulator-boot-on; }; vdd_ch0_3p3: vdd_esmps3_3p3: vdd-esmps3-3p3-regulator { compatible = "regulator-fixed"; regulator-name = "eSMPS3_3P3"; regulator-min-microvolt = <3300000>; regulator-max-microvolt = <3300000>; regulator-always-on; }; usb3_vbus_reg: regulator-usb3-vbus { compatible = "regulator-fixed"; regulator-name = "VBUS_BOOST_5V"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; gpio = <&pms405_gpios 3 GPIO_ACTIVE_HIGH>; pinctrl-names = "default"; pinctrl-0 = <&usb_vbus_boost_pin>; vin-supply = <&vph_pwr>; enable-active-high; /* TODO: Drop this when introducing role switching */ regulator-always-on; }; }; &blsp1_uart3 { status = "okay"; bluetooth { compatible = "qcom,wcn3990-bt"; vddio-supply = <&vreg_l6_1p8>; vddxo-supply = <&vreg_l5_1p8>; vddrf-supply = <&vreg_l1_1p3>; vddch0-supply = <&vdd_ch0_3p3>; local-bd-address = [ 02 00 00 00 5a ad ]; max-speed = <3200000>; }; }; &blsp1_dma { qcom,controlled-remotely; }; &blsp2_dma { qcom,controlled-remotely; }; &gcc { protected-clocks = , , , , <141>, /* GCC_WCSS_Q6_AHB_CLK */ <142>; /* GCC_WCSS_Q6_AXIM_CLK */ }; &pms405_spmi_regulators { vdd_s3-supply = <&vph_pwr>; pms405_s3: s3 { regulator-always-on; regulator-boot-on; regulator-name = "vdd_apc"; regulator-initial-mode = <1>; regulator-min-microvolt = <1048000>; regulator-max-microvolt = <1384000>; }; }; &pcie { status = "okay"; perst-gpio = <&tlmm 43 GPIO_ACTIVE_LOW>; pinctrl-names = "default"; pinctrl-0 = <&perst_state>; }; &pcie_phy { status = "okay"; vdda-vp-supply = <&vreg_l3_1p05>; vdda-vph-supply = <&vreg_l5_1p8>; }; &remoteproc_adsp { status = "okay"; }; &remoteproc_cdsp { status = "okay"; }; &remoteproc_wcss { status = "okay"; }; &rpm_requests { pms405-regulators { compatible = "qcom,rpm-pms405-regulators"; vdd_s1-supply = <&vph_pwr>; vdd_s2-supply = <&vph_pwr>; vdd_s3-supply = <&vph_pwr>; vdd_s4-supply = <&vph_pwr>; vdd_s5-supply = <&vph_pwr>; vdd_l1_l2-supply = <&vreg_s5_1p35>; vdd_l3_l8-supply = <&vreg_s5_1p35>; vdd_l4-supply = <&vreg_s5_1p35>; vdd_l5_l6-supply = <&vreg_s4_1p8>; vdd_l7-supply = <&vph_pwr>; vdd_l9-supply = <&vreg_s5_1p35>; vdd_l10_l11_l12_l13-supply = <&vph_pwr>; vreg_s4_1p8: s4 { regulator-min-microvolt = <1728000>; regulator-max-microvolt = <1920000>; }; vreg_s5_1p35: s5 { regulator-min-microvolt = <1352000>; regulator-max-microvolt = <1352000>; }; vreg_l1_1p3: l1 { regulator-min-microvolt = <1240000>; regulator-max-microvolt = <1352000>; }; vreg_l2_1p275: l2 { regulator-min-microvolt = <1048000>; regulator-max-microvolt = <1280000>; }; vreg_l3_1p05: l3 { regulator-min-microvolt = <1048000>; regulator-max-microvolt = <1160000>; }; vreg_l4_1p2: l4 { regulator-min-microvolt = <1144000>; regulator-max-microvolt = <1256000>; }; vreg_l5_1p8: l5 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; }; vreg_l6_1p8: l6 { regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-always-on; }; vreg_l7_1p8: l7 { regulator-min-microvolt = <1616000>; regulator-max-microvolt = <3000000>; }; vreg_l8_1p2: l8 { regulator-min-microvolt = <1136000>; regulator-max-microvolt = <1352000>; }; vreg_l10_3p3: l10 { regulator-min-microvolt = <2936000>; regulator-max-microvolt = <3088000>; }; vreg_l11_sdc2: l11 { regulator-min-microvolt = <2696000>; regulator-max-microvolt = <3304000>; }; vreg_l12_3p3: l12 { regulator-min-microvolt = <3050000>; regulator-max-microvolt = <3300000>; }; vreg_l13_3p3: l13 { regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3300000>; }; }; }; &sdcc1 { status = "okay"; supports-cqe; mmc-ddr-1_8v; mmc-hs400-1_8v; bus-width = <8>; non-removable; pinctrl-names = "default", "sleep"; pinctrl-0 = <&sdc1_on>; pinctrl-1 = <&sdc1_off>; }; &tlmm { perst_state: perst { pins = "gpio43"; function = "gpio"; drive-strength = <2>; bias-disable; output-low; }; sdc1_on: sdc1-on { clk { pins = "sdc1_clk"; bias-disable; drive-strength = <16>; }; cmd { pins = "sdc1_cmd"; bias-pull-up; drive-strength = <10>; }; data { pins = "sdc1_data"; bias-pull-up; drive-strength = <10>; }; rclk { pins = "sdc1_rclk"; bias-pull-down; }; }; sdc1_off: sdc1-off { clk { pins = "sdc1_clk"; bias-disable; drive-strength = <2>; }; cmd { pins = "sdc1_cmd"; bias-pull-up; drive-strength = <2>; }; data { pins = "sdc1_data"; bias-pull-up; drive-strength = <2>; }; rclk { pins = "sdc1_rclk"; bias-pull-down; }; }; usb3_id_pin: usb3-id-pin { pinmux { pins = "gpio116"; function = "gpio"; }; pinconf { pins = "gpio116"; drive-strength = <2>; bias-pull-up; input-enable; }; }; }; &pms405_gpios { usb_vbus_boost_pin: usb-vbus-boost-pin { pinconf { pins = "gpio3"; function = PMIC_GPIO_FUNC_NORMAL; output-low; power-source = <1>; }; }; usb3_vbus_pin: usb3-vbus-pin { pinconf { pins = "gpio12"; function = PMIC_GPIO_FUNC_NORMAL; input-enable; bias-pull-down; power-source = <1>; }; }; }; &usb2 { status = "okay"; }; &usb2_phy_sec { vdd-supply = <&vreg_l4_1p2>; vdda1p8-supply = <&vreg_l5_1p8>; vdda3p3-supply = <&vreg_l12_3p3>; status = "okay"; }; &usb3 { status = "okay"; dwc3@7580000 { dr_mode = "host"; }; }; &usb2_phy_prim { vdd-supply = <&vreg_l4_1p2>; vdda1p8-supply = <&vreg_l5_1p8>; vdda3p3-supply = <&vreg_l12_3p3>; status = "okay"; }; &usb3_phy { vdd-supply = <&vreg_l3_1p05>; vdda1p8-supply = <&vreg_l5_1p8>; status = "okay"; }; &wifi { status = "okay"; vdd-0.8-cx-mx-supply = <&vreg_l2_1p275>; vdd-1.8-xo-supply = <&vreg_l5_1p8>; vdd-1.3-rfa-supply = <&vreg_l1_1p3>; }; /* PINCTRL - additions to nodes defined in qcs404.dtsi */ &blsp1_uart2_default { rx { drive-strength = <2>; bias-disable; }; tx { drive-strength = <2>; bias-disable; }; }; &blsp1_uart3_default { cts { pins = "gpio84"; bias-disable; }; rts-tx { pins = "gpio85", "gpio82"; drive-strength = <2>; bias-disable; }; rx { pins = "gpio83"; bias-pull-up; }; };