| // SPDX-License-Identifier: GPL-2.0 |
| // Copyright (c) 2018, Linaro Limited |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include "qcs404.dtsi" |
| #include "pms405.dtsi" |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/pinctrl/qcom,pmic-gpio.h> |
| |
| / { |
| 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 = <GCC_BIMC_CDSP_CLK>, |
| <GCC_CDSP_CFG_AHB_CLK>, |
| <GCC_CDSP_BIMC_CLK_SRC>, |
| <GCC_CDSP_TBU_CLK>, |
| <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; |
| }; |
| }; |