~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

  1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
  2 # Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
  3 %YAML 1.2
  4 ---
  5 $id: http://devicetree.org/schemas/net/wireless/mediatek,mt76.yaml#
  6 $schema: http://devicetree.org/meta-schemas/core.yaml#
  7 
  8 title: MediaTek mt76 wireless devices
  9 
 10 maintainers:
 11   - Felix Fietkau <nbd@nbd.name>
 12   - Lorenzo Bianconi <lorenzo@kernel.org>
 13   - Ryder Lee <ryder.lee@mediatek.com>
 14 
 15 description: |
 16   This node provides properties for configuring the MediaTek mt76xx
 17   wireless device. The node is expected to be specified as a child
 18   node of the PCI controller to which the wireless chip is connected.
 19   Alternatively, it can specify the wireless part of the MT7628/MT7688
 20   or MT7622/MT7986 SoC.
 21 
 22 properties:
 23   compatible:
 24     enum:
 25       - mediatek,mt76
 26       - mediatek,mt7628-wmac
 27       - mediatek,mt7622-wmac
 28       - mediatek,mt7981-wmac
 29       - mediatek,mt7986-wmac
 30 
 31   reg:
 32     minItems: 1
 33     maxItems: 3
 34     description:
 35       MT7986 should contain 3 regions consys, dcm, and sku, in this order.
 36 
 37   interrupts:
 38     minItems: 1
 39     items:
 40       - description: major interrupt for rings
 41       - description: additional interrupt for ring 19
 42       - description: additional interrupt for ring 4
 43       - description: additional interrupt for ring 5
 44 
 45   power-domains:
 46     maxItems: 1
 47 
 48   memory-region:
 49     maxItems: 1
 50 
 51   resets:
 52     maxItems: 1
 53     description:
 54       Specify the consys reset for mt7986.
 55 
 56   reset-names:
 57     const: consys
 58 
 59   clocks:
 60     maxItems: 2
 61     description:
 62       Specify the consys clocks for mt7986.
 63 
 64   clock-names:
 65     items:
 66       - const: mcu
 67       - const: ap2conn
 68 
 69   mediatek,infracfg:
 70     $ref: /schemas/types.yaml#/definitions/phandle
 71     description:
 72       Phandle to the infrastructure bus fabric syscon node.
 73       This property is MT7622 specific
 74 
 75   ieee80211-freq-limit: true
 76 
 77   nvmem-cells:
 78     items:
 79       - description: NVMEM cell with EEPROM
 80 
 81   nvmem-cell-names:
 82     items:
 83       - const: eeprom
 84 
 85   mediatek,eeprom-data:
 86     $ref: /schemas/types.yaml#/definitions/uint32-array
 87     description:
 88       EEPROM data embedded as array.
 89 
 90   mediatek,mtd-eeprom:
 91     $ref: /schemas/types.yaml#/definitions/phandle-array
 92     items:
 93       - items:
 94           - description: phandle to MTD partition
 95           - description: offset containing EEPROM data
 96     description:
 97       Phandle to a MTD partition + offset containing EEPROM data
 98     deprecated: true
 99 
