1 # SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
2 # Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
6 $id: http://devicetree.org/schemas/net/wireless/mediatek,mt76.yaml#
7 $schema: http://devicetree.org/meta-schemas/core.yaml#
9 title: MediaTek mt76 wireless devices Generic Binding
12 - Felix Fietkau <nbd@nbd.name>
13 - Lorenzo Bianconi <lorenzo@kernel.org>
14 - Ryder Lee <ryder.lee@mediatek.com>
17 This node provides properties for configuring the MediaTek mt76xx
18 wireless device. The node is expected to be specified as a child
19 node of the PCI controller to which the wireless chip is connected.
20 Alternatively, it can specify the wireless part of the MT7628/MT7688
24 - $ref: ieee80211.yaml#
30 - mediatek,mt7628-wmac
31 - mediatek,mt7622-wmac
32 - mediatek,mt7986-wmac
38 MT7986 should contain 3 regions consys, dcm, and sku, in this order.
52 Specify the consys reset for mt7986.
58 $ref: /schemas/types.yaml#/definitions/phandle
60 Phandle to the infrastructure bus fabric syscon node.
61 This property is MT7622 specific
63 ieee80211-freq-limit: true
66 $ref: /schemas/types.yaml#/definitions/uint32-array
68 EEPROM data embedded as array.
71 $ref: /schemas/types.yaml#/definitions/phandle-array
74 - description: phandle to MTD partition
75 - description: offset containing EEPROM data
77 Phandle to a MTD partition + offset containing EEPROM data
80 $ref: /schemas/types.yaml#/definitions/flag
82 Specify if the radio eeprom partition is written in big-endian
84 mediatek,eeprom-merge-otp:
87 Merge EEPROM data with OTP data. Can be used on boards where the flash
88 calibration data is generic and specific calibration data should be
89 pulled from the OTP ROM
91 mediatek,disable-radar-background:
94 Disable/enable radar/CAC detection running on a dedicated offchannel
95 chain available on some hw.
96 Background radar/CAC detection allows to avoid the CAC downtime
97 switching on a different channel during CAC detection on the selected
102 $ref: /schemas/leds/common.yaml#
103 additionalProperties: false
110 additionalProperties: false
114 additionalProperties: false
117 $ref: /schemas/types.yaml#/definitions/string
119 Regdomain refers to a legal regulatory region. Different
120 countries define different levels of allowable transmitter
121 power, time that a channel can be occupied, and different
131 additionalProperties: false
135 additionalProperties: false
138 $ref: /schemas/types.yaml#/definitions/uint32-array
142 Pairs of first and last channel number of the selected
146 $ref: /schemas/types.yaml#/definitions/uint8-array
150 4 half-dBm per-rate power limit values
153 $ref: /schemas/types.yaml#/definitions/uint8-array
157 8 half-dBm per-rate power limit values
160 $ref: /schemas/types.yaml#/definitions/uint8-matrix
162 Sets of per-rate power limit values for 802.11n/802.11ac
163 rates for multiple channel bandwidth settings.
164 Each set starts with the number of channel bandwidth
165 settings for which the rate set applies, followed by
166 either 8 or 10 power limit values. The order of the
167 channel bandwidth settings is 20, 40, 80 and 160 MHz.
174 $ref: /schemas/types.yaml#/definitions/uint8-matrix
176 Sets of per-rate power limit values for 802.11ax rates
177 for multiple channel bandwidth or resource unit settings.
178 Each set starts with the number of channel bandwidth or
179 resource unit settings for which the rate set applies,
180 followed by 12 power limit values. The order of the
181 channel resource unit settings is RU26, RU52, RU106,
182 RU242/SU20, RU484/SU40, RU996/SU80 and RU2x996/SU160.
188 $ref: /schemas/types.yaml#/definitions/uint32-array
190 Half-dBm power delta for different numbers of antennas
196 unevaluatedProperties: false
201 #address-cells = <3>;
204 compatible = "mediatek,mt76";
205 reg = <0x0000 0 0 0 0>;
206 ieee80211-freq-limit = <5000000 6000000>;
207 mediatek,mtd-eeprom = <&factory 0x8000>;
220 rates-ofdm = /bits/ 8 <23 23 23 23 23 23 23 23>;
221 rates-mcs = /bits/ 8 <1 23 23 23 23 23 23 23 23 23 23>,
222 /bits/ 8 <3 22 22 22 22 22 22 22 22 22 22>;
223 rates-ru = /bits/ 8 <3 22 22 22 22 22 22 22 22 22 22 22 22>,
224 /bits/ 8 <4 20 20 20 20 20 20 20 20 20 20 20 20>;
227 channels = <100 181>;
228 rates-ofdm = /bits/ 8 <14 14 14 14 14 14 14 14>;
229 rates-mcs = /bits/ 8 <4 14 14 14 14 14 14 14 14 14 14>;
230 txs-delta = <12 9 6>;
231 rates-ru = /bits/ 8 <7 14 14 14 14 14 14 14 14 14 14 14 14>;
241 compatible = "mediatek,mt7628-wmac";
242 reg = <0x10300000 0x100000>;
244 interrupt-parent = <&cpuintc>;
247 mediatek,mtd-eeprom = <&factory 0x0>;
251 #include <dt-bindings/interrupt-controller/arm-gic.h>
252 #include <dt-bindings/interrupt-controller/irq.h>
254 compatible = "mediatek,mt7622-wmac";
255 reg = <0x10300000 0x100000>;
256 interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>;
258 mediatek,infracfg = <&infracfg>;
260 power-domains = <&scpsys 3>;
265 compatible = "mediatek,mt7986-wmac";
266 resets = <&watchdog 23>;
267 reset-names = "consys";
268 reg = <0x18000000 0x1000000>,
271 interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>;
272 memory-region = <&wmcpu_emi>;