Merge "ARM: dts: msm: add wlan converged node for SA81x5"

This commit is contained in:
qctecmdr 2021-03-11 10:14:25 -08:00 • committed by Gerrit - the friendly Code Review server
commit 9cb4ec4eef
3 changed files with 609 additions and 0 deletions

View file

@ -17,6 +17,7 @@ Required properties:
"qcom,cnss-qca6390" for QCA6390 device
"qcom,cnss-qca6490" for QCA6490 device
"qcom,cnss-wcn7850" for WCN7850 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
@ -98,6 +99,18 @@ Optional properties:
without sub-nodes.
- qcom,converged-dt: Boolean property to decide whether it supports multiple
WLAN devices using the same DT node with sub-nodes.
- 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.
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:
@ -117,3 +130,27 @@ Example:
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>;
};
};

View file

@ -1,5 +1,11 @@
&soc {
/* Rome 3.3V supply */
vreg_wlan: vreg_wlan {
compatible = "qcom,stub-regulator";
regulator-name = "vreg_wlan";
};
/* PWR_CTR2_VDD_1P8 supply */
vreg_conn_1p8: vreg_conn_1p8 {
compatible = "regulator-fixed";
@ -44,9 +50,290 @@
qcom,bt-vdd-rfa3-config = <1900000 1900000 450000 0>;
};
cnss_pcie: qcom,cnss-qca-converged {
compatible = "qcom,cnss-qca-converged";
qcom,converged-dt;
qcom,wlan-rc-num = <0>;
qcom,bus-type=<0>;
qcom,notify-modem-status;
#address-cells=<1>;
#size-cells=<1>;
ranges = <0xb0000000 0xb0000000 0x10000>;
vdd-wlan-ctrl1-supply = <&vreg_conn_pa>;
vdd-wlan-ctrl2-supply = <&vreg_conn_1p8>;
vdd-wlan-supply = <&vreg_wlan>;
vdd-wlan-aon-supply = <&pm8150_1_s6>;
vdd-wlan-rfa1-supply = <&pm8150_2_s4>;
vdd-wlan-rfa2-supply = <&pm8150_2_s5>;
vdd-wlan-rfa3-supply = <&pm8150_2_l15>;
wlan_vregs = "vdd-wlan-ctrl1", "vdd-wlan-ctrl2";
qcom,vdd-wlan-ctrl1-config = <0 0 0 0 0>;
qcom,vdd-wlan-ctrl2-config = <0 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>;
chip_cfg@0 {
reg = <0xb0000000 0x10000>;
reg-names = "smmu_iova_ipa";
supported-ids = <0x003e>;
wlan_vregs = "vdd-wlan";
qcom,vdd-wlan-info = <0 0 0 10 1>;
qcom,wlan-ramdump-dynamic = <0x200000>;
};
chip_cfg@1 {
reg = <0xb0000000 0x10000>;
reg-names = "smmu_iova_ipa";
supported-ids = <0x1101>;
wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1",
"vdd-wlan-rfa2", "vdd-wlan-rfa3";
qcom,vdd-wlan-aon-config = <1055000 1055000 0 0 1>;
qcom,vdd-wlan-rfa1-config = <1370000 1370000 0 0 1>;
qcom,vdd-wlan-rfa2-config = <2040000 2040000 0 0 1>;
qcom,vdd-wlan-rfa3-config = <1900000 1900000 450000 0 1>;
qcom,wlan-ramdump-dynamic = <0x400000>;
mhi,max-channels = <30>;
mhi,timeout = <10000>;
mhi,buffer-len = <0x8000>;
mhi,m2-no-db-access;
mhi_channels {
#address-cells = <1>;
#size-cells = <0>;
mhi_chan@0 {
reg = <0>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@1 {
reg = <1>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@4 {
reg = <4>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@5 {
reg = <5>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@20 {
reg = <20>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <1>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-start;
};
mhi_chan@21 {
reg = <21>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-queue;
mhi,auto-start;
};
};
mhi_events {
mhi_event@0 {
mhi,num-elements = <32>;
mhi,intmod = <1>;
mhi,msi = <1>;
mhi,priority = <1>;
mhi,brstmode = <2>;
mhi,data-type = <1>;
};
mhi_event@1 {
mhi,num-elements = <256>;
mhi,intmod = <1>;
mhi,msi = <2>;
mhi,priority = <1>;
mhi,brstmode = <2>;
};
};
};
chip_cfg@2 {
reg = <0xb0000000 0x10000>;
reg-names = "smmu_iova_ipa";
supported-ids = <0x1102>;
wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1",
"vdd-wlan-rfa2", "vdd-wlan-rfa3";
qcom,vdd-wlan-aon-config = <1055000 1055000 0 0 1>;
qcom,vdd-wlan-rfa1-config = <1370000 1370000 0 0 1>;
qcom,vdd-wlan-rfa2-config = <2040000 2040000 0 0 1>;
qcom,vdd-wlan-rfa3-config = <1900000 1900000 450000 0 1>;
qcom,wlan-ramdump-dynamic = <0x400000>;
mhi,max-channels = <30>;
mhi,timeout = <10000>;
mhi,ee = <0x3>, <0x4>;
mhi,ee-names = "SBL", "RDDM";
mhi,bhie-offset = <0x0324>;
mhi,m2-no-db-access;
mhi_channels {
#address-cells = <1>;
#size-cells = <0>;
mhi_chan@0 {
reg = <0>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@1 {
reg = <1>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@4 {
reg = <4>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@5 {
reg = <5>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@16 {
reg = <16>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <1>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-start;
};
mhi_chan@17 {
reg = <17>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-queue;
mhi,auto-start;
};
};
mhi_events {
mhi_event@0 {
mhi,num-elements = <32>;
mhi,intmod = <1>;
mhi,msi = <1>;
mhi,priority = <1>;
mhi,brstmode = <2>;
mhi,data-type = <1>;
};
mhi_event@1 {
mhi,num-elements = <256>;
mhi,intmod = <1>;
mhi,msi = <2>;
mhi,priority = <1>;
mhi,brstmode = <2>;
};
};
};
};
};
&qupv3_se13_4uart {
status = "ok"
};
&pcie_rc0 {
cnss_pci: cnss_pci {
reg = <0 0 0 0 0>;
qcom,iommu-group = <&cnss_pci_iommu_group>;
#address-cells = <1>;
#size-cells = <1>;
cnss_pci_iommu_group: cnss_pci_iommu_group {
qcom,iommu-dma-addr-pool = <0xa0000000 0x10000000>;
qcom,iommu-dma = "fastmap";
qcom,iommu-pagetable = "coherent";
qcom,iommu-faults = "stall-disable", "no-CFRE",
"non-fatal";
};
};
};

View file

@ -42,9 +42,294 @@
qcom,bt-vdd-rfa2-config = <1900000 1900000 450000 0>;
};
/* Rome 3.3V supply */
vreg_wlan: vreg_wlan {
compatible = "qcom,stub-regulator";
regulator-name = "vreg_wlan";
};
cnss_pcie: qcom,cnss-qca-converged {
compatible = "qcom,cnss-qca-converged";
qcom,converged-dt;
qcom,wlan-rc-num = <0>;
qcom,bus-type=<0>;
qcom,notify-modem-status;
#address-cells=<1>;
#size-cells=<1>;
ranges = <0xb0000000 0xb0000000 0x10000>;
vdd-wlan-ctrl1-supply = <&vreg_conn_pa>;
vdd-wlan-ctrl2-supply = <&vreg_conn_1p8>;
vdd-wlan-supply = <&vreg_wlan>;
vdd-wlan-aon-supply = <&pm8195_1_s5>;
vdd-wlan-rfa1-supply = <&pm8195_1_s2>;
vdd-wlan-rfa2-supply = <&pm8195_2_s5>;
vdd-wlan-rfa3-supply = <&pm8195_2_l7>;
wlan_vregs = "vdd-wlan-ctrl1", "vdd-wlan-ctrl2";
qcom,vdd-wlan-ctrl1-config = <0 0 0 0 0>;
qcom,vdd-wlan-ctrl2-config = <0 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>;
chip_cfg@0 {
reg = <0xb0000000 0x10000>;
reg-names = "smmu_iova_ipa";
supported-ids = <0x003e>;
wlan_vregs = "vdd-wlan";
qcom,vdd-wlan-info = <0 0 0 10 1>;
qcom,wlan-ramdump-dynamic = <0x200000>;
};
chip_cfg@1 {
reg = <0xb0000000 0x10000>;
reg-names = "smmu_iova_ipa";
supported-ids = <0x1101>;
wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1",
"vdd-wlan-rfa2", "vdd-wlan-rfa3";
qcom,vdd-wlan-aon-config = <1000000 1000000 0 0 1>;
qcom,vdd-wlan-rfa1-config = <1370000 1370000 0 0 1>;
qcom,vdd-wlan-rfa2-config = <2040000 2040000 0 0 1>;
qcom,vdd-wlan-rfa3-config = <1900000 1900000 450000 0 1>;
qcom,wlan-ramdump-dynamic = <0x400000>;
mhi,max-channels = <30>;
mhi,timeout = <10000>;
mhi,buffer-len = <0x8000>;
mhi,m2-no-db-access;
mhi_channels {
#address-cells = <1>;
#size-cells = <0>;
mhi_chan@0 {
reg = <0>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@1 {
reg = <1>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@4 {
reg = <4>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@5 {
reg = <5>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@20 {
reg = <20>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <1>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-start;
};
mhi_chan@21 {
reg = <21>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-queue;
mhi,auto-start;
};
};
mhi_events {
mhi_event@0 {
mhi,num-elements = <32>;
mhi,intmod = <1>;
mhi,msi = <1>;
mhi,priority = <1>;
mhi,brstmode = <2>;
mhi,data-type = <1>;
};
mhi_event@1 {
mhi,num-elements = <256>;
mhi,intmod = <1>;
mhi,msi = <2>;
mhi,priority = <1>;
mhi,brstmode = <2>;
};
};
};
chip_cfg@2 {
reg = <0xb0000000 0x10000>;
reg-names = "smmu_iova_ipa";
supported-ids = <0x1102>;
wlan_vregs = "vdd-wlan-aon", "vdd-wlan-rfa1",
"vdd-wlan-rfa2", "vdd-wlan-rfa3";
qcom,vdd-wlan-aon-config = <1000000 1000000 0 0 1>;
qcom,vdd-wlan-rfa1-config = <1370000 1370000 0 0 1>;
qcom,vdd-wlan-rfa2-config = <2040000 2040000 0 0 1>;
qcom,vdd-wlan-rfa3-config = <1900000 1900000 450000 0 1>;
qcom,wlan-ramdump-dynamic = <0x400000>;
mhi,max-channels = <30>;
mhi,timeout = <10000>;
mhi,ee = <0x3>, <0x4>;
mhi,ee-names = "SBL", "RDDM";
mhi,bhie-offset = <0x0324>;
mhi,m2-no-db-access;
mhi_channels {
#address-cells = <1>;
#size-cells = <0>;
mhi_chan@0 {
reg = <0>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@1 {
reg = <1>;
label = "LOOPBACK";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@4 {
reg = <4>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@5 {
reg = <5>;
label = "DIAG";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
};
mhi_chan@16 {
reg = <16>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <1>;
mhi,data-type = <1>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-start;
};
mhi_chan@17 {
reg = <17>;
label = "IPCR";
mhi,num-elements = <32>;
mhi,event-ring = <1>;
mhi,chan-dir = <2>;
mhi,data-type = <0>;
mhi,doorbell-mode = <2>;
mhi,ee = <0x14>;
mhi,auto-queue;
mhi,auto-start;
};
};
mhi_events {
mhi_event@0 {
mhi,num-elements = <32>;
mhi,intmod = <1>;
mhi,msi = <1>;
mhi,priority = <1>;
mhi,brstmode = <2>;
mhi,data-type = <1>;
};
mhi_event@1 {
mhi,num-elements = <256>;
mhi,intmod = <1>;
mhi,msi = <2>;
mhi,priority = <1>;
mhi,brstmode = <2>;
};
};
};
};
};
&qupv3_se13_4uart {
status = "ok"
};
&pcie_rc0 {
cnss_pci: cnss_pci {
reg = <0 0 0 0 0>;
qcom,iommu-group = <&cnss_pci_iommu_group>;
#address-cells = <1>;
#size-cells = <1>;
cnss_pci_iommu_group: cnss_pci_iommu_group {
qcom,iommu-dma-addr-pool = <0xa0000000 0x10000000>;
qcom,iommu-dma = "fastmap";
qcom,iommu-pagetable = "coherent";
qcom,iommu-faults = "stall-disable", "no-CFRE",
"non-fatal";
};
};
};