* Qualcomm Technologies Inc Q6 Integrated connectivity Platform Driver This platform driver adds support for the Integrated WLAN that runs on Q6 based platforms. WLAN FW on these architecture runs on Q6. This platform driver communicates with WLAN FW over QMI, WLAN on/off messages to FW are communicated thru this interface. This driver also listens to WLAN PD restart notifications. Required properties: - compatible: "qcom,icnss" - reg: Memory regions defined as starting address and size - reg-names: Names of the memory regions defined in reg entry - interrupts: Copy engine interrupt table - qcom,wlan-msa-memory: MSA memory size - clocks: List of clock phandles - clock-names: List of clock names corresponding to the "clocks" property - iommus: SMMUs and corresponding Stream IDs needed by WLAN - qcom,wlan-smmu-iova-address: I/O virtual address range as format to be used for allocations associated between WLAN and SMMU Optional properties: - -supply: phandle to the regulator device tree node optional "supply-name" is "vdd-0.8-cx-mx". - qcom,-config: Specifies voltage levels for supply. Should be specified in pairs (min, max), units uV. There can be optional load in uA and Regulator settle delay in uS. - qcom,icnss-vadc: VADC handle for vph_pwr read APIs. - qcom,icnss-adc_tm: VADC handle for vph_pwr notification APIs. - io-channels: IIO channel to monitor for vph_pwr power. - io-channel-names: IIO channel name as per the client name. - qcom,smmu-s1-bypass: Boolean context flag to set SMMU to S1 bypass - qcom,wlan-msa-fixed-region: phandle, specifier pairs to children of /reserved-memory - qcom,hyp_disabled: Boolean context flag to disable hyperviser - qcom,clk-monitor-enable: Boolean context flag to enable monitoring external clock WLAN SMP2P sub nodes - qcom,smp2p_map_wlan_1_in - represents the in smp2p to wlan driver from modem. Example: qcom,icnss@0a000000 { compatible = "qcom,icnss"; reg = <0x0a000000 0x1000000>; reg-names = "membase"; clocks = <&clock_gcc clk_aggre2_noc_clk>; clock-names = "smmu_aggre2_noc_clk"; iommus = <&anoc2_smmu 0x1900>, <&anoc2_smmu 0x1901>; qcom,wlan-smmu-iova-address = <0 0x10000000>; interrupts = <0 130 0 /* CE0 */ >, <0 131 0 /* CE1 */ >, <0 132 0 /* CE2 */ >, <0 133 0 /* CE3 */ >, <0 134 0 /* CE4 */ >, <0 135 0 /* CE5 */ >, <0 136 0 /* CE6 */ >, <0 137 0 /* CE7 */ >, <0 138 0 /* CE8 */ >, <0 139 0 /* CE9 */ >, <0 140 0 /* CE10 */ >, <0 141 0 /* CE11 */ >; qcom,wlan-msa-memory = <0x200000>; qcom,wlan-msa-fixed-region = <&wlan_msa_mem>; qcom,smmu-s1-bypass; vdd-0.8-cx-mx-supply = <&pm8998_l5>; qcom,vdd-0.8-cx-mx-config = <800000 800000 2400 1000>; qcom,hyp_disabled; qcom,smp2p_map_wlan_1_in { interrupts-extended = <&smp2p_wlan_1_in 0 0>, <&smp2p_wlan_1_in 1 0>; interrupt-names = "qcom,smp2p-force-fatal-error", "qcom,smp2p-early-crash-ind"; }; };