224 lines
5.7 KiB
Plaintext
224 lines
5.7 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
/*
|
|
* Copyright (c) 2024-2025 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
|
|
#include <dt-bindings/interconnect/qcom,canoe.h>
|
|
|
|
&tlmm {
|
|
cnss_pins {
|
|
cnss_wlan_en_active: cnss_wlan_en_active {
|
|
mux {
|
|
pins = "gpio16";
|
|
function = "gpio";
|
|
};
|
|
|
|
config {
|
|
pins = "gpio16";
|
|
drive-strength = <16>;
|
|
output-high;
|
|
bias-pull-up;
|
|
};
|
|
};
|
|
|
|
cnss_wlan_en_sleep: cnss_wlan_en_sleep {
|
|
mux {
|
|
pins = "gpio16";
|
|
function = "gpio";
|
|
};
|
|
|
|
config {
|
|
pins = "gpio16";
|
|
drive-strength = <2>;
|
|
output-low;
|
|
bias-pull-down;
|
|
};
|
|
};
|
|
|
|
cnss_wlan_sw_ctrl: cnss_wlan_sw_ctrl {
|
|
mux {
|
|
pins = "gpio18";
|
|
function = "wcn_sw_ctrl";
|
|
};
|
|
};
|
|
|
|
cnss_wlan_sw_ctrl_wl_cx: cnss_wlan_sw_ctrl_wl_cx {
|
|
mux {
|
|
pins = "gpio19";
|
|
function = "wcn_sw";
|
|
};
|
|
};
|
|
|
|
cnss_host_sol_default: cnss_host_sol_default {
|
|
mux {
|
|
pins = "gpio204";
|
|
function = "gpio";
|
|
};
|
|
|
|
config {
|
|
pins = "gpio204";
|
|
drive-strength = <4>;
|
|
bias-pull-down;
|
|
};
|
|
};
|
|
};
|
|
};
|
|
|
|
&reserved_memory {
|
|
cnss_wlan_mem: cnss_wlan_region {
|
|
compatible = "shared-dma-pool";
|
|
alloc-ranges = <0x0 0x00000000 0x0 0xffffffff>;
|
|
reusable;
|
|
alignment = <0x0 0x400000>;
|
|
size = <0x0 0x2000000>;
|
|
};
|
|
};
|
|
|
|
&soc {
|
|
wlan_peach: qcom,cnss-peach@b0000000 {
|
|
compatible = "qcom,cnss-peach";
|
|
reg = <0x0 0xb0000000 0x0 0x10000>;
|
|
reg-names = "smmu_iova_ipa";
|
|
qcom,wlan-sw-ctrl-gpio = <&tlmm 19 0>;
|
|
|
|
supported-ids = <0x110E>;
|
|
wlan-en-gpio = <&tlmm 16 0>;
|
|
qcom,bt-en-gpio = <&pmh0104_gpios 5 0>;
|
|
qcom,sw-ctrl-gpio = <&tlmm 18 0>;
|
|
wlan-host-sol-gpio = <&tlmm 204 0>;
|
|
wlan-dev-sol-gpio = <&tlmm 205 0>;
|
|
/* List of GPIOs to be setup for interrupt wakeup capable */
|
|
mpm_wake_set_gpios = <18 19>;
|
|
pinctrl-names = "wlan_en_active", "wlan_en_sleep", "sw_ctrl",
|
|
"sw_ctrl_wl_cx", "sol_default";
|
|
pinctrl-0 = <&cnss_wlan_en_active>;
|
|
pinctrl-1 = <&cnss_wlan_en_sleep>;
|
|
pinctrl-2 = <&cnss_wlan_sw_ctrl>;
|
|
pinctrl-3 = <&cnss_wlan_sw_ctrl_wl_cx>;
|
|
pinctrl-4 = <&cnss_host_sol_default>;
|
|
qcom,wlan;
|
|
qcom,wlan-rc-num = <0>;
|
|
qcom,wlan-ramdump-dynamic = <0x780000>;
|
|
cnss-enable-self-recovery;
|
|
qcom,wlan-cbc-enabled;
|
|
use-pm-domain;
|
|
qcom,same-dt-multi-dev;
|
|
/* For AOP communication, use direct QMP instead of mailbox */
|
|
qcom,qmp = <&aoss_qmp>;
|
|
msix-match-addr = <0x3000>;
|
|
platform-name-required;
|
|
|
|
vdd-wlan-aon-supply = <&L2G>;
|
|
qcom,vdd-wlan-aon-config = <1800000 1800000 30000 0 1>;
|
|
vdd-wlan-io12-supply = <&L3G>;
|
|
qcom,vdd-wlan-io12-config = <1200000 1200000 30000 0 1>;
|
|
vdd-wlan-cx-supply = <&S1J>;
|
|
qcom,vdd-wlan-cx-config = <892000 1000000 0 0 1>;
|
|
vdd-wlan-dig-supply = <&S2J>;
|
|
qcom,vdd-wlan-dig-config = <892000 1000000 0 0 1>;
|
|
vdd-wlan-rfa1-supply = <&S8F>;
|
|
qcom,vdd-wlan-rfa1-config = <1876000 2000000 0 0 1>;
|
|
vdd-wlan-rfa2-supply = <&S7F>;
|
|
qcom,vdd-wlan-rfa2-config = <1328000 1340000 0 0 1>;
|
|
vdd-wlan-ant-share-supply = <&L3K>;
|
|
qcom,vdd-wlan-ant-share-config = <1200000 1200000 25 0 1>;
|
|
|
|
interconnects =
|
|
<&pcie_noc MASTER_PCIE_0 &pcie_noc SLAVE_ANOC_PCIE_GEM_NOC>,
|
|
<&gem_noc MASTER_ANOC_PCIE_GEM_NOC &mc_virt SLAVE_EBI1>;
|
|
interconnect-names = "pcie_to_memnoc", "memnoc_to_ddr";
|
|
|
|
qcom,icc-path-count = <2>;
|
|
qcom,bus-bw-cfg-count = <9>;
|
|
qcom,bus-bw-cfg =
|
|
/** ICC Path 1 **/
|
|
<0 0>, /* no vote */
|
|
/* idle: 0-18 Mbps snoc/anoc: 100 Mhz */
|
|
<2250 308000>,
|
|
/* low: 18-60 Mbps snoc/anoc: 100 Mhz */
|
|
<7500 308000>,
|
|
/* medium: 60-240 Mbps snoc/anoc: 100 Mhz */
|
|
<30000 308000>,
|
|
/* high: 240-1200 Mbps snoc/anoc: 100 Mhz */
|
|
<100000 308000>,
|
|
/* very high: > 1200 Mbps snoc/anoc: 403 Mhz */
|
|
<175000 3210000>,
|
|
/* ultra high: DBS mode snoc/anoc: 403 Mhz */
|
|
<312500 3210000>,
|
|
/* super high: DBS mode snoc/anoc: 533 Mhz */
|
|
<587500 6450000>,
|
|
/* low (latency critical): 18-60 Mbps snoc/anoc: 200 Mhz */
|
|
<7500 1610000>,
|
|
|
|
/** ICC Path 2 **/
|
|
<0 0>,
|
|
/* idle: 0-18 Mbps ddr: 547.2 MHz */
|
|
<2250 2188800>,
|
|
/* low: 18-60 Mbps ddr: 547.2 MHz */
|
|
<7500 2188800>,
|
|
/* medium: 60-240 Mbps ddr: 547.2 MHz */
|
|
<30000 2188800>,
|
|
/* high: 240-1200 Mbps ddr: 547.2 MHz */
|
|
<100000 2188800>,
|
|
/* very high: > 1200 Mbps ddr: 1555 MHz */
|
|
<175000 6220800>,
|
|
/* ultra high: DBS mode ddr: 2092 MHz */
|
|
<312500 8368000>,
|
|
/* super high: DBS mode ddr: 3.2 GHz */
|
|
<587500 12800000>,
|
|
/* low (latency critical): 18-60 Mbps ddr: 547.2 MHz */
|
|
<7500 2188800>;
|
|
|
|
qcom,vreg_pdc_map =
|
|
"S1J1", "bb",
|
|
"S2J1", "rf",
|
|
"S7F0", "rf",
|
|
"S8F0", "rf";
|
|
|
|
qcom,pmu_vreg_map =
|
|
"VDDD_AON_0P9", "S2J1",
|
|
"VDDA_RFA_0P9", "S2J1",
|
|
"VDDA_RFA_1P9", "S8F0",
|
|
"VDDA_RFA_1P3", "S7F0",
|
|
"VDDD_WLMX_0P9", "S2J1",
|
|
"VDDD_WLCX_0P9", "S1J1",
|
|
"VDDD_BTCX_0P9", "S2J1",
|
|
"VDDD_BTCMX_0P9", "S2J1",
|
|
"VDDA_PCIE_0P9", "S7F0",
|
|
"VDDA_PCIE_1P2", "S7F0";
|
|
|
|
/* cpu mask used for wlan tx rx interrupt affinity
|
|
* <cpumask_for_rx_interrupts cpumask_for_tx_comp_interrupts>
|
|
*/
|
|
wlan-txrx-intr-cpumask = <0x3 0x30>;
|
|
};
|
|
|
|
wlan_direct_link: qcom,cnss-direct-link {
|
|
compatible = "qcom,cnss-direct-link";
|
|
iommus = <&apps_smmu 0x100f 0x0>;
|
|
qcom,iommu-group = <&cnss_audio_iommu_group0>;
|
|
memory-region = <&direct_link_iommu_region_partition>;
|
|
dma-coherent;
|
|
|
|
direct_link_iommu_region_partition: direct_link_iommu_region_partition {
|
|
iommu-addresses = <&wlan_direct_link 0x0 0x0 0x0 0x18000000>,
|
|
<&wlan_direct_link 0x0 0xb0000000 0x0 0x50000000>;
|
|
};
|
|
};
|
|
};
|
|
|
|
&pcie_rp {
|
|
cnss_pci0: cnss_pci0 {
|
|
reg = <0 0 0 0 0>;
|
|
qcom,iommu-group = <&cnss_audio_iommu_group0>;
|
|
memory-region = <&cnss_wlan_mem &cnss_pci0_iommu_region_partition>;
|
|
|
|
cnss_pci0_iommu_region_partition: cnss_pci0_iommu_region_partition {
|
|
/* address-cells =3 size-cells=2 from canoe-pcie.dtsi */
|
|
iommu-addresses = <&cnss_pci0 0x0 0x0 0x0 0x0 0x18000000>,
|
|
<&cnss_pci0 0x0 0x0 0xB0000000 0x0 0x50000000>;
|
|
};
|
|
};
|
|
};
|