.. | .. |
---|
21 | 21 | |
---|
22 | 22 | SNOC based devices (i.e. wcn3990) uses compatible string "qcom,wcn3990-wifi". |
---|
23 | 23 | |
---|
24 | | -Optional properties: |
---|
25 | 24 | - reg: Address and length of the register set for the device. |
---|
26 | 25 | - reg-names: Must include the list of following reg names, |
---|
27 | 26 | "membase" |
---|
| 27 | +- interrupts: reference to the list of 17 interrupt numbers for "qcom,ipq4019-wifi" |
---|
| 28 | + compatible target. |
---|
| 29 | + reference to the list of 12 interrupt numbers for "qcom,wcn3990-wifi" |
---|
| 30 | + compatible target. |
---|
| 31 | + Must contain interrupt-names property per entry for |
---|
| 32 | + "qcom,ath10k", "qcom,ipq4019-wifi" compatible targets. |
---|
| 33 | + |
---|
| 34 | +- interrupt-names: Must include the entries for MSI interrupt |
---|
| 35 | + names ("msi0" to "msi15") and legacy interrupt |
---|
| 36 | + name ("legacy") for "qcom,ath10k", "qcom,ipq4019-wifi" |
---|
| 37 | + compatible targets. |
---|
| 38 | + |
---|
| 39 | +Optional properties: |
---|
28 | 40 | - resets: Must contain an entry for each entry in reset-names. |
---|
29 | 41 | See ../reset/reseti.txt for details. |
---|
30 | 42 | - reset-names: Must include the list of following reset names, |
---|
.. | .. |
---|
37 | 49 | - clocks: List of clock specifiers, must contain an entry for each required |
---|
38 | 50 | entry in clock-names. |
---|
39 | 51 | - clock-names: Should contain the clock names "wifi_wcss_cmd", "wifi_wcss_ref", |
---|
40 | | - "wifi_wcss_rtc". |
---|
41 | | -- interrupts: List of interrupt lines. Must contain an entry |
---|
42 | | - for each entry in the interrupt-names property. |
---|
43 | | -- interrupt-names: Must include the entries for MSI interrupt |
---|
44 | | - names ("msi0" to "msi15") and legacy interrupt |
---|
45 | | - name ("legacy"), |
---|
| 52 | + "wifi_wcss_rtc" for "qcom,ipq4019-wifi" compatible target and |
---|
| 53 | + "cxo_ref_clk_pin" and optionally "qdss" for "qcom,wcn3990-wifi" |
---|
| 54 | + compatible target. |
---|
46 | 55 | - qcom,msi_addr: MSI interrupt address. |
---|
47 | 56 | - qcom,msi_base: Base value to add before writing MSI data into |
---|
48 | 57 | MSI address register. |
---|
.. | .. |
---|
55 | 64 | - qcom,ath10k-pre-calibration-data : pre calibration data as an array, |
---|
56 | 65 | the length can vary between hw versions. |
---|
57 | 66 | - <supply-name>-supply: handle to the regulator device tree node |
---|
58 | | - optional "supply-name" is "vdd-0.8-cx-mx". |
---|
| 67 | + optional "supply-name" are "vdd-0.8-cx-mx", |
---|
| 68 | + "vdd-1.8-xo", "vdd-1.3-rfa", "vdd-3.3-ch0", |
---|
| 69 | + and "vdd-3.3-ch1". |
---|
| 70 | +- memory-region: |
---|
| 71 | + Usage: optional |
---|
| 72 | + Value type: <phandle> |
---|
| 73 | + Definition: reference to the reserved-memory for the msa region |
---|
| 74 | + used by the wifi firmware running in Q6. |
---|
| 75 | +- iommus: |
---|
| 76 | + Usage: optional |
---|
| 77 | + Value type: <prop-encoded-array> |
---|
| 78 | + Definition: A list of phandle and IOMMU specifier pairs. |
---|
| 79 | +- ext-fem-name: |
---|
| 80 | + Usage: Optional |
---|
| 81 | + Value type: string |
---|
| 82 | + Definition: Name of external front end module used. Some valid FEM names |
---|
| 83 | + for example: "microsemi-lx5586", "sky85703-11" |
---|
| 84 | + and "sky85803" etc. |
---|
| 85 | +- qcom,snoc-host-cap-8bit-quirk: |
---|
| 86 | + Usage: Optional |
---|
| 87 | + Value type: <empty> |
---|
| 88 | + Definition: Quirk specifying that the firmware expects the 8bit version |
---|
| 89 | + of the host capability QMI request |
---|
| 90 | +- qcom,xo-cal-data: xo cal offset to be configured in xo trim register. |
---|
59 | 91 | |
---|
60 | | -Example (to supply the calibration data alone): |
---|
| 92 | +- qcom,msa-fixed-perm: Boolean context flag to disable SCM call for statically |
---|
| 93 | + mapped msa region. |
---|
| 94 | + |
---|
| 95 | +- qcom,coexist-support : should contain eithr "0" or "1" to indicate coex |
---|
| 96 | + support by the hardware. |
---|
| 97 | +- qcom,coexist-gpio-pin : gpio pin number information to support coex |
---|
| 98 | + which will be used by wifi firmware. |
---|
| 99 | + |
---|
| 100 | +* Subnodes |
---|
| 101 | +The ath10k wifi node can contain one optional firmware subnode. |
---|
| 102 | +Firmware subnode is needed when the platform does not have TustZone. |
---|
| 103 | +The firmware subnode must have: |
---|
| 104 | + |
---|
| 105 | +- iommus: |
---|
| 106 | + Usage: required |
---|
| 107 | + Value type: <prop-encoded-array> |
---|
| 108 | + Definition: A list of phandle and IOMMU specifier pairs. |
---|
| 109 | + |
---|
| 110 | + |
---|
| 111 | +Example (to supply PCI based wifi block details): |
---|
61 | 112 | |
---|
62 | 113 | In this example, the node is defined as child node of the PCI controller. |
---|
63 | 114 | |
---|
.. | .. |
---|
69 | 120 | #address-cells = <3>; |
---|
70 | 121 | device_type = "pci"; |
---|
71 | 122 | |
---|
72 | | - ath10k@0,0 { |
---|
| 123 | + wifi@0,0 { |
---|
73 | 124 | reg = <0 0 0 0 0>; |
---|
74 | | - device_type = "pci"; |
---|
75 | 125 | qcom,ath10k-calibration-data = [ 01 02 03 ... ]; |
---|
| 126 | + ext-fem-name = "microsemi-lx5586"; |
---|
76 | 127 | }; |
---|
77 | 128 | }; |
---|
78 | 129 | }; |
---|
.. | .. |
---|
125 | 176 | qcom,msi_addr = <0x0b006040>; |
---|
126 | 177 | qcom,msi_base = <0x40>; |
---|
127 | 178 | qcom,ath10k-pre-calibration-data = [ 01 02 03 ... ]; |
---|
| 179 | + qcom,coexist-support = <1>; |
---|
| 180 | + qcom,coexist-gpio-pin = <0x33>; |
---|
128 | 181 | }; |
---|
129 | 182 | |
---|
130 | 183 | Example (to supply wcn3990 SoC wifi block details): |
---|
.. | .. |
---|
133 | 186 | compatible = "qcom,wcn3990-wifi"; |
---|
134 | 187 | reg = <0x18800000 0x800000>; |
---|
135 | 188 | reg-names = "membase"; |
---|
136 | | - clocks = <&clock_gcc clk_aggre2_noc_clk>; |
---|
137 | | - clock-names = "smmu_aggre2_noc_clk" |
---|
| 189 | + clocks = <&clock_gcc clk_rf_clk2_pin>; |
---|
| 190 | + clock-names = "cxo_ref_clk_pin"; |
---|
138 | 191 | interrupts = |
---|
139 | | - <0 130 0 /* CE0 */ >, |
---|
140 | | - <0 131 0 /* CE1 */ >, |
---|
141 | | - <0 132 0 /* CE2 */ >, |
---|
142 | | - <0 133 0 /* CE3 */ >, |
---|
143 | | - <0 134 0 /* CE4 */ >, |
---|
144 | | - <0 135 0 /* CE5 */ >, |
---|
145 | | - <0 136 0 /* CE6 */ >, |
---|
146 | | - <0 137 0 /* CE7 */ >, |
---|
147 | | - <0 138 0 /* CE8 */ >, |
---|
148 | | - <0 139 0 /* CE9 */ >, |
---|
149 | | - <0 140 0 /* CE10 */ >, |
---|
150 | | - <0 141 0 /* CE11 */ >; |
---|
| 192 | + <GIC_SPI 414 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 193 | + <GIC_SPI 415 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 194 | + <GIC_SPI 416 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 195 | + <GIC_SPI 417 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 196 | + <GIC_SPI 418 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 197 | + <GIC_SPI 419 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 198 | + <GIC_SPI 420 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 199 | + <GIC_SPI 421 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 200 | + <GIC_SPI 422 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 201 | + <GIC_SPI 423 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 202 | + <GIC_SPI 424 IRQ_TYPE_LEVEL_HIGH>, |
---|
| 203 | + <GIC_SPI 425 IRQ_TYPE_LEVEL_HIGH>; |
---|
151 | 204 | vdd-0.8-cx-mx-supply = <&pm8998_l5>; |
---|
| 205 | + vdd-1.8-xo-supply = <&vreg_l7a_1p8>; |
---|
| 206 | + vdd-1.3-rfa-supply = <&vreg_l17a_1p3>; |
---|
| 207 | + vdd-3.3-ch0-supply = <&vreg_l25a_3p3>; |
---|
| 208 | + vdd-3.3-ch1-supply = <&vreg_l26a_3p3>; |
---|
| 209 | + memory-region = <&wifi_msa_mem>; |
---|
| 210 | + iommus = <&apps_smmu 0x0040 0x1>; |
---|
| 211 | + qcom,msa-fixed-perm; |
---|
| 212 | + wifi-firmware { |
---|
| 213 | + iommus = <&apps_iommu 0xc22 0x1>; |
---|
| 214 | + }; |
---|
152 | 215 | }; |
---|