git-subtree-dir: qcom/wlan git-subtree-mainline:cc9d84727a
git-subtree-split:551f3bbb6a
361 lines
11 KiB
YAML
361 lines
11 KiB
YAML
# Copyright (c) 2024 Qualcomm Innovation Center, Inc. All rights reserved.
|
|
# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
|
|
title: Connectivity SubSystem Platform Driver
|
|
|
|
description:
|
|
Connectivity SubSystem platform driver adds support for the CNSS subsystem
|
|
used for PCIe based Wi-Fi devices. It also adds support to integrate PCIe
|
|
WLAN module to subsystem restart framework. Apart from that, it also manages
|
|
the 3.3V voltage regulator, WLAN Enable GPIO signal and PCIe link dynamically
|
|
with support for suspend and resume by retaining the PCI config space
|
|
states when PCIe link is shutdown. The main purpose of this device tree
|
|
entry below is to invoke the CNSS platform driver and provide handle to
|
|
the WLAN enable GPIO, 3.3V fixed voltage regulator resources. It also
|
|
provides the reserved RAM dump memory location and size.
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- qcom,cnss #for QCA6174 device
|
|
- qcom,cnss-qca6290 #for QCA6290 device
|
|
- qcom,cnss-qca6390 #for QCA6390 device
|
|
- qcom,cnss-qca6490 #for QCA6490 device
|
|
- qcom,cnss-kiwi #for KIWI device
|
|
- qcom,cnss-qca-converged #for converged QCA devices
|
|
|
|
wlan-en-gpio:
|
|
description: WLAN_EN GPIO signal specified by the chip specifications.
|
|
|
|
vdd-wlan-supply:
|
|
description: phandle to the regulator device tree node.
|
|
|
|
pinctrl-names:
|
|
description: Names corresponding to the numbered pinctrl states.
|
|
|
|
pinctrl-<n>:
|
|
description: |
|
|
Pinctrl states as described in
|
|
bindings/pinctrl/pinctrl-bindings.txt.
|
|
|
|
qcom,wlan-rc-num:
|
|
description: |
|
|
List of PCIe root complex numbers which WLAN device may
|
|
attach to.
|
|
|
|
qcom,wlan:
|
|
description: |
|
|
Signature string for WLAN devices which all CNSS family drivers
|
|
are able to search for.
|
|
|
|
mpm_wake_set_gpios:
|
|
description: |
|
|
U32 array of GPIOs which need to be setup for
|
|
interrupt wakeup capable.
|
|
|
|
qcom,notify-modem-status:
|
|
description: |
|
|
Boolean property to decide whether modem
|
|
notification should be enabled or not in this
|
|
platform.
|
|
|
|
wlan-soc-swreg-supply:
|
|
description: phandle to the external 1.15V regulator for QCA6174.
|
|
|
|
wlan-ant-switch-supply:
|
|
description: |
|
|
phandle to the 2.7V regulator for the antenna
|
|
switch of QCA6174.
|
|
|
|
qcom,wlan-uart-access:
|
|
description: |
|
|
Boolean property to decide whether QCA6174
|
|
has exclusive access to UART.
|
|
|
|
vdd-wlan-io-supply:
|
|
description: phandle to the 1.8V IO regulator for QCA6174.
|
|
|
|
vdd-wlan-io12-supply:
|
|
description: phandle to the 1.2V IO regulator for Kiwi.
|
|
|
|
vdd-wlan-ant-share-supply:
|
|
description: phandle to the Antenna Sharing regulator.
|
|
|
|
vdd-wlan-xtal-supply:
|
|
description: phandle to the 1.8V XTAL regulator for QCA6174.
|
|
|
|
vdd-wlan-xtal-aon-supply:
|
|
description: |
|
|
phandle to the LDO-4 regulator. This is needed
|
|
on platforms where XTAL regulator depends on
|
|
always on regulator in VDDmin.
|
|
|
|
vdd-wlan-ctrl1-supply:
|
|
description: |
|
|
phandle to the DBU1 - 1.8V for QCA6595 or 3.3V for
|
|
QCA6174 on auto platform.
|
|
|
|
vdd-wlan-ctrl2-supply:
|
|
description: |
|
|
phandle to the DBU4 - 2.2V for QCA6595 or 3.85V for
|
|
QCA6696 on auto platform.
|
|
|
|
vdd-wlan-core-supply:
|
|
description: phandle to the 1.3V CORE regulator for QCA6174.
|
|
|
|
vdd-wlan-sp2t-supply:
|
|
description: phandle to the 2.7V SP2T regulator for QCA6174.
|
|
|
|
<supply-name>-supply:
|
|
description: |
|
|
phandle to the regulator device tree node.
|
|
optional "supply-name" is "vdd-wlan-rfa".
|
|
|
|
qcom,<supply>-config:
|
|
description: |
|
|
Specifies voltage levels for supply. Should specified
|
|
in pairs (min, max), units uV. There can be optional
|
|
load in uA and Regulator settle delay in us.
|
|
|
|
qcom,smmu-s1-enable:
|
|
description: |
|
|
Boolean property to decide whether to enable SMMU
|
|
S1 stage or not.
|
|
|
|
qcom,wlan-smmu-iova-address:
|
|
description: |
|
|
I/O virtual address range as <start length>
|
|
format to be used for allocations associated
|
|
between WLAN/PCIe and SMMU.
|
|
|
|
qcom,wlan-ramdump-dynamic:
|
|
description: |
|
|
To enable CNSS RAMDUMP collection
|
|
by providing the size of CNSS DUMP.
|
|
|
|
qcom,cmd_db_name:
|
|
description: |
|
|
CommandDB name indicating the PMIC rail used for open
|
|
loop CPR.
|
|
|
|
reg:
|
|
description: Memory regions defined as starting address and size.
|
|
|
|
reg-names:
|
|
description: Names of the memory regions defined in reg entry.
|
|
|
|
wlan-bootstrap-gpio:
|
|
description: |
|
|
WLAN_BOOTSTRAP GPIO signal specified by QCA6174
|
|
which should be drived depending on platforms.
|
|
|
|
qcom,is-dual-wifi-enabled:
|
|
description: |
|
|
Boolean property to control wlan enable(wlan-en)
|
|
gpio on dual-wifi platforms.
|
|
|
|
vdd-wlan-en-supply:
|
|
description: |
|
|
WLAN_EN fixed regulator specified by QCA6174
|
|
specifications.
|
|
|
|
qcom,wlan-en-vreg-support:
|
|
description: |
|
|
Boolean property to decide the whether the
|
|
WLAN_EN pin is a gpio or fixed regulator.
|
|
|
|
qcom,mhi:
|
|
description: phandle to indicate the device which needs MHI support.
|
|
|
|
qcom,cap-tsf-gpio:
|
|
description: |
|
|
WLAN_TSF_CAPTURED GPIO signal specified by the chip
|
|
specifications, should be drived depending on products.
|
|
|
|
cnss-daemon-support:
|
|
description: |
|
|
Boolean property to decide whether cnss_daemon
|
|
userspace QMI client is supported.
|
|
|
|
use-nv-mac:
|
|
description: Boolean property to indicate whether NV MAC is used or not.
|
|
|
|
qcom,set-wlaon-pwr-ctrl:
|
|
description: |
|
|
Boolean property to indicate if set
|
|
WLAON_QFPROM_PWR_CTRL_REG register during power on
|
|
and off sequences.
|
|
|
|
use-pm-domain:
|
|
description: |
|
|
Boolean property to indicate if driver needs to use PM
|
|
domain or not.
|
|
|
|
qcom,wlan-cbc-enabled:
|
|
description: boolean property to control cold boot calibration.
|
|
|
|
interconnects:
|
|
description: Interconnect framework setup for bus configuration.
|
|
|
|
interconnect-names:
|
|
description: Interconnect path names as strings.
|
|
|
|
qcom,icc-path-count:
|
|
description: Number of Interconnect paths for this platform.
|
|
|
|
qcom,bus-bw-cfg-count:
|
|
description: Number of bus bandwidth voting cases.
|
|
|
|
qcom,bus-bw-cfg:
|
|
description: Bus bandwidth voting data.
|
|
|
|
wlan-txrx-intr-cpumask:
|
|
description: cpumask for wlan tx rx interrupt affinity
|
|
|
|
qcom,tcs_offset_int_pow_amp_vreg:
|
|
description: |
|
|
TCS CMD register offset for Voltage
|
|
regulator used in internal power amplifier for QCA6490.
|
|
|
|
cnss-enable-self-recovery:
|
|
description: |
|
|
Boolean property to enable self recovery when
|
|
recovery is trigeered with reason link down.
|
|
|
|
qcom,bt-en-gpio:
|
|
description: |
|
|
QCA6490 requires synchronization for BT and WLAN GPIO
|
|
enable to resolve PMU power up issues. Provide BT GPIO using
|
|
this config param.
|
|
|
|
qcom,same-dt-multi-dev:
|
|
description: |
|
|
Boolean property to decide whether it supports
|
|
multiple WLAN devices using the same DT node
|
|
without sub-nodes.
|
|
|
|
qcom,converged-dt:
|
|
description: |
|
|
Boolean property to decide whether it supports multiple
|
|
WLAN devices using the same DT node with sub-nodes.
|
|
|
|
mboxes:
|
|
description: Specifies mbox channel data for AOP messaging.
|
|
|
|
qcom,vreg_ipa:
|
|
description: |
|
|
Specifies voltage regulator used for WLAN device internal
|
|
power amp config.
|
|
|
|
qcom,xo-clk-gpio:
|
|
description: Added for QCA6490 XO CLK selection leakage prevention.
|
|
|
|
platform-name-required:
|
|
description: |
|
|
Boolean property to decide whether
|
|
platform name required.
|
|
|
|
chip_cfg@X:
|
|
description: represent chip specific configurations
|
|
enum:
|
|
-supported-ids #U32 array to decide which device ids are supported by sub node.
|
|
|
|
required:
|
|
- compatible
|
|
- wlan-en-gpio
|
|
- vdd-wlan-supply
|
|
- pinctrl-names
|
|
- pinctrl-<n>
|
|
- qcom,wlan-rc-num
|
|
- qcom,wlan
|
|
|
|
examples:
|
|
- |
|
|
qcom,cnss@0d400000 {
|
|
compatible = "qcom,cnss";
|
|
reg = <0x0d400000 0x200000>;
|
|
reg-names = "ramdump";
|
|
qcom,wlan-ramdump-dynamic = <0x200000>;
|
|
wlan-en-gpio = <&msmgpio 82 0>;
|
|
vdd-wlan-supply = <&wlan_vreg>;
|
|
qcom,notify-modem-status;
|
|
wlan-soc-swreg-supply = <&pma8084_l27>;
|
|
pinctrl-names = "default";
|
|
pinctrl-0 = <&cnss_default>;
|
|
qcom,wlan;
|
|
qcom,wlan-rc-num = <0>;
|
|
qcom,wlan-smmu-iova-address = <0 0x10000000>;
|
|
qcom,mhi = <&mhi_wlan>;
|
|
qcom,cap-tsf-gpio = <&tlmm 126 1>;
|
|
};
|
|
|
|
wlan: qcom,cnss-qca6490@b0000000 {
|
|
compatible = "qcom,cnss-qca6490";
|
|
reg = <0xb0000000 0x10000>;
|
|
reg-names = "smmu_iova_ipa";
|
|
wlan-en-gpio = <&tlmm 80 0>;
|
|
qcom,bt-en-gpio = <&tlmm 81 0>;
|
|
pinctrl-names = "wlan_en_active", "wlan_en_sleep";
|
|
pinctrl-0 = <&cnss_wlan_en_active>;
|
|
pinctrl-1 = <&cnss_wlan_en_sleep>;
|
|
qcom,wlan;
|
|
qcom,wlan-rc-num = <0>;
|
|
qcom,wlan-ramdump-dynamic = <0x420000>;
|
|
qcom,wlan-cbc-enabled;
|
|
use-pm-domain;
|
|
cnss-enable-self-recovery;
|
|
qcom,same-dt-multi-dev;
|
|
mboxes = <&qmp_aop 0>;
|
|
qcom,vreg_ipa="s3e";
|
|
qcom,xo-clk-gpio = <&tlmm 204 0>;
|
|
vdd-wlan-aon-supply = <&S2E>;
|
|
qcom,vdd-wlan-aon-config = <1012000 1012000 0 0 1>;
|
|
vdd-wlan-dig-supply = <&S11B>;
|
|
qcom,vdd-wlan-dig-config = <966000 966000 0 0 1>;
|
|
vdd-wlan-io-supply = <&S10B>;
|
|
qcom,vdd-wlan-io-config = <1800000 1800000 0 0 1>;
|
|
vdd-wlan-rfa1-supply = <&S1C>;
|
|
qcom,vdd-wlan-rfa1-config = <1900000 2100000 0 0 1>;
|
|
vdd-wlan-rfa2-supply = <&S12B>;
|
|
qcom,vdd-wlan-rfa2-config = <1350000 1350000 0 0 1>;
|
|
wlan-ant-switch-supply = <&L7E>;
|
|
qcom,wlan-ant-switch-config = <2800000 2800000 0 0 1>;
|
|
};
|
|
|
|
wlan: qcom,cnss-qca-converged {
|
|
compatible = "qcom,cnss-qca-converged";
|
|
qcom,converged-dt;
|
|
qcom,wlan-sw-ctrl-gpio = <&tlmm 83 0>;
|
|
chip_cfg@0 {
|
|
supported-ids = <0x1103>;
|
|
reg = <0xb0000000 0x10000>;
|
|
reg-names = "smmu_iova_ipa";
|
|
wlan-en-gpio = <&tlmm 80 0>;
|
|
pinctrl-names = "wlan_en_active", "wlan_en_sleep";
|
|
pinctrl-0 = <&cnss_wlan_en_active>;
|
|
pinctrl-1 = <&cnss_wlan_en_sleep>;
|
|
qcom,wlan;
|
|
qcom,wlan-rc-num = <0>;
|
|
qcom,wlan-ramdump-dynamic = <0x780000>;
|
|
qcom,wlan-cbc-enabled;
|
|
use-pm-domain;
|
|
mboxes = <&qmp_aop 0>;
|
|
vdd-wlan-io-supply = <&L15B>;
|
|
qcom,vdd-wlan-io-config = <1800000 1800000 0 0 1>;
|
|
vdd-wlan-supply = <&S5G>;
|
|
qcom,vdd-wlan-config = <1000000 1000000 0 0 1>;
|
|
vdd-wlan-aon-supply = <&S2G>;
|
|
qcom,vdd-wlan-aon-config = <980000 980000 0 0 1>;
|
|
vdd-wlan-dig-supply = <&S4E>;
|
|
qcom,vdd-wlan-dig-config = <950000 950000 0 0 1>;
|
|
vdd-wlan-rfa1-supply = <&S6G>;
|
|
qcom,vdd-wlan-rfa1-config = <1900000 1900000 0 0 1>;
|
|
vdd-wlan-rfa2-supply = <&S4G>;
|
|
qcom,vdd-wlan-rfa2-config = <1350000 1350000 0 0 1>;
|
|
};
|
|
};
|
|
...
|
|
|