Files
android_kernel_samsung_sm87…/canoe-kiwi-cnss.dtsi
AMAN KUMAR 92f8a37368 ARM: dts: msm: Fix iommu address and size properties for kiwi
Currently address and size cell property was set to 1, due to
that IOVA range that gets created was out of our expected range.
This change fixes size-cells and address-cells properties of
cnss_pci node to 2 on Canoe kiwi device tree.

Change-Id: I03d193fe50f3a17995c5a4b0eacd13b6c749e9f4
CRs-Fixed: 4048012
2025-02-07 01:08:21 -08:00

174 lines
4.5 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";
};
};
};
};
&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_kiwi: qcom,cnss-kiwi@b0000000 {
compatible = "qcom,cnss-kiwi";
reg = <0x0 0xb0000000 0x0 0x10000>;
reg-names = "smmu_iova_ipa";
qcom,wlan-sw-ctrl-gpio = <&tlmm 19 0>;
supported-ids = <0x1107>;
wlan-en-gpio = <&tlmm 16 0>;
qcom,bt-en-gpio = <&pmh0104_gpios 5 0>;
qcom,sw-ctrl-gpio = <&tlmm 18 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";
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>;
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>;
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 = <968000 1000000 0 0 1>;
vdd-wlan-dig-supply = <&S2J>;
qcom,vdd-wlan-dig-config = <1012000 1100000 0 0 1>;
vdd-wlan-rfa1-supply = <&S8F>;
qcom,vdd-wlan-rfa1-config = <1900000 2000000 0 0 1>;
vdd-wlan-rfa2-supply = <&S7F>;
qcom,vdd-wlan-rfa2-config = <1352000 1400000 0 0 1>;
vdd-wlan-ant-share-supply = <&L3K>;
qcom,vdd-wlan-ant-share-config = <1200000 1200000 0 0 1>;
vdd-wlan-supply = <&S7G>;
qcom,vdd-wlan-config = <952000 1100000 0 0 1>;
qcom,vreg_pdc_map =
"S2J1", "bb",
"S1J1", "bb",
"S8F0", "rf",
"S7F0", "rf",
"S7G0", "rf";
qcom,pmu_vreg_map =
"VDD095_MX_PMU", "S2J1",
"VDD095_PMU", "S1J1",
"VDD_PMU_AON_I", "S7G0",
"VDD095_PMU_BT", "S7G0",
"VDD09_PMU_RFA_I", "S7G0",
"VDD13_PMU_PCIE_I", "S7F0",
"VDD13_PMU_RFA_I", "S7F0",
"VDD19_PMU_PCIE_I", "S8F0",
"VDD19_PMU_RFA_I", "S8F0";
qcom,pdc_init_table =
" {class: wlan_pdc, ss: rf, res: S8F0.v, upval: 1900}",
" {class: wlan_pdc, ss: rf, res: S8F0.v, dwnval: 1860}",
" {class: wlan_pdc, ss: rf, res: S7F0.v, upval: 1352}",
" {class: wlan_pdc, ss: rf, res: S7F0.v, dwnval: 988}",
" {class: wlan_pdc, ss: bb, res: S1J1.v, upval: 968}",
" {class: wlan_pdc, ss: bb, res: S1J1.v, dwnval: 460}",
" {class: wlan_pdc, ss: bb, res: S2J1.m, enable: 1}",
" {class: wlan_pdc, ss: bb, res: S2J1.v, enable: 1}",
" {class: wlan_pdc, ss: rf, res: S7G0.m, enable: 1}",
" {class: wlan_pdc, ss: rf, res: S7G0.v, enable: 1}";
/* cpu mask used for wlan tx rx interrupt affinity
* <cpumask_for_rx_interrupts cpumask_for_tx_comp_interrupts>
*/
wlan-txrx-intr-cpumask = <0x3 0x30>;
};
};
&pcie_rp {
cnss_pci0: cnss_pci0 {
reg = <0 0 0 0 0>;
qcom,iommu-group = <&cnss_pci_iommu_group0>;
memory-region = <&cnss_wlan_mem &cnss_pci0_iommu_region_partition>;
#address-cells = <2>;
#size-cells = <2>;
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 0x98000000>,
<&cnss_pci0 0x0 0x0 0xB0000000 0x0 0x50000000>;
};
cnss_pci_iommu_group0: cnss_pci_iommu_group0 {
qcom,iommu-msi-size = <0x1000>;
qcom,iommu-geometry = <0x0 0x98000000 0x0 0x18010000>;
qcom,iommu-dma = "fastmap";
qcom,iommu-pagetable = "coherent";
qcom,iommu-faults = "stall-disable", "HUPCF",
"non-fatal";
};
};
};