| // SPDX-License-Identifier: BSD-3-Clause |
| /* |
| * Copyright (c) 2024, Qualcomm Innovation Center, Inc. All rights reserved. |
| */ |
| /dts-v1/; |
| |
| #include <dt-bindings/gpio/gpio.h> |
| #include <dt-bindings/regulator/qcom,rpmh-regulator.h> |
| #include <dt-bindings/gpio/gpio.h> |
| #include "talos.dtsi" |
| #include "pm8150.dtsi" |
| / { |
| model = "Qualcomm Technologies, Inc. QCS615 Ride (IQ-615 Beta EVK)"; |
| compatible = "qcom,qcs615-ride", "qcom,qcs615", "qcom,sm6150"; |
| chassis-type = "embedded"; |
| |
| aliases { |
| mmc0 = &sdhc_1; |
| mmc1 = &sdhc_2; |
| serial0 = &uart0; |
| serial1 = &uart7; |
| }; |
| |
| chosen { |
| stdout-path = "serial0:115200n8"; |
| }; |
| |
| clocks { |
| sleep_clk: sleep-clk { |
| compatible = "fixed-clock"; |
| clock-frequency = <32000>; |
| #clock-cells = <0>; |
| }; |
| |
| xo_board_clk: xo-board-clk { |
| compatible = "fixed-clock"; |
| clock-frequency = <38400000>; |
| #clock-cells = <0>; |
| }; |
| }; |
| |
| dp-dsi0-connector { |
| compatible = "dp-connector"; |
| label = "DSI0"; |
| type = "mini"; |
| |
| port { |
| dp_dsi0_connector_in: endpoint { |
| remote-endpoint = <&dsi2dp_bridge_out>; |
| }; |
| }; |
| }; |
| |
| vreg_conn_1p8: regulator-conn-1p8 { |
| compatible = "regulator-fixed"; |
| regulator-name = "vreg_conn_1p8"; |
| startup-delay-us = <4000>; |
| enable-active-high; |
| gpio = <&pm8150_gpios 1 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| vreg_conn_pa: regulator-conn-pa { |
| compatible = "regulator-fixed"; |
| regulator-name = "vreg_conn_pa"; |
| startup-delay-us = <4000>; |
| enable-active-high; |
| gpio = <&pm8150_gpios 6 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| regulator-usb2-vbus { |
| compatible = "regulator-fixed"; |
| regulator-name = "USB2_VBUS"; |
| gpio = <&pm8150_gpios 10 GPIO_ACTIVE_HIGH>; |
| pinctrl-0 = <&usb2_en>; |
| pinctrl-names = "default"; |
| enable-active-high; |
| regulator-always-on; |
| }; |
| |
| vreg_12p0: regulator-vreg-12p0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "VREG_12P0"; |
| |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <12000000>; |
| regulator-max-microvolt = <12000000>; |
| }; |
| |
| vreg_1p0: regulator-vreg-1p0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "VREG_1P0"; |
| |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1000000>; |
| |
| vin-supply = <&vreg_1p8>; |
| }; |
| |
| vreg_1p8: regulator-vreg-1p8 { |
| compatible = "regulator-fixed"; |
| regulator-name = "VREG_1P8"; |
| |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1800000>; |
| |
| vin-supply = <&vreg_5p0>; |
| }; |
| |
| vreg_3p0: regulator-vreg-3p0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "VREG_3P0"; |
| |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3000000>; |
| |
| vin-supply = <&vreg_12p0>; |
| }; |
| |
| vreg_5p0: regulator-vreg-5p0 { |
| compatible = "regulator-fixed"; |
| regulator-name = "VREG_5P0"; |
| |
| regulator-always-on; |
| regulator-boot-on; |
| regulator-min-microvolt = <5000000>; |
| regulator-max-microvolt = <5000000>; |
| |
| vin-supply = <&vreg_12p0>; |
| }; |
| |
| wcn6855-pmu { |
| compatible = "qcom,wcn6855-pmu"; |
| |
| pinctrl-0 = <&bt_en_state>, <&wlan_en_state>; |
| pinctrl-names = "default"; |
| |
| bt-enable-gpios = <&tlmm 85 GPIO_ACTIVE_HIGH>; |
| wlan-enable-gpios = <&tlmm 98 GPIO_ACTIVE_HIGH>; |
| |
| vddio-supply = <&vreg_conn_pa>; |
| vddaon-supply = <&vreg_s5a>; |
| vddpmu-supply = <&vreg_conn_1p8>; |
| vddpmumx-supply = <&vreg_conn_1p8>; |
| vddpmucx-supply = <&vreg_conn_pa>; |
| vddrfa0p95-supply = <&vreg_s5a>; |
| vddrfa1p3-supply = <&vreg_s6a>; |
| vddrfa1p9-supply = <&vreg_l15a>; |
| vddpcie1p3-supply = <&vreg_s6a>; |
| vddpcie1p9-supply = <&vreg_l15a>; |
| |
| regulators { |
| vreg_pmu_rfa_cmn: ldo0 { |
| regulator-name = "vreg_pmu_rfa_cmn"; |
| }; |
| |
| vreg_pmu_aon_0p59: ldo1 { |
| regulator-name = "vreg_pmu_aon_0p59"; |
| }; |
| |
| vreg_pmu_wlcx_0p8: ldo2 { |
| regulator-name = "vreg_pmu_wlcx_0p8"; |
| }; |
| |
| vreg_pmu_wlmx_0p85: ldo3 { |
| regulator-name = "vreg_pmu_wlmx_0p85"; |
| }; |
| |
| vreg_pmu_btcmx_0p85: ldo4 { |
| regulator-name = "vreg_pmu_btcmx_0p85"; |
| }; |
| |
| vreg_pmu_rfa_0p8: ldo5 { |
| regulator-name = "vreg_pmu_rfa_0p8"; |
| }; |
| |
| vreg_pmu_rfa_1p2: ldo6 { |
| regulator-name = "vreg_pmu_rfa_1p2"; |
| }; |
| |
| vreg_pmu_rfa_1p7: ldo7 { |
| regulator-name = "vreg_pmu_rfa_1p7"; |
| }; |
| |
| vreg_pmu_pcie_0p9: ldo8 { |
| regulator-name = "vreg_pmu_pcie_0p9"; |
| }; |
| |
| vreg_pmu_pcie_1p8: ldo9 { |
| regulator-name = "vreg_pmu_pcie_1p8"; |
| }; |
| }; |
| }; |
| }; |
| |
| &apps_rsc { |
| regulators-0 { |
| compatible = "qcom,pm8150-rpmh-regulators"; |
| qcom,pmic-id = "a"; |
| |
| vreg_s3a: smps3 { |
| regulator-name = "vreg_s3a"; |
| regulator-min-microvolt = <600000>; |
| regulator-max-microvolt = <650000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_s4a: smps4 { |
| regulator-name = "vreg_s4a"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1829000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_s5a: smps5 { |
| regulator-name = "vreg_s5a"; |
| regulator-min-microvolt = <1896000>; |
| regulator-max-microvolt = <2040000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_s6a: smps6 { |
| regulator-name = "vreg_s6a"; |
| regulator-min-microvolt = <1304000>; |
| regulator-max-microvolt = <1404000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l1a: ldo1 { |
| regulator-name = "vreg_l1a"; |
| regulator-min-microvolt = <488000>; |
| regulator-max-microvolt = <852000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l2a: ldo2 { |
| regulator-name = "vreg_l2a"; |
| regulator-min-microvolt = <1650000>; |
| regulator-max-microvolt = <3100000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l3a: ldo3 { |
| regulator-name = "vreg_l3a"; |
| regulator-min-microvolt = <1000000>; |
| regulator-max-microvolt = <1248000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l5a: ldo5 { |
| regulator-name = "vreg_l5a"; |
| regulator-min-microvolt = <875000>; |
| regulator-max-microvolt = <975000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l7a: ldo7 { |
| regulator-name = "vreg_l7a"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1900000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l8a: ldo8 { |
| regulator-name = "vreg_l8a"; |
| regulator-min-microvolt = <1150000>; |
| regulator-max-microvolt = <1350000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l10a: ldo10 { |
| regulator-name = "vreg_l10a"; |
| regulator-min-microvolt = <2950000>; |
| regulator-max-microvolt = <3312000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l11a: ldo11 { |
| regulator-name = "vreg_l11a"; |
| regulator-min-microvolt = <1232000>; |
| regulator-max-microvolt = <1260000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l12a: ldo12 { |
| regulator-name = "vreg_l12a"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1890000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l13a: ldo13 { |
| regulator-name = "vreg_l13a"; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3230000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l15a: ldo15 { |
| regulator-name = "vreg_l15a"; |
| regulator-min-microvolt = <1800000>; |
| regulator-max-microvolt = <1904000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l16a: ldo16 { |
| regulator-name = "vreg_l16a"; |
| regulator-min-microvolt = <3000000>; |
| regulator-max-microvolt = <3312000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_LPM>; |
| regulator-allow-set-load; |
| regulator-allowed-modes = <RPMH_REGULATOR_MODE_LPM |
| RPMH_REGULATOR_MODE_HPM>; |
| }; |
| |
| vreg_l17a: ldo17 { |
| regulator-name = "vreg_l17a"; |
| regulator-min-microvolt = <2950000>; |
| regulator-max-microvolt = <3312000>; |
| regulator-initial-mode = <RPMH_REGULATOR_MODE_HPM>; |
| }; |
| }; |
| }; |
| |
| &i2c2 { |
| clock-frequency = <400000>; |
| status = "okay"; |
| |
| io_expander: pinctrl@3e { |
| compatible = "semtech,sx1509q"; |
| reg = <0x3e>; |
| interrupts-extended = <&tlmm 58 IRQ_TYPE_EDGE_FALLING>; |
| gpio-controller; |
| #gpio-cells = <2>; |
| interrupt-controller; |
| #interrupt-cells = <2>; |
| semtech,probe-reset; |
| }; |
| |
| i2c-mux@77 { |
| compatible = "nxp,pca9542"; |
| reg = <0x77>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| i2c@0 { |
| reg = <0>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| bridge@58 { |
| compatible = "analogix,anx7625"; |
| reg = <0x58>; |
| interrupts-extended = <&io_expander 0 IRQ_TYPE_EDGE_FALLING>; |
| enable-gpios = <&tlmm 4 GPIO_ACTIVE_HIGH>; |
| reset-gpios = <&tlmm 5 GPIO_ACTIVE_HIGH>; |
| vdd10-supply = <&vreg_1p0>; |
| vdd18-supply = <&vreg_1p8>; |
| vdd33-supply = <&vreg_3p0>; |
| |
| ports { |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| |
| dsi2dp_bridge_in: endpoint { |
| remote-endpoint = <&mdss_dsi0_out>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| |
| dsi2dp_bridge_out: endpoint { |
| remote-endpoint = <&dp_dsi0_connector_in>; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |
| }; |
| |
| &mdss { |
| status = "okay"; |
| }; |
| |
| &mdss_dsi0 { |
| vdda-supply = <&vreg_l11a>; |
| status = "okay"; |
| }; |
| |
| &mdss_dsi0_out { |
| remote-endpoint = <&dsi2dp_bridge_in>; |
| data-lanes = <0 1 2 3>; |
| }; |
| |
| &mdss_dsi0_phy { |
| vcca-supply = <&vreg_l5a>; |
| status = "okay"; |
| }; |
| |
| &pcie { |
| perst-gpios = <&tlmm 101 GPIO_ACTIVE_LOW>; |
| wake-gpios = <&tlmm 100 GPIO_ACTIVE_HIGH>; |
| |
| pinctrl-0 = <&pcie_default_state>; |
| pinctrl-names = "default"; |
| |
| status = "okay"; |
| }; |
| |
| &pcie_phy { |
| vdda-phy-supply = <&vreg_l5a>; |
| vdda-pll-supply = <&vreg_l12a>; |
| |
| status = "okay"; |
| }; |
| |
| &pcie_port0 { |
| wifi@0 { |
| compatible = "pci17cb,1103"; |
| reg = <0x10000 0x0 0x0 0x0 0x0>; |
| |
| qcom,calibration-variant = "QC_QCS615_Ride"; |
| |
| vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; |
| vddaon-supply = <&vreg_pmu_aon_0p59>; |
| vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; |
| vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; |
| vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; |
| vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; |
| vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>; |
| vddpcie0p9-supply = <&vreg_pmu_pcie_0p9>; |
| vddpcie1p8-supply = <&vreg_pmu_pcie_1p8>; |
| }; |
| }; |
| |
| &pm8150_gpios { |
| usb2_en: usb2-en-state { |
| pins = "gpio10"; |
| function = "normal"; |
| output-enable; |
| power-source = <0>; |
| }; |
| }; |
| |
| &pon_pwrkey { |
| status = "okay"; |
| }; |
| |
| &pon_resin { |
| linux,code = <KEY_VOLUMEDOWN>; |
| |
| status = "okay"; |
| }; |
| |
| &qupv3_id_0 { |
| status = "okay"; |
| }; |
| |
| &qupv3_id_1 { |
| status = "okay"; |
| }; |
| |
| &remoteproc_adsp { |
| firmware-name = "qcom/qcs615/adsp.mbn"; |
| |
| status = "okay"; |
| }; |
| |
| &remoteproc_cdsp { |
| firmware-name = "qcom/qcs615/cdsp.mbn"; |
| |
| status = "okay"; |
| }; |
| |
| &tlmm { |
| bt_en_state: bt-en-state { |
| pins = "gpio85"; |
| function = "gpio"; |
| bias-pull-down; |
| output-low; |
| }; |
| |
| pcie_default_state: pcie-default-state { |
| clkreq-pins { |
| pins = "gpio90"; |
| function = "pcie_clk_req"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| |
| perst-pins { |
| pins = "gpio101"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-down; |
| }; |
| |
| wake-pins { |
| pins = "gpio100"; |
| function = "gpio"; |
| drive-strength = <2>; |
| bias-pull-up; |
| }; |
| }; |
| |
| wlan_en_state: wlan-en-state { |
| pins = "gpio98"; |
| function = "gpio"; |
| bias-pull-down; |
| drive-strength = <16>; |
| output-low; |
| }; |
| }; |
| |
| &sdhc_1 { |
| pinctrl-0 = <&sdc1_state_on>; |
| pinctrl-1 = <&sdc1_state_off>; |
| pinctrl-names = "default", "sleep"; |
| |
| bus-width = <8>; |
| mmc-ddr-1_8v; |
| mmc-hs200-1_8v; |
| mmc-hs400-1_8v; |
| mmc-hs400-enhanced-strobe; |
| vmmc-supply = <&vreg_l17a>; |
| vqmmc-supply = <&vreg_s4a>; |
| |
| non-removable; |
| no-sd; |
| no-sdio; |
| |
| status = "okay"; |
| }; |
| |
| &sdhc_2 { |
| pinctrl-0 = <&sdc2_state_on>; |
| pinctrl-1 = <&sdc2_state_off>; |
| pinctrl-names = "default", "sleep"; |
| |
| bus-width = <4>; |
| cd-gpios = <&tlmm 99 GPIO_ACTIVE_LOW>; |
| |
| vmmc-supply = <&vreg_l10a>; |
| vqmmc-supply = <&vreg_s4a>; |
| |
| status = "okay"; |
| }; |
| |
| &uart0 { |
| status = "okay"; |
| }; |
| |
| &uart7 { |
| status = "okay"; |
| |
| bluetooth { |
| compatible = "qcom,wcn6855-bt"; |
| firmware-name = "QCA6698/hpnv21", "QCA6698/hpbtfw21.tlv"; |
| |
| vddrfacmn-supply = <&vreg_pmu_rfa_cmn>; |
| vddaon-supply = <&vreg_pmu_aon_0p59>; |
| vddwlcx-supply = <&vreg_pmu_wlcx_0p8>; |
| vddwlmx-supply = <&vreg_pmu_wlmx_0p85>; |
| vddbtcmx-supply = <&vreg_pmu_btcmx_0p85>; |
| vddrfa0p8-supply = <&vreg_pmu_rfa_0p8>; |
| vddrfa1p2-supply = <&vreg_pmu_rfa_1p2>; |
| vddrfa1p8-supply = <&vreg_pmu_rfa_1p7>; |
| }; |
| }; |
| |
| &usb_1_hsphy { |
| vdd-supply = <&vreg_l5a>; |
| vdda-pll-supply = <&vreg_l12a>; |
| vdda-phy-dpdm-supply = <&vreg_l13a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_qmpphy { |
| vdda-phy-supply = <&vreg_l5a>; |
| vdda-pll-supply = <&vreg_l12a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_1 { |
| status = "okay"; |
| }; |
| |
| &usb_1_dwc3 { |
| dr_mode = "peripheral"; |
| }; |
| |
| &usb_hsphy_2 { |
| vdd-supply = <&vreg_l5a>; |
| vdda-pll-supply = <&vreg_l12a>; |
| vdda-phy-dpdm-supply = <&vreg_l13a>; |
| |
| status = "okay"; |
| }; |
| |
| &usb_2 { |
| status = "okay"; |
| }; |
| |
| &usb_2_dwc3 { |
| dr_mode = "host"; |
| }; |
| |
| &ufs_mem_hc { |
| reset-gpios = <&tlmm 123 GPIO_ACTIVE_LOW>; |
| vcc-supply = <&vreg_l17a>; |
| vcc-max-microamp = <600000>; |
| vccq2-supply = <&vreg_s4a>; |
| vccq2-max-microamp = <600000>; |
| |
| status = "okay"; |
| }; |
| |
| &ufs_mem_phy { |
| vdda-phy-supply = <&vreg_l5a>; |
| vdda-pll-supply = <&vreg_l12a>; |
| |
| status = "okay"; |
| }; |
| |
| &venus { |
| status = "okay"; |
| }; |