
&pcie0 {
	status = "ok";
};

&soc {

	wlan: qcom,cnss-qca6490@b0000000 {
		compatible = "qcom,cnss-qca6490";
		reg = <0xb0000000 0x10000>;
		reg-names = "smmu_iova_ipa";
		wlan-en-gpio = <&tlmm 120 0>;
		qcom,bt-en-gpio = <&tlmm 122 0>;
		qcom,sw-ctrl-gpio = <&tlmm 146 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>;
		use-pm-domain;
		cnss-enable-self-recovery;
		qcom,same-dt-multi-dev;
		mboxes = <&qmp_aop 0>;
		qcom,vreg_ipa="s4f";
		qcom,on-chip-pmic-support = <0xbb>;

		vdd-wlan-dig-supply = <&S3B>;
		qcom,vdd-wlan-dig-config = <950000 1120000 0 0 1>;
		vdd-wlan-io-supply = <&L7B>;
		qcom,vdd-wlan-io-config = <1800000 1800000 0 0 1>;
		vdd-wlan-rfa1-supply = <&S1B>;
		qcom,vdd-wlan-rfa1-config = <1880000 2040000 0 0 1>;
		vdd-wlan-rfa2-supply = <&S2B>;
		qcom,vdd-wlan-rfa2-config = <1352000 1370000 0 0 1>;

		interconnects =
		<&pcie_noc MASTER_PCIE_0 &pcie_noc SLAVE_ANOC_PCIE_GEM_NOC>,
		<&gem_noc MASTER_ANOC_PCIE_GEM_NOC &mc_virt SLAVE_EBI1>;
		interconnect-names = "pcie_to_memnoc", "memnoc_to_ddr";

		qcom,icc-path-count = <2>;
		qcom,bus-bw-cfg-count = <9>;
		qcom,bus-bw-cfg =
		/** ICC Path 1 **/
		<0 0>, /* no vote */
		/* idle: 0-18 Mbps snoc/anoc: 150 Mhz ddr: 451.2 MHz */
		<2250 1599540>,
		/* low: 18-60 Mbps snoc/anoc: 150 Mhz ddr: 451.2 MHz */
		<7500 1599540>,
		/* medium: 60-240 Mbps snoc/anoc: 150 Mhz ddr: 451.2 MHz */
		<30000 1599540>,
		/* high: 240-1200 Mbps snoc/anoc: 150 Mhz ddr: 451.2 MHz */
		<100000 1599540>,
		/* very high: > 1200 Mbps snoc/anoc: 403 Mhz ddr: 1555 MHz */
		<175000 6447980>,
		/* ultra high: DBS mode snoc/anoc: 403 Mhz ddr: 2092 MHz */
		<175000 6447980>,
		/* super high: DBS mode snoc/anoc: 533 Mhz ddr: 3.2GHz */
		<175000 8682990>,
		/* low (latency critical): 18-60 Mbps snoc/anoc: 240 Mhz
		 * ddr: 547.2 MHz
		 */
		<7500 3199610>,

		/** ICC Path 2 **/
		<0 0>,
		/* ddr: 451.2 MHz */
		<2250 2749600>,
		/* ddr: 451.2 MHz */
		<7500 2749600>,
		/* ddr: 451.2 MHz */
		<30000 2749600>,
		/* ddr: 451.2 MHz */
		<100000 2749600>,
		/* ddr: 1555 MHz */
		<175000 9479200>,
		/* ddr: 2092 MHz */
		<175000 12756000>,
		/* ddr: 2133 MHz */
		<175000 13106400>,
		/* ddr: 547.2 MHz */
		<7500 3335200>;
	};

	bluetooth: bt_qca6490 {
		compatible = "qcom,qca6490";
		pinctrl-names = "default";
		pinctrl-0 = <&bt_en_sleep>;
		qcom,wl-reset-gpio = <&tlmm 120 0>; /* WL_CTRL */
		qcom,bt-reset-gpio = <&tlmm 122 0>; /* BT_EN */
		qcom,bt-sw-ctrl-gpio = <&tlmm 146 0>; /* SW_CTRL */

		qcom,bt-vdd-io-supply = <&L7B>;  /* IO */
		qcom,bt-vdd-aon-supply = <&S3B>;
		qcom,bt-vdd-dig-supply = <&S3B>; /* BT_CX_MX */
		qcom,bt-vdd-rfacmn-supply = <&S3B>;
		qcom,bt-vdd-rfa-0p8-supply = <&S3B>;
		qcom,bt-vdd-rfa1-supply = <&S1B>; /* RFA 1p7 */
		qcom,bt-vdd-rfa2-supply = <&S2B>; /* RFA 1p2 */

		/* Max Voltages are derived from the buck Max Voltage */
		qcom,bt-vdd-io-config = <1800000 1800000 0 1>;
		qcom,bt-vdd-aon-config = <966000 1170000 0 1>;
		qcom,bt-vdd-dig-config = <966000 1170000 0 1>;
		qcom,bt-vdd-rfacmn-config  = <966000 1170000 0 1>;
		qcom,bt-vdd-rfa-0p8-config  = <966000 1170000 0 1>;
		qcom,bt-vdd-rfa1-config = <1900000 2040000 0 1>;
		qcom,bt-vdd-rfa2-config = <1352000 2024000 0 1>;
	};

};

&pcie0_rp {
	#address-cells = <5>;
	#size-cells = <0>;

	cnss_pci: cnss_pci {
		reg = <0 0 0 0 0>;
		qcom,iommu-group = <&cnss_pci_iommu_group>;
		memory-region = <&cnss_wlan_mem>;

		#address-cells = <1>;
		#size-cells = <1>;

		cnss_pci_iommu_group: cnss_pci_iommu_group {
			qcom,iommu-msi-size = <0x1000>;
			qcom,iommu-dma-addr-pool = <0xa0000000 0x10000000>;
			qcom,iommu-dma = "fastmap";
			qcom,iommu-pagetable = "coherent";
			qcom,iommu-faults = "stall-disable", "HUPCF", "no-CFRE",
					    "non-fatal";
		};
	};
};
