375 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/net/wireless/qcom,ath10k.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm Technologies ath10k wireless devices8 9maintainers:10 - Kalle Valo <kvalo@kernel.org>11 - Jeff Johnson <jjohnson@kernel.org>12 13description:14 Qualcomm Technologies, Inc. IEEE 802.11ac devices.15 16properties:17 compatible:18 enum:19 - qcom,ath10k # SDIO-based devices20 - qcom,ipq4019-wifi21 - qcom,wcn3990-wifi # SNoC-based devices22 23 reg:24 maxItems: 125 26 reg-names:27 items:28 - const: membase29 30 interrupts:31 minItems: 1232 maxItems: 1733 34 interrupt-names:35 minItems: 1236 maxItems: 1737 38 memory-region:39 maxItems: 140 description:41 Reference to the MSA memory region used by the Wi-Fi firmware42 running on the Q6 core.43 44 iommus:45 minItems: 146 maxItems: 247 48 clocks:49 minItems: 150 maxItems: 351 52 clock-names:53 minItems: 154 maxItems: 355 56 resets:57 maxItems: 658 59 reset-names:60 items:61 - const: wifi_cpu_init62 - const: wifi_radio_srif63 - const: wifi_radio_warm64 - const: wifi_radio_cold65 - const: wifi_core_warm66 - const: wifi_core_cold67 68 ext-fem-name:69 $ref: /schemas/types.yaml#/definitions/string70 description: Name of external front end module used.71 enum:72 - microsemi-lx558673 - sky85703-1174 - sky8580375 76 firmware-name:77 maxItems: 178 description:79 If present, a board or platform specific string used to lookup firmware80 files for the device.81 82 wifi-firmware:83 type: object84 additionalProperties: false85 description: |86 The ath10k Wi-Fi node can contain one optional firmware subnode.87 Firmware subnode is needed when the platform does not have Trustzone.88 properties:89 iommus:90 maxItems: 191 required:92 - iommus93 94 ieee80211-freq-limit: true95 96 qcom,ath10k-calibration-data:97 $ref: /schemas/types.yaml#/definitions/uint8-array98 description:99 Calibration data + board-specific data as a byte array. The length100 can vary between hardware versions.101 102 qcom,ath10k-calibration-variant:103 $ref: /schemas/types.yaml#/definitions/string104 description:105 Unique variant identifier of the calibration data in board-2.bin106 for designs with colliding bus and device specific ids107 108 qcom,ath10k-pre-calibration-data:109 $ref: /schemas/types.yaml#/definitions/uint8-array110 description:111 Pre-calibration data as a byte array. The length can vary between112 hardware versions.113 114 qcom,coexist-support:115 $ref: /schemas/types.yaml#/definitions/uint8116 enum: [0, 1]117 description:118 Indicate coex support by the hardware.119 120 qcom,coexist-gpio-pin:121 $ref: /schemas/types.yaml#/definitions/uint32122 description:123 COEX GPIO number provided to the Wi-Fi firmware.124 125 qcom,msa-fixed-perm:126 type: boolean127 description:128 Whether to skip executing an SCM call that reassigns the memory129 region ownership.130 131 qcom,no-msa-ready-indicator:132 type: boolean133 description:134 Don't wait for MSA_READY indicator to complete init.135 136 qcom,smem-states:137 $ref: /schemas/types.yaml#/definitions/phandle-array138 description: State bits used by the AP to signal the WLAN Q6.139 items:140 - description: Signal bits used to enable/disable low power mode141 on WCN in the case of WoW (Wake on Wireless).142 143 qcom,smem-state-names:144 description: The names of the state bits used for SMP2P output.145 items:146 - const: wlan-smp2p-out147 148 qcom,snoc-host-cap-8bit-quirk:149 type: boolean150 description:151 Quirk specifying that the firmware expects the 8bit version152 of the host capability QMI request153 154 qcom,xo-cal-data:155 $ref: /schemas/types.yaml#/definitions/uint32156 description:157 XO cal offset to be configured in XO trim register.158 159 vdd-0.8-cx-mx-supply:160 description: Main logic power rail161 162 vdd-1.8-xo-supply:163 description: Crystal oscillator supply164 165 vdd-1.3-rfa-supply:166 description: RFA supply167 168 vdd-3.3-ch0-supply:169 description: Primary Wi-Fi antenna supply170 171 vdd-3.3-ch1-supply:172 description: Secondary Wi-Fi antenna supply173 174required:175 - compatible176 - reg177 178additionalProperties: false179 180allOf:181 - $ref: ieee80211.yaml#182 - if:183 properties:184 compatible:185 contains:186 enum:187 - qcom,ipq4019-wifi188 then:189 properties:190 interrupts:191 minItems: 17192 maxItems: 17193 194 interrupt-names:195 items:196 - const: msi0197 - const: msi1198 - const: msi2199 - const: msi3200 - const: msi4201 - const: msi5202 - const: msi6203 - const: msi7204 - const: msi8205 - const: msi9206 - const: msi10207 - const: msi11208 - const: msi12209 - const: msi13210 - const: msi14211 - const: msi15212 - const: legacy213 214 clocks:215 items:216 - description: Wi-Fi command clock217 - description: Wi-Fi reference clock218 - description: Wi-Fi RTC clock219 220 clock-names:221 items:222 - const: wifi_wcss_cmd223 - const: wifi_wcss_ref224 - const: wifi_wcss_rtc225 226 required:227 - clocks228 - clock-names229 - interrupts230 - interrupt-names231 - resets232 - reset-names233 234 - if:235 properties:236 compatible:237 contains:238 enum:239 - qcom,wcn3990-wifi240 241 then:242 properties:243 clocks:244 minItems: 1245 items:246 - description: XO reference clock247 - description: Qualcomm Debug Subsystem clock248 249 clock-names:250 minItems: 1251 items:252 - const: cxo_ref_clk_pin253 - const: qdss254 255 interrupts:256 items:257 - description: CE0258 - description: CE1259 - description: CE2260 - description: CE3261 - description: CE4262 - description: CE5263 - description: CE6264 - description: CE7265 - description: CE8266 - description: CE9267 - description: CE10268 - description: CE11269 270 interrupt-names: false271 272 required:273 - interrupts274 275examples:276 # SNoC277 - |278 #include <dt-bindings/clock/qcom,rpmcc.h>279 #include <dt-bindings/interrupt-controller/arm-gic.h>280 281 wifi@18800000 {282 compatible = "qcom,wcn3990-wifi";283 reg = <0x18800000 0x800000>;284 reg-names = "membase";285 memory-region = <&wlan_msa_mem>;286 clocks = <&rpmcc RPM_SMD_RF_CLK2_PIN>;287 clock-names = "cxo_ref_clk_pin";288 interrupts = <GIC_SPI 413 IRQ_TYPE_LEVEL_HIGH>,289 <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>,290 <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>,291 <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>,292 <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>,293 <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>,294 <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>,295 <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>,296 <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>,297 <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>,298 <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>,299 <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>;300 iommus = <&anoc2_smmu 0x1900>,301 <&anoc2_smmu 0x1901>;302 qcom,snoc-host-cap-8bit-quirk;303 vdd-0.8-cx-mx-supply = <&vreg_l5a_0p8>;304 vdd-1.8-xo-supply = <&vreg_l7a_1p8>;305 vdd-1.3-rfa-supply = <&vreg_l17a_1p3>;306 vdd-3.3-ch0-supply = <&vreg_l25a_3p3>;307 vdd-3.3-ch1-supply = <&vreg_l23a_3p3>;308 309 wifi-firmware {310 iommus = <&apps_smmu 0x1c02 0x1>;311 };312 };313 314 # AHB315 - |316 #include <dt-bindings/clock/qcom,gcc-ipq4019.h>317 318 wifi@a000000 {319 compatible = "qcom,ipq4019-wifi";320 reg = <0xa000000 0x200000>;321 resets = <&gcc WIFI0_CPU_INIT_RESET>,322 <&gcc WIFI0_RADIO_SRIF_RESET>,323 <&gcc WIFI0_RADIO_WARM_RESET>,324 <&gcc WIFI0_RADIO_COLD_RESET>,325 <&gcc WIFI0_CORE_WARM_RESET>,326 <&gcc WIFI0_CORE_COLD_RESET>;327 reset-names = "wifi_cpu_init",328 "wifi_radio_srif",329 "wifi_radio_warm",330 "wifi_radio_cold",331 "wifi_core_warm",332 "wifi_core_cold";333 clocks = <&gcc GCC_WCSS2G_CLK>,334 <&gcc GCC_WCSS2G_REF_CLK>,335 <&gcc GCC_WCSS2G_RTC_CLK>;336 clock-names = "wifi_wcss_cmd",337 "wifi_wcss_ref",338 "wifi_wcss_rtc";339 interrupts = <GIC_SPI 32 IRQ_TYPE_EDGE_RISING>,340 <GIC_SPI 33 IRQ_TYPE_EDGE_RISING>,341 <GIC_SPI 34 IRQ_TYPE_EDGE_RISING>,342 <GIC_SPI 35 IRQ_TYPE_EDGE_RISING>,343 <GIC_SPI 36 IRQ_TYPE_EDGE_RISING>,344 <GIC_SPI 37 IRQ_TYPE_EDGE_RISING>,345 <GIC_SPI 38 IRQ_TYPE_EDGE_RISING>,346 <GIC_SPI 39 IRQ_TYPE_EDGE_RISING>,347 <GIC_SPI 40 IRQ_TYPE_EDGE_RISING>,348 <GIC_SPI 41 IRQ_TYPE_EDGE_RISING>,349 <GIC_SPI 42 IRQ_TYPE_EDGE_RISING>,350 <GIC_SPI 43 IRQ_TYPE_EDGE_RISING>,351 <GIC_SPI 44 IRQ_TYPE_EDGE_RISING>,352 <GIC_SPI 45 IRQ_TYPE_EDGE_RISING>,353 <GIC_SPI 46 IRQ_TYPE_EDGE_RISING>,354 <GIC_SPI 47 IRQ_TYPE_EDGE_RISING>,355 <GIC_SPI 168 IRQ_TYPE_LEVEL_HIGH>;356 interrupt-names = "msi0",357 "msi1",358 "msi2",359 "msi3",360 "msi4",361 "msi5",362 "msi6",363 "msi7",364 "msi8",365 "msi9",366 "msi10",367 "msi11",368 "msi12",369 "msi13",370 "msi14",371 "msi15",372 "legacy";373 ieee80211-freq-limit = <5470000 5875000>;374 };375