Message ID | 5712c0901cd826d49f881b6c632df35db1678a37.1618008449.git.lorenzo@kernel.org |
---|---|
State | Superseded |
Headers | show |
Series | introduce single-sku support for mt7663/mt7921 drivers | expand |
On Sat, Apr 10, 2021 at 12:51:46AM +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@kernel.org> > --- > .../bindings/net/wireless/mediatek,mt76.yaml | 96 +++++++++++++++++++ > 1 file changed, 96 insertions(+) > > diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml > index d6f835d17d66..f459323b8972 100644 > --- a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml > +++ b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml > @@ -72,6 +72,79 @@ properties: > led-sources: > maxItems: 1 > > + power-limits: > + type: object additionalProperties: false > + patternProperties: > + "^r[0-9]+": > + type: object additionalProperties: false > + properties: > + regdomain: > + $ref: /schemas/types.yaml#/definitions/string > + description: > + Regdomain refers to a legal regulatory region. Different > + countries define different levels of allowable transmitter > + power, time that a channel can be occupied, and different > + available channels > + enum: > + - FCC > + - ETSI > + - JP > + > + patternProperties: > + "^txpower-[256]g$": > + type: object additionalProperties: false > + patternProperties: > + "^b[0-9]+$": > + type: object additionalProperties: false > + 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 > + > + rates-cck: > + $ref: /schemas/types.yaml#/definitions/uint8-array > + minItems: 4 > + maxItems: 4 > + description: > + 4 half-dBm per-rate power limit values > + > + rates-ofdm: > + $ref: /schemas/types.yaml#/definitions/uint8-array > + minItems: 8 > + maxItems: 8 > + description: > + 8 half-dBm per-rate power limit values > + > + rates-mcs: > + $ref: /schemas/types.yaml#/definitions/uint8-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. This can be expressed as a schema: maxItems: 4 items: minItems: 9 maxItems: 11 > + > + rates-ru: > + $ref: /schemas/types.yaml#/definitions/uint8-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. items: minItems: 13 maxItems: 13 > + > + txs-delta: > + $ref: /schemas/types.yaml#/definitions/uint32-array > + description: > + Half-dBm power delta for different numbers of antennas > + > required: > - compatible > - reg > @@ -93,6 +166,29 @@ examples: > led { > led-sources = <2>; > }; > + > + power-limits { > + r0 { > + regdomain = "FCC"; > + txpower-5g { > + b0 { > + channels = <36 48>; > + rates-ofdm = /bits/ 8 <23 23 23 23 23 23 23 23>; > + rates-mcs = /bits/ 8 <1 23 23 23 23 23 23 23 23 23 23>, > + <3 22 22 22 22 22 22 22 22 22 22>; > + rates-ru = /bits/ 8 <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>; > + rates-ofdm = /bits/ 8 <14 14 14 14 14 14 14 14>; > + rates-mcs = /bits/ 8 <4 14 14 14 14 14 14 14 14 14 14>; > + txs-delta = <12 9 6>; > + rates-ru = /bits/ 8 <7 14 14 14 14 14 14 14 14 14 14 14 14>; > + }; > + }; > + }; > + }; > }; > }; > > -- > 2.30.2 >
diff --git a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml index d6f835d17d66..f459323b8972 100644 --- a/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml +++ b/Documentation/devicetree/bindings/net/wireless/mediatek,mt76.yaml @@ -72,6 +72,79 @@ properties: led-sources: maxItems: 1 + power-limits: + type: object + patternProperties: + "^r[0-9]+": + type: object + properties: + regdomain: + $ref: /schemas/types.yaml#/definitions/string + description: + Regdomain refers to a legal regulatory region. Different + countries define different levels of allowable transmitter + power, time that a channel can be occupied, and different + available channels + enum: + - FCC + - ETSI + - JP + + 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 + + rates-cck: + $ref: /schemas/types.yaml#/definitions/uint8-array + minItems: 4 + maxItems: 4 + description: + 4 half-dBm per-rate power limit values + + rates-ofdm: + $ref: /schemas/types.yaml#/definitions/uint8-array + minItems: 8 + maxItems: 8 + description: + 8 half-dBm per-rate power limit values + + rates-mcs: + $ref: /schemas/types.yaml#/definitions/uint8-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. + + rates-ru: + $ref: /schemas/types.yaml#/definitions/uint8-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. + + txs-delta: + $ref: /schemas/types.yaml#/definitions/uint32-array + description: + Half-dBm power delta for different numbers of antennas + required: - compatible - reg @@ -93,6 +166,29 @@ examples: led { led-sources = <2>; }; + + power-limits { + r0 { + regdomain = "FCC"; + txpower-5g { + b0 { + channels = <36 48>; + rates-ofdm = /bits/ 8 <23 23 23 23 23 23 23 23>; + rates-mcs = /bits/ 8 <1 23 23 23 23 23 23 23 23 23 23>, + <3 22 22 22 22 22 22 22 22 22 22>; + rates-ru = /bits/ 8 <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>; + rates-ofdm = /bits/ 8 <14 14 14 14 14 14 14 14>; + rates-mcs = /bits/ 8 <4 14 14 14 14 14 14 14 14 14 14>; + txs-delta = <12 9 6>; + rates-ru = /bits/ 8 <7 14 14 14 14 14 14 14 14 14 14 14 14>; + }; + }; + }; + }; }; };
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@kernel.org> --- .../bindings/net/wireless/mediatek,mt76.yaml | 96 +++++++++++++++++++ 1 file changed, 96 insertions(+)