136 lines
6.9 KiB
Plaintext
136 lines
6.9 KiB
Plaintext
|
|
* 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-qca-converged" for converged QCA devices
|
||
|
|
- 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: PCIe root complex number which WLAN chip is attached to
|
||
|
|
|
||
|
|
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
|
||
|
|
- 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
|
||
|
|
- 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.
|
||
|
|
- qcom,converged-dt: Boolean property to decide whether it supports multiple
|
||
|
|
chips.
|
||
|
|
- qcom,bus-type: U32 property to specify the bus type, is required when
|
||
|
|
'qcom,converged-dt' being present.
|
||
|
|
- wlan_vregs: String array to decide which vregs are required, is required
|
||
|
|
when 'qcom,converged-dt' being present.
|
||
|
|
- <supply-name>-supply: phandle to the regulator device tree node.
|
||
|
|
optional "supply-name" is "vdd-wlan-rfa".
|
||
|
|
- qcom,<supply-name>-info: Specifies configuration for supply. Should be
|
||
|
|
specified in <min_uV max_uV load_uA delay_us>.
|
||
|
|
- pcie-disable-l1: Boolean property to decide whether to disable PCIe L1 PM.
|
||
|
|
- pcie-disable-l1ss: Boolean property to decide whether to disable PCIe L1ss.
|
||
|
|
- qcom,set-wlaon-pwr-ctrl: Boolean property to indicate if set
|
||
|
|
WLAON_QFPROM_PWR_CTRL_REG register during power on
|
||
|
|
and off sequences.
|
||
|
|
- qcom,iommu-geometry: Boolean property to indicate if need to enable
|
||
|
|
DOMAIN_ATTR_GEOMETRY domain attribute. Only used
|
||
|
|
when DOMAIN_ATTR_FAST set.
|
||
|
|
|
||
|
|
List of chip specific sub nodes:
|
||
|
|
- chip_cfg@X: represent chip specific configurations
|
||
|
|
Each sub node has the following required properties:
|
||
|
|
- wlan_vregs: String array to decide which vregs are required, property
|
||
|
|
being present but no values means no additional vregs.
|
||
|
|
- supported-ids: U32 array to decide which device ids are supported by
|
||
|
|
sub node.
|
||
|
|
|
||
|
|
Example:
|
||
|
|
|
||
|
|
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-rc-num = <0>;
|
||
|
|
qcom,wlan-smmu-iova-address = <0 0x10000000>;
|
||
|
|
qcom,mhi = <&mhi_wlan>;
|
||
|
|
qcom,cap-tsf-gpio = <&tlmm 126 1>;
|
||
|
|
};
|
||
|
|
|
||
|
|
qcom,cnss-qca-converged {
|
||
|
|
compatible = "qcom,cnss-qca-converged";
|
||
|
|
qcom,converged-dt;
|
||
|
|
qcom,bus-type=<0>;
|
||
|
|
|
||
|
|
vdd-wlan-ctrl1-supply = <&vreg_conn_pa>;
|
||
|
|
vdd-wlan-ctrl2-supply = <&vreg_conn_1p8>;
|
||
|
|
vdd-wlan-supply = <&vreg_wlan>;
|
||
|
|
wlan_vregs = "vdd-wlan-ctrl1", "vdd-wlan-ctrl2";
|
||
|
|
qcom,vdd-wlan-ctrl1-info = <0 0 0 0>;
|
||
|
|
qcom,vdd-wlan-ctrl2-info = <0 0 0 0>;
|
||
|
|
wlan-en-gpio = <&tlmm 169 0>;
|
||
|
|
pinctrl-names = "wlan_en_active", "wlan_en_sleep";
|
||
|
|
pinctrl-0 = <&cnss_wlan_en_active>;
|
||
|
|
pinctrl-1 = <&cnss_wlan_en_sleep>;
|
||
|
|
qcom,wlan-rc-num = <0>;
|
||
|
|
|
||
|
|
chip_cfg@1 {
|
||
|
|
supported-ids = <0x003e>;
|
||
|
|
wlan_vregs = "vdd-wlan";
|
||
|
|
qcom,vdd-wlan-info = <0 0 0 10>;
|
||
|
|
};
|
||
|
|
};
|