159 lines
8.3 KiB
Text
159 lines
8.3 KiB
Text
* Qualcomm Technologies, Inc. ConNectivity SubSystem Platform Driver
|
|
|
|
This 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.
|
|
|
|
Required properties:
|
|
- compatible: "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-wcn7850" for WCN7850 device
|
|
- wlan-en-gpio: WLAN_EN GPIO signal specified by the chip specifications
|
|
- vdd-wlan-supply: phandle to the regulator device tree node
|
|
- pinctrl-names: Names corresponding to the numbered pinctrl states
|
|
- pinctrl-<n>: Pinctrl states as described in
|
|
bindings/pinctrl/pinctrl-bindings.txt
|
|
- qcom,wlan-rc-num: List of PCIe root complex numbers which WLAN device may
|
|
attach to
|
|
- qcom,wlan: Signature string for WLAN devices which all CNSS family drivers
|
|
are able to search for
|
|
|
|
Optional properties:
|
|
- qcom,notify-modem-status: Boolean property to decide whether modem
|
|
notification should be enabled or not in this
|
|
platform
|
|
- wlan-soc-swreg-supply: phandle to the external 1.15V regulator for QCA6174
|
|
- wlan-ant-switch-supply: phandle to the 2.7V regulator for the antenna
|
|
switch of QCA6174
|
|
- qcom,wlan-uart-access: Boolean property to decide whether QCA6174
|
|
has exclusive access to UART.
|
|
- vdd-wlan-io-supply: phandle to the 1.8V IO regulator for QCA6174
|
|
- vdd-wlan-xtal-supply: phandle to the 1.8V XTAL regulator for QCA6174
|
|
- vdd-wlan-xtal-aon-supply: 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: phandle to the DBU1 - 1.8V for QCA6595 or 3.3V for
|
|
QCA6174 on auto platform.
|
|
- vdd-wlan-ctrl2-supply: phandle to the DBU4 - 2.2V for QCA6595 or 3.85V for
|
|
QCA6696 on auto platform.
|
|
- vdd-wlan-core-supply: phandle to the 1.3V CORE regulator for QCA6174
|
|
- vdd-wlan-sp2t-supply: phandle to the 2.7V SP2T regulator for QCA6174
|
|
- <supply-name>-supply: phandle to the regulator device tree node.
|
|
optional "supply-name" is "vdd-wlan-rfa"
|
|
- qcom,<supply>-config: 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: Boolean property to decide whether to enable SMMU
|
|
S1 stage or not
|
|
- qcom,wlan-smmu-iova-address: I/O virtual address range as <start length>
|
|
format to be used for allocations associated
|
|
between WLAN/PCIe and SMMU
|
|
- qcom,wlan-ramdump-dynamic: To enable CNSS RAMDUMP collection
|
|
by providing the size of CNSS DUMP
|
|
- qcom,cmd_db_name: CommandDB name indicating the PMIC rail used for open
|
|
loop CPR
|
|
- reg: Memory regions defined as starting address and size
|
|
- reg-names: Names of the memory regions defined in reg entry
|
|
- wlan-bootstrap-gpio: WLAN_BOOTSTRAP GPIO signal specified by QCA6174
|
|
which should be drived depending on platforms
|
|
- qcom,is-dual-wifi-enabled: Boolean property to control wlan enable(wlan-en)
|
|
gpio on dual-wifi platforms.
|
|
- vdd-wlan-en-supply: WLAN_EN fixed regulator specified by QCA6174
|
|
specifications.
|
|
- qcom,wlan-en-vreg-support: Boolean property to decide the whether the
|
|
WLAN_EN pin is a gpio or fixed regulator.
|
|
- qcom,mhi: phandle to indicate the device which needs MHI support.
|
|
- qcom,cap-tsf-gpio: WLAN_TSF_CAPTURED GPIO signal specified by the chip
|
|
specifications, should be drived depending on products
|
|
- cnss-daemon-support: Boolean property to decide whether cnss_daemon
|
|
userspace QMI client is supported.
|
|
- use-nv-mac: Boolean property to indicate whether NV MAC is used or not.
|
|
- qcom,set-wlaon-pwr-ctrl: Boolean property to indicate if set
|
|
WLAON_QFPROM_PWR_CTRL_REG register during power on
|
|
and off sequences.
|
|
- use-pm-domain: Boolean property to indicate if driver needs to use PM
|
|
domain or not.
|
|
- qcom,wlan-cbc-enabled: boolean property to control cold boot calibration
|
|
- interconnects: Interconnect framework setup for bus configuration
|
|
- interconnect-names: Interconnect path names as strings
|
|
- qcom,icc-path-count: Number of Interconnect paths for this platform
|
|
- qcom,bus-bw-cfg-count: Number of bus bandwidth voting cases
|
|
- qcom,bus-bw-cfg: Bus bandwidth voting data
|
|
- qcom,tcs_offset_int_pow_amp_vreg: TCS CMD register offset for Voltage
|
|
regulator used in internal power amplifier for QCA6490
|
|
- cnss-enable-self-recovery: Boolean property to enable self recovery when
|
|
recovery is trigeered with reason link down.
|
|
- qcom,bt-en-gpio: 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: Boolean property to decide whether it supports
|
|
multiple WLAN devices using the same DT node
|
|
without sub-nodes.
|
|
- qcom,converged-dt: Boolean property to decide whether it supports multiple
|
|
WLAN devices using the same DT node with sub-nodes.
|
|
- mboxes: Specifies mbox channel data for AOP messaging
|
|
- qcom,vreg_ipa: Specifies voltage regulator used for WLAN device internal
|
|
power amp config
|
|
- qcom,xo-clk-gpio: Added for QCA6490 XO CLK selection leakage prevention.
|
|
|
|
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>;
|
|
};
|