Re: [PATCH v2 1/7] dt-bindings:net:wireless:mediatek,mt76: introduce power-limits node

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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@xxxxxxxxxx>
> ---
>  .../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
> 



[Index of Archives]     [Device Tree Compilter]     [Device Tree Spec]     [Linux Driver Backports]     [Video for Linux]     [Linux USB Devel]     [Linux PCI Devel]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Yosemite Backpacking]


  Powered by Linux