The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/mfd/gateworks-gsc.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 10668099500213bdd8909b0711046dcb


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.