100   big-endian:
101     $ref: /schemas/types.yaml#/definitions/flag
102     description:
103       Specify if the radio eeprom partition is written in big-endian
104 
105   mediatek,eeprom-merge-otp:
106     type: boolean
107     description:
108       Merge EEPROM data with OTP data. Can be used on boards where the flash
109       calibration data is generic and specific calibration data should be
110       pulled from the OTP ROM
111 
112   mediatek,disable-radar-background:
113     type: boolean
114     description:
115       Disable/enable radar/CAC detection running on a dedicated offchannel
116       chain available on some hw.
117       Background radar/CAC detection allows to avoid the CAC downtime
118       switching on a different channel during CAC detection on the selected
119       radar channel.
120 
121   led:
122     type: object
123     $ref: /schemas/leds/common.yaml#
124     additionalProperties: false
125     properties:
126       led-active-low:
127         description:
128           LED is enabled with ground signal.
129         type: boolean
130 
131       led-sources:
132         maxItems: 1
133 
134   power-limits:
135     type: object
136     additionalProperties: false
137     patternProperties:
138       "^r[0-9]+":
139         type: object
140         additionalProperties: false
141         properties:
142           regdomain:
143             $ref: /schemas/types.yaml#/definitions/string
144             description:
145               Regdomain refers to a legal regulatory region. Different
146               countries define different levels of allowable transmitter
147               power, time that a channel can be occupied, and different
148               available channels
149             enum:
150               - FCC
151               - ETSI
152               - JP
153 
154         patternProperties:
155           "^txpower-[256]g$":
156             type: object
157             additionalProperties: false
158             patternProperties:
159               "^b[0-9]+$":
160                 type: object
161                 additionalProperties: false
162                 properties:
163                   channels:
164                     $ref: /schemas/types.yaml#/definitions/uint32-array
165                     minItems: 2
166                     maxItems: 2
167                     description:
168                       Pairs of first and last channel number of the selected
169                       band
170 
171                   rates-cck:
172                     $ref: /schemas/types.yaml#/definitions/uint8-array
173                     minItems: 4
174                     maxItems: 4
175                     description:
176                       4 half-dBm per-rate power limit values
177 
178                   rates-ofdm:
179                     $ref: /schemas/types.yaml#/definitions/uint8-array
180                     minItems: 8
181                     maxItems: 8
182                     description:
183                       8 half-dBm per-rate power limit values
184 
185                   rates-mcs:
186                     $ref: /schemas/types.yaml#/definitions/uint8-matrix
187                     description:
188                       Sets of per-rate power limit values for 802.11n/802.11ac
189                       rates for multiple channel bandwidth settings.
190                       Each set starts with the number of channel bandwidth
191                       settings for which the rate set applies, followed by
192                       either 8 or 10 power limit values. The order of the
193                       channel bandwidth settings is 20, 40, 80 and 160 MHz.
194                     maxItems: 4
195                     items:
196                       minItems: 9
197                       maxItems: 11
198 
199                   rates-ru:
200                     $ref: /schemas/types.yaml#/definitions/uint8-matrix
201                     description:
202                       Sets of per-rate power limit values for 802.11ax rates
203                       for multiple channel bandwidth or resource unit settings.
204                       Each set starts with the number of channel bandwidth or
205                       resource unit settings for which the rate set applies,
206                       followed by 12 power limit values. The order of the
207                       channel resource unit settings is RU26, RU52, RU106,
208                       RU242/SU20, RU484/SU40, RU996/SU80 and RU2x996/SU160.
209                     items:
210                       minItems: 13
211                       maxItems: 13
212 
213                   txs-delta:
214                     $ref: /schemas/types.yaml#/definitions/uint32-array
215                     description:
216                       Half-dBm power delta for different numbers of antennas
217 
218 required:
219   - compatible
220   - reg
221 
222 allOf:
223   - $ref: ieee80211.yaml#
224   - if:
225       properties:
226         compatible:
227           contains:
228             enum:
229               - mediatek,mt7981-wmac
230               - mediatek,mt7986-wmac
231     then:
232       properties:
233         interrupts:
234           minItems: 4
235     else:
236       properties:
237         interrupts:
238           maxItems: 1
239 
240 unevaluatedProperties: false
241 
242 examples:
243   - |
244     pcie0 {
245       #address-cells = <3>;
246       #size-cells = <2>;
247       wifi@0,0 {
248         compatible = "mediatek,mt76";
249         reg = <0x0000 0 0 0 0>;
250         ieee80211-freq-limit = <5000000 6000000>;
251         mediatek,mtd-eeprom = <&factory 0x8000>;
252         big-endian;
253 
254         led {
255           led-sources = <2>;
256         };
257 
258         power-limits {
259           r0 {
260             regdomain = "FCC";
261             txpower-5g {
262                b0 {
263                    channels = <36 48>;
264                    rates-ofdm = /bits/ 8 <23 23 23 23 23 23 23 23>;
265                    rates-mcs = /bits/ 8 <1 23 23 23 23 23 23 23 23 23 23>,
266                                /bits/ 8 <3 22 22 22 22 22 22 22 22 22 22>;
267                    rates-ru = /bits/ 8 <3 22 22 22 22 22 22 22 22 22 22 22 22>,
268                               /bits/ 8 <4 20 20 20 20 20 20 20 20 20 20 20 20>;
269                };
270                b1 {
271                    channels = <100 181>;
272                    rates-ofdm = /bits/ 8 <14 14 14 14 14 14 14 14>;
273                    rates-mcs = /bits/ 8  <4 14 14 14 14 14 14 14 14 14 14>;
274                    txs-delta = <12 9 6>;
275                    rates-ru = /bits/ 8  <7 14 14 14 14 14 14 14 14 14 14 14 14>;
276                };
277              };
278           };
279         };
280       };
281     };
282 
283   - |
284     wifi@10300000 {
285       compatible = "mediatek,mt7628-wmac";
286       reg = <0x10300000 0x100000>;
287 
288       interrupt-parent = <&cpuintc>;
289       interrupts = <6>;
290 
291       nvmem-cells = <&eeprom>;
292       nvmem-cell-names = "eeprom";
293     };
294 
295   - |
296     #include <dt-bindings/interrupt-controller/arm-gic.h>
297     #include <dt-bindings/interrupt-controller/irq.h>
298     wifi@18000000 {
299       compatible = "mediatek,mt7622-wmac";
300       reg = <0x10300000 0x100000>;
301       interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>;
302 
303       mediatek,infracfg = <&infracfg>;
304 
305       power-domains = <&scpsys 3>;
306     };
307 
308   - |
309     wifi@18000000 {
310         compatible = "mediatek,mt7986-wmac";
311         resets = <&watchdog 23>;
312         reset-names = "consys";
313         reg = <0x18000000 0x1000000>,
314               <0x10003000 0x1000>,
315               <0x11d10000 0x1000>;
316         interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>,
317                      <GIC_SPI 214 IRQ_TYPE_LEVEL_HIGH>,
318                      <GIC_SPI 215 IRQ_TYPE_LEVEL_HIGH>,
319                      <GIC_SPI 216 IRQ_TYPE_LEVEL_HIGH>;
320         clocks = <&topckgen 50>,
321                  <&topckgen 62>;
322         clock-names = "mcu", "ap2conn";
323         memory-region = <&wmcpu_emi>;
324     };

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php