cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

mediatek,mt76.yaml (8521B)


      1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
      2# Copyright (c) 2018-2019 The Linux Foundation. All rights reserved.
      3
      4%YAML 1.2
      5---
      6$id: http://devicetree.org/schemas/net/wireless/mediatek,mt76.yaml#
      7$schema: http://devicetree.org/meta-schemas/core.yaml#
      8
      9title: MediaTek mt76 wireless devices Generic Binding
     10
     11maintainers:
     12  - Felix Fietkau <nbd@nbd.name>
     13  - Lorenzo Bianconi <lorenzo@kernel.org>
     14  - Ryder Lee <ryder.lee@mediatek.com>
     15
     16description: |
     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
     21  or MT7622/MT7986 SoC.
     22
     23allOf:
     24  - $ref: ieee80211.yaml#
     25
     26properties:
     27  compatible:
     28    enum:
     29      - mediatek,mt76
     30      - mediatek,mt7628-wmac
     31      - mediatek,mt7622-wmac
     32      - mediatek,mt7986-wmac
     33
     34  reg:
     35    minItems: 1
     36    maxItems: 3
     37    description:
     38      MT7986 should contain 3 regions consys, dcm, and sku, in this order.
     39
     40  interrupts:
     41    maxItems: 1
     42
     43  power-domains:
     44    maxItems: 1
     45
     46  memory-region:
     47    maxItems: 1
     48
     49  resets:
     50    maxItems: 1
     51    description:
     52      Specify the consys reset for mt7986.
     53
     54  reset-names:
     55    const: consys
     56
     57  mediatek,infracfg:
     58    $ref: /schemas/types.yaml#/definitions/phandle
     59    description:
     60      Phandle to the infrastructure bus fabric syscon node.
     61      This property is MT7622 specific
     62
     63  ieee80211-freq-limit: true
     64
     65  mediatek,eeprom-data:
     66    $ref: /schemas/types.yaml#/definitions/uint32-array
     67    description:
     68      EEPROM data embedded as array.
     69
     70  mediatek,mtd-eeprom:
     71    $ref: /schemas/types.yaml#/definitions/phandle-array
     72    items:
     73      - items:
     74          - description: phandle to MTD partition
     75          - description: offset containing EEPROM data
     76    description:
     77      Phandle to a MTD partition + offset containing EEPROM data
     78
     79  big-endian:
     80    $ref: /schemas/types.yaml#/definitions/flag
     81    description:
     82      Specify if the radio eeprom partition is written in big-endian
     83
     84  mediatek,eeprom-merge-otp:
     85    type: boolean
     86    description:
     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
     90
     91  mediatek,disable-radar-background:
     92    type: boolean
     93    description:
     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
     98      radar channel.
     99
    100  led:
    101    type: object
    102    $ref: /schemas/leds/common.yaml#
    103    additionalProperties: false
    104    properties:
    105      led-sources:
    106        maxItems: 1
    107
    108  power-limits:
    109    type: object
    110    additionalProperties: false
    111    patternProperties:
    112      "^r[0-9]+":
    113        type: object
    114        additionalProperties: false
    115        properties:
    116          regdomain:
    117            $ref: /schemas/types.yaml#/definitions/string
    118            description:
    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
    122              available channels
    123            enum:
    124              - FCC
    125              - ETSI
    126              - JP
    127
    128        patternProperties:
    129          "^txpower-[256]g$":
    130            type: object
    131            additionalProperties: false
    132            patternProperties:
    133              "^b[0-9]+$":
    134                type: object
    135                additionalProperties: false
    136                properties:
    137                  channels:
    138                    $ref: /schemas/types.yaml#/definitions/uint32-array
    139                    minItems: 2
    140                    maxItems: 2
    141                    description:
    142                      Pairs of first and last channel number of the selected
    143                      band
    144
    145                  rates-cck:
    146                    $ref: /schemas/types.yaml#/definitions/uint8-array
    147                    minItems: 4
    148                    maxItems: 4
    149                    description:
    150                      4 half-dBm per-rate power limit values
    151
    152                  rates-ofdm:
    153                    $ref: /schemas/types.yaml#/definitions/uint8-array
    154                    minItems: 8
    155                    maxItems: 8
    156                    description:
    157                      8 half-dBm per-rate power limit values
    158
    159                  rates-mcs:
    160                    $ref: /schemas/types.yaml#/definitions/uint8-matrix
    161                    description:
    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.
    168                    maxItems: 4
    169                    items:
    170                      minItems: 9
    171                      maxItems: 11
    172
    173                  rates-ru:
    174                    $ref: /schemas/types.yaml#/definitions/uint8-matrix
    175                    description:
    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.
    183                    items:
    184                      minItems: 13
    185                      maxItems: 13
    186
    187                  txs-delta:
    188                    $ref: /schemas/types.yaml#/definitions/uint32-array
    189                    description:
    190                      Half-dBm power delta for different numbers of antennas
    191
    192required:
    193  - compatible
    194  - reg
    195
    196unevaluatedProperties: false
    197
    198examples:
    199  - |
    200    pcie0 {
    201      #address-cells = <3>;
    202      #size-cells = <2>;
    203      wifi@0,0 {
    204        compatible = "mediatek,mt76";
    205        reg = <0x0000 0 0 0 0>;
    206        ieee80211-freq-limit = <5000000 6000000>;
    207        mediatek,mtd-eeprom = <&factory 0x8000>;
    208        big-endian;
    209
    210        led {
    211          led-sources = <2>;
    212        };
    213
    214        power-limits {
    215          r0 {
    216            regdomain = "FCC";
    217            txpower-5g {
    218               b0 {
    219                   channels = <36 48>;
    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>;
    225               };
    226               b1 {
    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>;
    232               };
    233             };
    234          };
    235        };
    236      };
    237    };
    238
    239  - |
    240    wifi@10300000 {
    241      compatible = "mediatek,mt7628-wmac";
    242      reg = <0x10300000 0x100000>;
    243
    244      interrupt-parent = <&cpuintc>;
    245      interrupts = <6>;
    246
    247      mediatek,mtd-eeprom = <&factory 0x0>;
    248    };
    249
    250  - |
    251    #include <dt-bindings/interrupt-controller/arm-gic.h>
    252    #include <dt-bindings/interrupt-controller/irq.h>
    253    wifi@18000000 {
    254      compatible = "mediatek,mt7622-wmac";
    255      reg = <0x10300000 0x100000>;
    256      interrupts = <GIC_SPI 211 IRQ_TYPE_LEVEL_LOW>;
    257
    258      mediatek,infracfg = <&infracfg>;
    259
    260      power-domains = <&scpsys 3>;
    261    };
    262
    263  - |
    264    wifi@18000000 {
    265        compatible = "mediatek,mt7986-wmac";
    266        resets = <&watchdog 23>;
    267        reset-names = "consys";
    268        reg = <0x18000000 0x1000000>,
    269              <0x10003000 0x1000>,
    270              <0x11d10000 0x1000>;
    271        interrupts = <GIC_SPI 213 IRQ_TYPE_LEVEL_HIGH>;
    272        memory-region = <&wmcpu_emi>;
    273    };