Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9cb4ec4e authored by qctecmdr's avatar qctecmdr Committed by Gerrit - the friendly Code Review server
Browse files

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

parents ad6d470c 3c6d14c7
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
@@ -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>;
        };
    };
+287 −0
Original line number Diff line number Diff line

&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";
		};
	};
};
+285 −0
Original line number Diff line number Diff line
@@ -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";
		};
	};
};