SOL is side band mechanism to communicate with device and reset device from the bad state. Enable SOL for sun to recover from device hung issue during PCIe link down cases. HOST_SOL -------> Host to Device GPIO DEV_SOL --------> Device to Host GPIO Change-Id: Ib4bf76fa60692acf85546dca7a7148f9c4062ca6 CRs-Fixed: 3715142
170 lines
3.9 KiB
Plaintext
170 lines
3.9 KiB
Plaintext
// SPDX-License-Identifier: BSD-3-Clause
|
|
|
|
/*
|
|
* Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
*/
|
|
|
|
#include <dt-bindings/interconnect/qcom,sun.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 = "gpio202";
|
|
function = "gpio";
|
|
};
|
|
|
|
config {
|
|
pins = "gpio202";
|
|
drive-strength = <4>;
|
|
bias-pull-down;
|
|
};
|
|
};
|
|
|
|
cnss_dev_sol_default: cnss_dev_sol_default {
|
|
mux {
|
|
pins = "gpio203";
|
|
function = "gpio";
|
|
};
|
|
|
|
config {
|
|
pins = "gpio203";
|
|
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 = <0xb0000000 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 = <&pm8550ve_f_gpios 3 0>;
|
|
qcom,sw-ctrl-gpio = <&tlmm 18 0>;
|
|
wlan-host-sol-gpio = <&tlmm 202 0>;
|
|
wlan-dev-sol-gpio = <&tlmm 203 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 &cnss_dev_sol_default>;
|
|
qcom,wlan;
|
|
qcom,wlan-rc-num = <0>;
|
|
qcom,wlan-ramdump-dynamic = <0x780000>;
|
|
cnss-enable-self-recovery;
|
|
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>;
|
|
|
|
vdd-wlan-io-supply = <&L3F>;
|
|
qcom,vdd-wlan-io-config = <1800000 1800000 0 0 1>;
|
|
vdd-wlan-io12-supply = <&L2F>;
|
|
qcom,vdd-wlan-io12-config = <1200000 1200000 0 0 1>;
|
|
vdd-wlan-aon-supply = <&S4D>;
|
|
qcom,vdd-wlan-aon-config = <876000 1036000 0 0 1>;
|
|
vdd-wlan-dig-supply = <&S5F>;
|
|
qcom,vdd-wlan-dig-config = <876000 1000000 0 0 1>;
|
|
vdd-wlan-rfa1-supply = <&S3G>;
|
|
qcom,vdd-wlan-rfa1-config = <1860000 2000000 0 0 1>;
|
|
vdd-wlan-rfa2-supply = <&S7I>;
|
|
qcom,vdd-wlan-rfa2-config = <1312000 1340000 0 0 1>;
|
|
vdd-wlan-ant-share-supply = <&L6K>;
|
|
qcom,vdd-wlan-ant-share-config = <1800000 1860000 0 0 1>;
|
|
|
|
qcom,pdc_init_table =
|
|
"{class: wlan_pdc, ss: rf, res: s5f.m, enable: 1}",
|
|
"{class: wlan_pdc, ss: rf, res: s5f.v, enable: 1}",
|
|
"{class: wlan_pdc, ss: rf, res: s5f.v, upval: 876}",
|
|
"{class: wlan_pdc, ss: rf, res: s5f.v, dwnval: 796}";
|
|
};
|
|
};
|
|
|
|
&pcie0_rp {
|
|
#address-cells = <5>;
|
|
#size-cells = <0>;
|
|
|
|
cnss_pci0: cnss_pci0 {
|
|
reg = <0 0 0 0 0>;
|
|
qcom,iommu-group = <&cnss_pci_iommu_group0>;
|
|
memory-region = <&cnss_wlan_mem>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <1>;
|
|
|
|
cnss_pci_iommu_group0: cnss_pci_iommu_group0 {
|
|
qcom,iommu-msi-size = <0x1000>;
|
|
qcom,iommu-dma-addr-pool = <0xa0000000 0x10000000>;
|
|
qcom,iommu-geometry = <0xa0000000 0x10010000>;
|
|
qcom,iommu-dma = "fastmap";
|
|
qcom,iommu-pagetable = "coherent";
|
|
qcom,iommu-faults = "stall-disable", "HUPCF",
|
|
"non-fatal";
|
|
};
|
|
};
|
|
};
|