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

nuvoton,nct7802.yaml (3279B)


      1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
      2%YAML 1.2
      3---
      4
      5$id: http://devicetree.org/schemas/hwmon/nuvoton,nct7802.yaml#
      6$schema: http://devicetree.org/meta-schemas/core.yaml#
      7
      8title: Nuvoton NCT7802Y Hardware Monitoring IC
      9
     10maintainers:
     11  - Guenter Roeck <linux@roeck-us.net>
     12
     13description: |
     14  The NCT7802Y is a hardware monitor IC which supports one on-die and up to
     15  5 remote temperature sensors with SMBus interface.
     16
     17  Datasheets:
     18    https://www.nuvoton.com/export/resource-files/Nuvoton_NCT7802Y_Datasheet_V12.pdf
     19
     20additionalProperties: false
     21
     22properties:
     23  compatible:
     24    enum:
     25      - nuvoton,nct7802
     26
     27  reg:
     28    maxItems: 1
     29
     30  "#address-cells":
     31    const: 1
     32
     33  "#size-cells":
     34    const: 0
     35
     36patternProperties:
     37  "^channel@[0-3]$":
     38    type: object
     39
     40    additionalProperties: false
     41
     42    properties:
     43      reg:
     44        items:
     45          - enum:
     46              - 0    # Local Temperature Sensor ("LTD")
     47              - 1    # Remote Temperature Sensor or Voltage Sensor 1 ("RTD1")
     48              - 2    # Remote Temperature Sensor or Voltage Sensor 2 ("RTD2")
     49              - 3    # Remote Temperature Sensor or Voltage Sensor 3 ("RTD3")
     50
     51      sensor-type:
     52        items:
     53          - enum:
     54              - temperature
     55              - voltage
     56
     57      temperature-mode:
     58        items:
     59          - enum:
     60              - thermistor
     61              - thermal-diode
     62
     63    required:
     64      - reg
     65
     66    allOf:
     67      # For channels RTD1, RTD2 and RTD3, require sensor-type to be set.
     68      # Otherwise (for all other channels), do not allow temperature-mode to be
     69      # set.
     70      - if:
     71          properties:
     72            reg:
     73              items:
     74                - enum:
     75                    - 1
     76                    - 2
     77                    - 3
     78        then:
     79          required:
     80            - sensor-type
     81        else:
     82          not:
     83            required:
     84              - sensor-type
     85
     86      # For channels RTD1 and RTD2 and if sensor-type is "temperature", require
     87      # temperature-mode to be set. Otherwise (for all other channels or
     88      # sensor-type settings), do not allow temperature-mode to be set
     89      - if:
     90          properties:
     91            reg:
     92              items:
     93                - enum:
     94                    - 1
     95                    - 2
     96            sensor-type:
     97              items:
     98                - enum:
     99                    - temperature
    100        then:
    101          required:
    102            - temperature-mode
    103        else:
    104          not:
    105            required:
    106              - temperature-mode
    107
    108required:
    109  - compatible
    110  - reg
    111
    112examples:
    113  - |
    114    i2c {
    115        #address-cells = <1>;
    116        #size-cells = <0>;
    117
    118        nct7802@28 {
    119            compatible = "nuvoton,nct7802";
    120            reg = <0x28>;
    121
    122            #address-cells = <1>;
    123            #size-cells = <0>;
    124
    125            channel@0 { /* LTD */
    126              reg = <0>;
    127            };
    128
    129            channel@1 { /* RTD1 */
    130              reg = <1>;
    131              sensor-type = "voltage";
    132            };
    133
    134            channel@2 { /* RTD2 */
    135              reg = <2>;
    136              sensor-type = "temperature";
    137              temperature-mode = "thermal-diode";
    138            };
    139
    140            channel@3 { /* RTD3 */
    141              reg = <3>;
    142              sensor-type = "temperature";
    143            };
    144        };
    145    };