Loading Documentation/devicetree/bindings/cnss/icnss.txt 0 → 100644 +58 −0 Original line number Diff line number Diff line * 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 <start length> format to be used for allocations associated between WLAN and SMMU - <supply-name>-supply: phandle to the regulator device tree node Required "supply-name" is "vdd-0.8-cx-mx". - qcom,<supply>-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. Optional properties: - qcom,icnss-vadc: VADC handle for vph_pwr read APIs. - qcom,icnss-adc_tm: VADC handle for vph_pwr notification APIs. 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>; vdd-0.8-cx-mx-supply = <&pm8998_l5>; qcom,vdd-0.8-cx-mx-config = <800000 800000 2400 1000>; }; drivers/soc/qcom/Kconfig +17 −0 Original line number Diff line number Diff line Loading @@ -433,3 +433,20 @@ config MSM_PIL_MSS_QDSP6V5 calls then say Y here. If unsure, say N. config ICNSS tristate "Platform driver for Q6 integrated connectivity" ---help--- This module adds support for Q6 integrated WLAN connectivity subsystem. This module is responsible for communicating WLAN on/off control messages to FW over QMI channel. It is also responsible for handling WLAN PD restart notifications. config ICNSS_DEBUG bool "ICNSS debug support" depends on ICNSS ---help--- Say 'Y' here to enable ICNSS driver debug support. Debug support primarily consists of logs consisting of information related to hardware register access and enabling BUG_ON for certain cases to aid the debugging. No newline at end of file drivers/soc/qcom/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ obj-$(CONFIG_MSM_GLINK_PKT) += msm_glink_pkt.o obj-$(CONFIG_MSM_SYSTEM_HEALTH_MONITOR) += system_health_monitor_v01.o obj-$(CONFIG_MSM_SYSTEM_HEALTH_MONITOR) += system_health_monitor.o obj-$(CONFIG_MSM_SYSMON_GLINK_COMM) += sysmon-glink.o sysmon-qmi.o obj-$(CONFIG_ICNSS) += icnss.o wlan_firmware_service_v01.o icnss_utils.o obj-$(CONFIG_MSM_PIL_SSR_GENERIC) += subsys-pil-tz.o obj-$(CONFIG_MSM_PIL_MSS_QDSP6V5) += pil-q6v5.o pil-msa.o pil-q6v5-mss.o Loading Loading
Documentation/devicetree/bindings/cnss/icnss.txt 0 → 100644 +58 −0 Original line number Diff line number Diff line * 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 <start length> format to be used for allocations associated between WLAN and SMMU - <supply-name>-supply: phandle to the regulator device tree node Required "supply-name" is "vdd-0.8-cx-mx". - qcom,<supply>-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. Optional properties: - qcom,icnss-vadc: VADC handle for vph_pwr read APIs. - qcom,icnss-adc_tm: VADC handle for vph_pwr notification APIs. 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>; vdd-0.8-cx-mx-supply = <&pm8998_l5>; qcom,vdd-0.8-cx-mx-config = <800000 800000 2400 1000>; };
drivers/soc/qcom/Kconfig +17 −0 Original line number Diff line number Diff line Loading @@ -433,3 +433,20 @@ config MSM_PIL_MSS_QDSP6V5 calls then say Y here. If unsure, say N. config ICNSS tristate "Platform driver for Q6 integrated connectivity" ---help--- This module adds support for Q6 integrated WLAN connectivity subsystem. This module is responsible for communicating WLAN on/off control messages to FW over QMI channel. It is also responsible for handling WLAN PD restart notifications. config ICNSS_DEBUG bool "ICNSS debug support" depends on ICNSS ---help--- Say 'Y' here to enable ICNSS driver debug support. Debug support primarily consists of logs consisting of information related to hardware register access and enabling BUG_ON for certain cases to aid the debugging. No newline at end of file
drivers/soc/qcom/Makefile +1 −0 Original line number Diff line number Diff line Loading @@ -43,6 +43,7 @@ obj-$(CONFIG_MSM_GLINK_PKT) += msm_glink_pkt.o obj-$(CONFIG_MSM_SYSTEM_HEALTH_MONITOR) += system_health_monitor_v01.o obj-$(CONFIG_MSM_SYSTEM_HEALTH_MONITOR) += system_health_monitor.o obj-$(CONFIG_MSM_SYSMON_GLINK_COMM) += sysmon-glink.o sysmon-qmi.o obj-$(CONFIG_ICNSS) += icnss.o wlan_firmware_service_v01.o icnss_utils.o obj-$(CONFIG_MSM_PIL_SSR_GENERIC) += subsys-pil-tz.o obj-$(CONFIG_MSM_PIL_MSS_QDSP6V5) += pil-q6v5.o pil-msa.o pil-q6v5-mss.o Loading