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

gateworks-gsc.yaml (4921B)


      1# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/mfd/gateworks-gsc.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: Gateworks System Controller
      8
      9description: |
     10  The Gateworks System Controller (GSC) is a device present across various
     11  Gateworks product families that provides a set of system related features
     12  such as the following (refer to the board hardware user manuals to see what
     13  features are present)
     14   - Watchdog Timer
     15   - GPIO
     16   - Pushbutton controller
     17   - Hardware monitor with ADC's for temperature and voltage rails and
     18     fan controller
     19
     20maintainers:
     21  - Tim Harvey <tharvey@gateworks.com>
     22  - Robert Jones <rjones@gateworks.com>
     23
     24properties:
     25  $nodename:
     26    pattern: "gsc@[0-9a-f]{1,2}"
     27  compatible:
     28    const: gw,gsc
     29
     30  reg:
     31    description: I2C device address
     32    maxItems: 1
     33
     34  interrupts:
     35    maxItems: 1
     36
     37  interrupt-controller: true
     38
     39  "#interrupt-cells":
     40    const: 1
     41
     42  "#address-cells":
     43    const: 1
     44
     45  "#size-cells":
     46    const: 0
     47
     48  adc:
     49    type: object
     50    description: Optional hardware monitoring module
     51
     52    properties:
     53      compatible:
     54        const: gw,gsc-adc
     55
     56      "#address-cells":
     57        const: 1
     58
     59      "#size-cells":
     60        const: 0
     61
     62    patternProperties:
     63      "^channel@[0-9]+$":
     64        type: object
     65        description: |
     66          Properties for a single ADC which can report cooked values
     67          (i.e. temperature sensor based on thermister), raw values
     68          (i.e. voltage rail with a pre-scaling resistor divider).
     69
     70        properties:
     71          reg:
     72            description: Register of the ADC
     73            maxItems: 1
     74
     75          label:
     76            description: Name of the ADC input
     77
     78          gw,mode:
     79            description: |
     80              conversion mode:
     81                0 - temperature, in C*10
     82                1 - pre-scaled 24-bit voltage value
     83                2 - scaled voltage based on an optional resistor divider
     84                    and optional offset
     85                3 - pre-scaled 16-bit voltage value
     86                4 - fan tach input to report RPM's
     87            $ref: /schemas/types.yaml#/definitions/uint32
     88            enum: [0, 1, 2, 3, 4]
     89
     90          gw,voltage-divider-ohms:
     91            description: Values of resistors for divider on raw ADC input
     92            maxItems: 2
     93            items:
     94              minimum: 1000
     95              maximum: 1000000
     96
     97          gw,voltage-offset-microvolt:
     98            description: |
     99              A positive voltage offset to apply to a raw ADC
    100              (i.e. to compensate for a diode drop).
    101            minimum: 0
    102            maximum: 1000000
    103
    104        required:
    105          - gw,mode
    106          - reg
    107          - label
    108
    109    required:
    110      - compatible
    111      - "#address-cells"
    112      - "#size-cells"
    113
    114patternProperties:
    115  "^fan-controller@[0-9a-f]+$":
    116    type: object
    117    description: Optional fan controller
    118
    119    properties:
    120      compatible:
    121        const: gw,gsc-fan
    122
    123      "#address-cells":
    124        const: 1
    125
    126      "#size-cells":
    127        const: 0
    128
    129      reg:
    130        description: The fan controller base address
    131        maxItems: 1
    132
    133    required:
    134      - compatible
    135      - reg
    136      - "#address-cells"
    137      - "#size-cells"
    138
    139required:
    140  - compatible
    141  - reg
    142  - interrupts
    143  - interrupt-controller
    144  - "#interrupt-cells"
    145  - "#address-cells"
    146  - "#size-cells"
    147
    148additionalProperties: false
    149
    150examples:
    151  - |
    152    #include <dt-bindings/gpio/gpio.h>
    153    #include <dt-bindings/interrupt-controller/irq.h>
    154    i2c {
    155        #address-cells = <1>;
    156        #size-cells = <0>;
    157
    158        gsc@20 {
    159            compatible = "gw,gsc";
    160            reg = <0x20>;
    161            interrupt-parent = <&gpio1>;
    162            interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
    163            interrupt-controller;
    164            #interrupt-cells = <1>;
    165            #address-cells = <1>;
    166            #size-cells = <0>;
    167
    168            adc {
    169                compatible = "gw,gsc-adc";
    170                #address-cells = <1>;
    171                #size-cells = <0>;
    172
    173                channel@0 { /* A0: Board Temperature */
    174                    reg = <0x00>;
    175                    label = "temp";
    176                    gw,mode = <0>;
    177                };
    178
    179                channel@2 { /* A1: Input Voltage (raw ADC) */
    180                    reg = <0x02>;
    181                    label = "vdd_vin";
    182                    gw,mode = <1>;
    183                    gw,voltage-divider-ohms = <22100 1000>;
    184                    gw,voltage-offset-microvolt = <800000>;
    185                };
    186
    187                channel@b { /* A2: Battery voltage */
    188                    reg = <0x0b>;
    189                    label = "vdd_bat";
    190                    gw,mode = <1>;
    191                };
    192            };
    193
    194            fan-controller@2c {
    195                #address-cells = <1>;
    196                #size-cells = <0>;
    197                compatible = "gw,gsc-fan";
    198                reg = <0x2c>;
    199            };
    200        };
    201    };