On Mon, Apr 05, 2021 at 02:40:26PM +0200, Lorenzo Bianconi wrote: > Introduce power-limits node in mt76 binding in order to specify > per-rate power limit values for each 802.11n/802.11ac rate > > Signed-off-by: Lorenzo Bianconi <lorenzo@xxxxxxxxxx> > --- > .../bindings/net/wireless/mediatek,mt76.yaml | 79 +++++++++++++++++++ > 1 file changed, 79 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml > index d6f835d17d66..6ede331e3e52 100644 > --- a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml > +++ b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml > @@ -72,6 +72,62 @@ properties: > led-sources: > maxItems: 1 > > + power-limits: > + type: object > + properties: > + regdomain: true This shouldn't really be in ieee80211.yaml if it belongs under 'power-limits' node. You may need a 2nd power limits schema if this something that should/can be common. > + > + patternProperties: > + "^r[0-9]+": > + type: object > + patternProperties: > + "^txpower-[256]g$": > + type: object > + patternProperties: > + "^b[0-9]+$": > + type: object > + properties: > + channels: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + minItems: 2 > + maxItems: 2 > + description: > + Pairs of first and last channel number of the selected > + band > + > + cck: > + $ref: /schemas/types.yaml#/definitions/uint32-array What's the range of values? Could be 8-bit? > + minItems: 4 > + maxItems: 4 > + description: > + 4 half-dBm per-rate power limit values > + > + mcs: > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > + description: > + Sets of per-rate power limit values for 802.11n/802.11ac > + rates for multiple channel bandwidth settings. > + Each set starts with the number of channel bandwidth > + settings for which the rate set applies, followed by > + either 8 or 10 power limit values. The order of the > + channel bandwidth settings is 20, 40, 80 and 160 MHz. > + > + ru: > + $ref: /schemas/types.yaml#/definitions/uint32-matrix > + description: > + Sets of per-rate power limit values for 802.11ax rates > + for multiple channel bandwidth or resource unit settings. > + Each set starts with the number of channel bandwidth or > + resource unit settings for which the rate set applies, > + followed by 12 power limit values. The order of the > + channel resource unit settings is RU26, RU52, RU106, > + RU242/SU20, RU484/SU40, RU996/SU80 and RU2x996/SU160. These short property names bother me because we don't want 2 property names with different meanings. A 2-3 letter name seems more likely to collide. Also, the names aren't really self describing either. > + > + txs-delta: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: > + Half-dBm power delta for different numbers of antennas > + > required: > - compatible > - reg > @@ -93,6 +149,29 @@ examples: > led { > led-sources = <2>; > }; > + > + power-limits { > + r0 { > + txpower-5g { > + regdomain = "FCC"; Not the right location for what you've defined. > + b0 { > + channels = <36 48>; > + ofdm = <23 23 23 23 23 23 23 23>; > + mcs = <1 23 23 23 23 23 23 23 23 23 23>, > + <3 22 22 22 22 22 22 22 22 22 22>; > + ru = <3 22 22 22 22 22 22 22 22 22 22 22 22>, > + <4 20 20 20 20 20 20 20 20 20 20 20 20>; > + }; > + b1 { > + channels = <100 181>; > + ofdm = <14 14 14 14 14 14 14 14>; > + mcs = <4 14 14 14 14 14 14 14 14 14 14>; > + txs-delta = <12 9 6>; > + ru = <7 14 14 14 14 14 14 14 14 14 14 14 14>; > + }; > + }; > + }; > + }; > }; > }; > > -- > 2.30.2 >