// SPDX-License-Identifier: BSD-3-Clause /* * Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved. */ /dts-v1/; #include #include #include "monaco.dtsi" #include "monaco-pmics.dtsi" / { model = "Qualcomm Technologies, Inc. QCS8300 Ride"; compatible = "qcom,qcs8300-ride", "qcom,qcs8300"; chassis-type = "embedded"; aliases { serial0 = &uart7; mmc0 = &sdhc_1; serial1 = &uart2; }; chosen { stdout-path = "serial0:115200n8"; }; vreg_1p0: regulator-vreg-1p0 { compatible = "regulator-fixed"; regulator-name = "VREG_1P0"; regulator-min-microvolt = <1000000>; regulator-max-microvolt = <1000000>; vin-supply = <&vreg_1p8>; regulator-always-on; regulator-boot-on; }; vreg_1p8: regulator-vreg-1p8 { compatible = "regulator-fixed"; regulator-name = "VREG_1P8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; vin-supply = <&vreg_5p0>; regulator-always-on; regulator-boot-on; }; vreg_3p0: regulator-vreg-3p0 { compatible = "regulator-fixed"; regulator-name = "VREG_3P0"; regulator-min-microvolt = <3000000>; regulator-max-microvolt = <3000000>; vin-supply = <&vreg_12p0>; regulator-always-on; regulator-boot-on; }; vreg_5p0: regulator-vreg-5p0 { compatible = "regulator-fixed"; regulator-name = "VREG_5P0"; regulator-min-microvolt = <5000000>; regulator-max-microvolt = <5000000>; vin-supply = <&vreg_12p0>; regulator-always-on; regulator-boot-on; }; vreg_12p0: regulator-vreg-12p0 { compatible = "regulator-fixed"; regulator-name = "VREG_12P0"; regulator-min-microvolt = <12000000>; regulator-max-microvolt = <12000000>; regulator-always-on; regulator-boot-on; }; dp0-connector { compatible = "dp-connector"; label = "DP0"; type = "full-size"; port { dp0_connector_in: endpoint { remote-endpoint = <&mdss_dp0_out>; }; }; }; dp-dsi0-connector { compatible = "dp-connector"; label = "DSI0"; type = "full-size"; port { dp_dsi0_connector_in: endpoint { remote-endpoint = <&dsi2dp_bridge_out>; }; }; }; vreg_conn_1p05: regulator-conn-1p05 { compatible = "regulator-fixed"; regulator-name = "vreg_conn_1p05"; regulator-min-microvolt = <1050000>; regulator-max-microvolt = <1050000>; vin-supply = <&vreg_conn_1p8>; }; vreg_conn_1p35: regulator-conn-1p35 { compatible = "regulator-fixed"; regulator-name = "vreg_conn_1p35"; regulator-min-microvolt = <1350000>; regulator-max-microvolt = <1350000>; vin-supply = <&vreg_conn_1p8>; }; vreg_conn_1p8: regulator-conn-1p8 { compatible = "regulator-fixed"; regulator-name = "vreg_conn_1p8"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; startup-delay-us = <4000>; enable-active-high; gpio = <&pmm8650au_1_gpios 4 GPIO_ACTIVE_HIGH>; }; vreg_conn_1p95: regulator-conn-1p95 { compatible = "regulator-fixed"; regulator-name = "vreg_conn_1p95"; regulator-min-microvolt = <1950000>; regulator-max-microvolt = <1950000>; vin-supply = <&vreg_conn_1p8>; }; vreg_conn_pa: regulator-conn-pa { compatible = "regulator-fixed"; regulator-name = "vreg_conn_pa"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; startup-delay-us = <4000>; enable-active-high; gpio = <&pmm8650au_1_gpios 6 GPIO_ACTIVE_HIGH>; }; regulator-usb2-vbus { compatible = "regulator-fixed"; regulator-name = "USB2_VBUS"; gpio = <&pmm8650au_1_gpios 7 GPIO_ACTIVE_HIGH>; pinctrl-0 = <&usb2_en>; pinctrl-names = "default"; enable-active-high; regulator-always-on; }; wcn6855-pmu { compatible = "qcom,wcn6855-pmu"; pinctrl-0 = <&wlan_en_state>; pinctrl-names = "default"; vddio-supply = <&vreg_conn_pa>; vddaon-supply = <&vreg_conn_1p8>; vddpmu-supply = <&vreg_conn_pa>; vddpmumx-supply = <&vreg_conn_1p8>; vddpmucx-supply = <&vreg_conn_pa>; /* WLAN rails: 1.05/1.35/1.95V (nominal 0.95/1.30/1.90V) */ vddrfa0p95-supply = <&vreg_conn_1p05>; vddrfa1p3-supply = <&vreg_conn_1p35>; vddrfa1p9-supply = <&vreg_conn_1p95>; vddpcie1p3-supply = <&vreg_conn_1p35>; vddpcie1p9-supply = <&vreg_conn_1p95>; bt-enable-gpios = <&tlmm 55 GPIO_ACTIVE_HIGH>; wlan-enable-gpios = <&tlmm 54 GPIO_ACTIVE_HIGH>; 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,pmm8654au-rpmh-regulators"; qcom,pmic-id = "a"; vreg_s4a: smps4 { regulator-name = "vreg_s4a"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; }; vreg_s9a: smps9 { regulator-name = "vreg_s9a"; regulator-min-microvolt = <1352000>; regulator-max-microvolt = <1352000>; regulator-initial-mode = ; }; vreg_l3a: ldo3 { regulator-name = "vreg_l3a"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l4a: ldo4 { regulator-name = "vreg_l4a"; regulator-min-microvolt = <880000>; regulator-max-microvolt = <912000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l5a: ldo5 { regulator-name = "vreg_l5a"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l6a: ldo6 { regulator-name = "vreg_l6a"; regulator-min-microvolt = <880000>; regulator-max-microvolt = <912000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l7a: ldo7 { regulator-name = "vreg_l7a"; regulator-min-microvolt = <880000>; regulator-max-microvolt = <912000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l8a: ldo8 { regulator-name = "vreg_l8a"; regulator-min-microvolt = <2504000>; regulator-max-microvolt = <2960000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l9a: ldo9 { regulator-name = "vreg_l9a"; regulator-min-microvolt = <2970000>; regulator-max-microvolt = <3072000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; }; regulators-1 { compatible = "qcom,pmm8654au-rpmh-regulators"; qcom,pmic-id = "c"; vreg_s5c: smps5 { regulator-name = "vreg_s5c"; regulator-min-microvolt = <1104000>; regulator-max-microvolt = <1104000>; regulator-initial-mode = ; }; vreg_l1c: ldo1 { regulator-name = "vreg_l1c"; regulator-min-microvolt = <300000>; regulator-max-microvolt = <500000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l2c: ldo2 { regulator-name = "vreg_l2c"; regulator-min-microvolt = <900000>; regulator-max-microvolt = <904000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l4c: ldo4 { regulator-name = "vreg_l4c"; regulator-min-microvolt = <1200000>; regulator-max-microvolt = <1200000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l6c: ldo6 { regulator-name = "vreg_l6c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l7c: ldo7 { regulator-name = "vreg_l7c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l8c: ldo8 { regulator-name = "vreg_l8c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; vreg_l9c: ldo9 { regulator-name = "vreg_l9c"; regulator-min-microvolt = <1800000>; regulator-max-microvolt = <1800000>; regulator-initial-mode = ; regulator-allow-set-load; regulator-allowed-modes = ; }; }; }; ðernet0 { phy-mode = "2500base-x"; phy-handle = <&phy0>; pinctrl-0 = <ðernet0_default>; pinctrl-names = "default"; snps,mtl-rx-config = <&mtl_rx_setup>; snps,mtl-tx-config = <&mtl_tx_setup>; snps,ps-speed = <1000>; status = "okay"; mdio { compatible = "snps,dwmac-mdio"; #address-cells = <1>; #size-cells = <0>; phy0: phy@8 { compatible = "ethernet-phy-id31c3.1c33"; reg = <0x8>; device_type = "ethernet-phy"; interrupts-extended = <&tlmm 4 IRQ_TYPE_EDGE_FALLING>; reset-gpios = <&tlmm 31 GPIO_ACTIVE_LOW>; reset-assert-us = <11000>; reset-deassert-us = <70000>; }; }; mtl_rx_setup: rx-queues-config { snps,rx-queues-to-use = <4>; snps,rx-sched-sp; queue0 { snps,dcb-algorithm; snps,map-to-dma-channel = <0x0>; snps,route-up; snps,priority = <0x1>; }; queue1 { snps,dcb-algorithm; snps,map-to-dma-channel = <0x1>; snps,route-ptp; }; queue2 { snps,avb-algorithm; snps,map-to-dma-channel = <0x2>; snps,route-avcp; }; queue3 { snps,avb-algorithm; snps,map-to-dma-channel = <0x3>; snps,priority = <0xc>; }; }; mtl_tx_setup: tx-queues-config { snps,tx-queues-to-use = <4>; queue0 { snps,dcb-algorithm; }; queue1 { snps,dcb-algorithm; }; queue2 { snps,avb-algorithm; snps,send_slope = <0x1000>; snps,idle_slope = <0x1000>; snps,high_credit = <0x3e800>; snps,low_credit = <0xffc18000>; }; queue3 { snps,avb-algorithm; snps,send_slope = <0x1000>; snps,idle_slope = <0x1000>; snps,high_credit = <0x3e800>; snps,low_credit = <0xffc18000>; }; }; }; &gpu { status = "okay"; }; &gpu_zap_shader { firmware-name = "qcom/qcs8300/a623_zap.mbn"; }; &i2c8 { clock-frequency = <400000>; status = "okay"; io_expander: gpio@74 { compatible = "ti,tca9539"; reg = <0x74>; interrupts-extended = <&tlmm 93 IRQ_TYPE_EDGE_BOTH>; gpio-controller; #gpio-cells = <2>; interrupt-controller; #interrupt-cells = <2>; reset-gpios = <&tlmm 66 GPIO_ACTIVE_LOW>; pinctrl-0 = <&io_expander_intr_active>, <&io_expander_reset_active>; pinctrl-names = "default"; }; i2c-mux@70 { compatible = "nxp,pca9543"; reg = <0x70>; #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 2 IRQ_TYPE_EDGE_FALLING>; enable-gpios = <&io_expander 1 GPIO_ACTIVE_HIGH>; reset-gpios = <&io_expander 0 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>; }; }; }; }; }; }; }; &pmm8650au_1_gpios { usb2_en: usb2-en-state { pins = "gpio7"; function = "normal"; output-enable; power-source = <0>; }; }; &iris { status = "okay"; }; &mdss { status = "okay"; }; &mdss_dp0 { pinctrl-0 = <&dp_hot_plug_det>; pinctrl-names = "default"; status = "okay"; }; &mdss_dp0_out { data-lanes = <0 1 2 3>; link-frequencies = /bits/ 64 <1620000000 2700000000 5400000000 8100000000>; remote-endpoint = <&dp0_connector_in>; }; &mdss_dp0_phy { vdda-phy-supply = <&vreg_l5a>; vdda-pll-supply = <&vreg_l4a>; status = "okay"; }; &pcie0 { pinctrl-0 = <&pcie0_default_state>; pinctrl-names = "default"; status = "okay"; }; &pcieport0 { reset-gpios = <&tlmm 2 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 0 GPIO_ACTIVE_HIGH>; wifi@0 { compatible = "pci17cb,1103"; reg = <0x10000 0x0 0x0 0x0 0x0>; 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>; qcom,calibration-variant = "QC_QCS8300_Ride"; }; }; &pcie0_phy { vdda-phy-supply = <&vreg_l6a>; vdda-pll-supply = <&vreg_l5a>; status = "okay"; }; &pcie1 { pinctrl-0 = <&pcie1_default_state>; pinctrl-names = "default"; status = "okay"; }; &pcieport1 { reset-gpios = <&tlmm 23 GPIO_ACTIVE_LOW>; wake-gpios = <&tlmm 21 GPIO_ACTIVE_HIGH>; }; &pcie1_phy { vdda-phy-supply = <&vreg_l6a>; vdda-pll-supply = <&vreg_l5a>; status = "okay"; }; &mdss_dsi0 { vdda-supply = <&vreg_l5a>; status = "okay"; }; &mdss_dsi0_phy { vdds-supply = <&vreg_l4a>; status = "okay"; }; &mdss_dsi0_out { data-lanes = <0 1 2 3>; remote-endpoint = <&dsi2dp_bridge_in>; }; &qupv3_id_0 { status = "okay"; }; &qupv3_id_1 { status = "okay"; }; &remoteproc_adsp { firmware-name = "qcom/qcs8300/adsp.mbn"; status = "okay"; }; &remoteproc_cdsp { firmware-name = "qcom/qcs8300/cdsp0.mbn"; status = "okay"; }; &remoteproc_gpdsp { firmware-name = "qcom/qcs8300/gpdsp0.mbn"; status = "okay"; }; &serdes0 { phy-supply = <&vreg_l5a>; status = "okay"; }; &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_l8a>; vqmmc-supply = <&vreg_s4a>; non-removable; no-sd; no-sdio; status = "okay"; }; &tlmm { bt_en_state: bt-en-state { pins = "gpio55"; function = "gpio"; bias-pull-down; }; pcie0_default_state: pcie0-default-state { wake-pins { pins = "gpio0"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; clkreq-pins { pins = "gpio1"; function = "pcie0_clkreq"; drive-strength = <2>; bias-pull-up; }; perst-pins { pins = "gpio2"; function = "gpio"; drive-strength = <2>; bias-pull-down; }; }; ethernet0_default: ethernet0-default-state { ethernet0_mdc: ethernet0-mdc-pins { pins = "gpio5"; function = "emac0_mdc"; drive-strength = <16>; bias-pull-up; }; ethernet0_mdio: ethernet0-mdio-pins { pins = "gpio6"; function = "emac0_mdio"; drive-strength = <16>; bias-pull-up; }; }; pcie1_default_state: pcie1-default-state { wake-pins { pins = "gpio21"; function = "gpio"; drive-strength = <2>; bias-pull-up; }; clkreq-pins { pins = "gpio22"; function = "pcie1_clkreq"; drive-strength = <2>; bias-pull-up; }; perst-pins { pins = "gpio23"; function = "gpio"; drive-strength = <2>; bias-pull-down; }; }; io_expander_reset_active: io-expander-reset-active-state { pins = "gpio66"; function = "gpio"; drive-strength = <2>; bias-disable; }; io_expander_intr_active: io-expander-intr-active-state { pins = "gpio93"; function = "gpio"; drive-strength = <2>; bias-disable; }; dp_hot_plug_det: dp-hot-plug-det-state { pins = "gpio94"; function = "edp0_hot"; bias-disable; }; wlan_en_state: wlan-en-state { pins = "gpio54"; function = "gpio"; bias-pull-down; }; }; &uart2 { status = "okay"; bluetooth: bluetooth { compatible = "qcom,wcn6855-bt"; firmware-name = "QCA6698/hpnv21", "QCA6698/hpbtfw21.tlv"; max-speed = <3200000>; 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>; }; }; &uart7 { status = "okay"; }; &ufs_mem_hc { reset-gpios = <&tlmm 133 GPIO_ACTIVE_LOW>; vcc-supply = <&vreg_l8a>; vcc-max-microamp = <1100000>; vccq-supply = <&vreg_l4c>; vccq-max-microamp = <1200000>; status = "okay"; }; &ufs_mem_phy { vdda-phy-supply = <&vreg_l4a>; vdda-pll-supply = <&vreg_l5a>; status = "okay"; }; &usb_1_hsphy { vdda-pll-supply = <&vreg_l7a>; vdda18-supply = <&vreg_l7c>; vdda33-supply = <&vreg_l9a>; status = "okay"; }; &usb_2_hsphy { vdda-pll-supply = <&vreg_l7a>; vdda18-supply = <&vreg_l7c>; vdda33-supply = <&vreg_l9a>; status = "okay"; }; &usb_qmpphy { vdda-phy-supply = <&vreg_l7a>; vdda-pll-supply = <&vreg_l5a>; status = "okay"; }; &usb_1 { dr_mode = "peripheral"; status = "okay"; }; &usb_2 { dr_mode = "host"; status = "okay"; };