wil6210 - Qualcomm Technologies Inc. 802.11ad Wireless Driver

wil6210 driver is responsible for managing 802.11ad chipset
connected to MSM over PCIe interface.

The platform data is needed in order to perform proper
bus-scaling and SMMU initialization by the driver.

Required properties:

- compatible: "qcom,wil6210"
- qcom,pcie-parent: phandle for the PCIe root complex to which 11ad card is connected
- qcom,11ad-bus-bw,name: String representing the client-name
- qcom,11ad-bus-bw,num-cases: Total number of usecases
- qcom,11ad-bus-bw,num-paths: Total number of master-slave pairs
- qcom,11ad-bus-bw,vectors-KBps: Arrays of unsigned integers representing:
				 master-id, slave-id, arbitrated bandwidth
				 in KBps, instantaneous bandwidth in KBps

Optional properties:
- qcom,sleep-clk-en: GPIO for sleep clock used for low power modes by 11ad card
- qcom,wigig-en: Enable GPIO connected to 11ad card
- qcom,wigig-dc: Enable DC to DC GPIO connected to 11ad card
- qcom,use-ext-supply: Boolean flag to indicate if 11ad SIP uses external power supply
- vdd-supply: phandle to 11ad VDD regulator node
- vddio-supply: phandle to 11ad VDDIO regulator node
- vdd-ldo-supply: phandle to 11ad VDD LDO regulator node
- qcom,use-ext-clocks: Boolean flag to indicate if 11ad SIP uses external clocks
- clocks	    : List of phandle and clock specifier pairs
- clock-names       : List of clock input name strings sorted in the same
		      order as the clocks property.
- qcom,keep-radio-on-during-sleep: Boolean flag to indicate if to suspend to d3hot
				   instead of turning off the device

Example:
	wil6210: qcom,wil6210 {
		compatible = "qcom,wil6210";
		qcom,pcie-parent = <&pcie1>;
		qcom,wigig-en = <&tlmm 94 0>;
		qcom,wigig-dc = <&tlmm 81 0>;
		qcom,11ad-bus-bw,name = "wil6210";
		qcom,11ad-bus-bw,num-cases = <2>;
		qcom,11ad-bus-bw,num-paths = <1>;
		qcom,11ad-bus-bw,vectors-KBps =
			<100 512 0 0>,
			<100 512 600000 800000>; /* ~4.6Gbps (MCS12) */
		qcom,use-ext-supply;
		vdd-supply= <&pm8998_s7>;
		vddio-supply= <&pm8998_s5>;
		vdd-ldo-supply = <&pm8150_l15>;
		qcom,use-ext-clocks;
		clocks = <&clock_gcc clk_rf_clk3>,
			 <&clock_gcc clk_rf_clk3_pin>;
		clock-names = "rf_clk3_clk", "rf_clk3_pin_clk";
		qcom,keep-radio-on-during-sleep;
	};

Wil6210 client node under PCIe RP node needed for SMMU initialization by
PCI framework when devices are discovered.

Required properties:

- qcom,iommu-dma-addr-pool: specifies the base address and size of SMMU space
- qcom,iommu-dma: define the SMMU mode - bypass/fastmap/disabled
- qcom,iommu-pagetable: indicating SMMU dma and page table coherency

Example:
&pcie1_rp {
	#address-cells = <5>;
	#size-cells = <0>;

	wil6210_pci: wil6210_pci {
		reg = <0 0 0 0 0>;

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

		qcom,iommu-group = <&wil6210_pci_iommu_group>;

		wil6210_pci_iommu_group: wil6210_pci_iommu_group {
				qcom,iommu-dma-addr-pool = <0x20000000 0xe0000000>;
				qcom,iommu-dma = "fastmap";
				qcom,iommu-pagetable = "coherent";
		};
       };
};
