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

silabs,wfx.yaml (4196B)


      1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
      2# Copyright (c) 2020, Silicon Laboratories, Inc.
      3%YAML 1.2
      4---
      5
      6$id: http://devicetree.org/schemas/net/wireless/silabs,wfx.yaml#
      7$schema: http://devicetree.org/meta-schemas/core.yaml#
      8
      9title: Silicon Labs WFxxx devicetree bindings
     10
     11maintainers:
     12  - Jérôme Pouiller <jerome.pouiller@silabs.com>
     13
     14description: >
     15  Support for the Wifi chip WFxxx from Silicon Labs. Currently, the only device
     16  from the WFxxx series is the WF200 described here:
     17     https://www.silabs.com/documents/public/data-sheets/wf200-datasheet.pdf
     18
     19  The WF200 can be connected via SPI or via SDIO.
     20
     21  For SDIO:
     22
     23    Declaring the WFxxx chip in device tree is mandatory (usually, the VID/PID is
     24    sufficient for the SDIO devices).
     25
     26    It is recommended to declare a mmc-pwrseq on SDIO host above WFx. Without
     27    it, you may encounter issues during reboot. The mmc-pwrseq should be
     28    compatible with mmc-pwrseq-simple. Please consult
     29    Documentation/devicetree/bindings/mmc/mmc-pwrseq-simple.yaml for more
     30    information.
     31
     32  For SPI:
     33
     34    In add of the properties below, please consult
     35    Documentation/devicetree/bindings/spi/spi-controller.yaml for optional SPI
     36    related properties.
     37
     38properties:
     39  compatible:
     40    items:
     41      - enum:
     42          - prt,prtt1c-wfm200 # Protonic PRTT1C Board
     43          - silabs,brd4001a # WGM160P Evaluation Board
     44          - silabs,brd8022a # WF200 Evaluation Board
     45          - silabs,brd8023a # WFM200 Evaluation Board
     46      - const: silabs,wf200 # Chip alone without antenna
     47
     48  reg:
     49    description:
     50      When used on SDIO bus, <reg> must be set to 1. When used on SPI bus, it is
     51      the chip select address of the device as defined in the SPI devices
     52      bindings.
     53    maxItems: 1
     54
     55  spi-max-frequency: true
     56
     57  interrupts:
     58    description: The interrupt line. Should be IRQ_TYPE_EDGE_RISING. When SPI is
     59      used, this property is required. When SDIO is used, the "in-band"
     60      interrupt provided by the SDIO bus is used unless an interrupt is defined
     61      in the Device Tree.
     62    maxItems: 1
     63
     64  reset-gpios:
     65    description: (SPI only) Phandle of gpio that will be used to reset chip
     66      during probe. Without this property, you may encounter issues with warm
     67      boot.
     68
     69      For SDIO, the reset gpio should declared using a mmc-pwrseq.
     70    maxItems: 1
     71
     72  wakeup-gpios:
     73    description: Phandle of gpio that will be used to wake-up chip. Without this
     74      property, driver will disable most of power saving features.
     75    maxItems: 1
     76
     77  silabs,antenna-config-file:
     78    $ref: /schemas/types.yaml#/definitions/string
     79    description: Use an alternative file for antenna configuration (aka
     80      "Platform Data Set" in Silabs jargon). Default depends of "compatible"
     81      string. For "silabs,wf200", the default is 'wf200.pds'.
     82
     83  local-mac-address: true
     84
     85  mac-address: true
     86
     87additionalProperties: false
     88
     89required:
     90  - compatible
     91  - reg
     92
     93examples:
     94  - |
     95    #include <dt-bindings/gpio/gpio.h>
     96    #include <dt-bindings/interrupt-controller/irq.h>
     97
     98    spi {
     99        #address-cells = <1>;
    100        #size-cells = <0>;
    101
    102        wifi@0 {
    103            compatible = "silabs,brd8022a", "silabs,wf200";
    104            pinctrl-names = "default";
    105            pinctrl-0 = <&wfx_irq &wfx_gpios>;
    106            reg = <0>;
    107            interrupts-extended = <&gpio 16 IRQ_TYPE_EDGE_RISING>;
    108            wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
    109            reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
    110            spi-max-frequency = <42000000>;
    111        };
    112    };
    113
    114  - |
    115    #include <dt-bindings/gpio/gpio.h>
    116    #include <dt-bindings/interrupt-controller/irq.h>
    117
    118    wfx_pwrseq: wfx_pwrseq {
    119        compatible = "mmc-pwrseq-simple";
    120        pinctrl-names = "default";
    121        pinctrl-0 = <&wfx_reset>;
    122        reset-gpios = <&gpio 13 GPIO_ACTIVE_LOW>;
    123    };
    124
    125    mmc {
    126        mmc-pwrseq = <&wfx_pwrseq>;
    127        #address-cells = <1>;
    128        #size-cells = <0>;
    129
    130        wifi@1 {
    131            compatible = "silabs,brd8022a", "silabs,wf200";
    132            pinctrl-names = "default";
    133            pinctrl-0 = <&wfx_wakeup>;
    134            reg = <1>;
    135            wakeup-gpios = <&gpio 12 GPIO_ACTIVE_HIGH>;
    136        };
    137    };
    138...