Anforderungen  |   Konzepte  |   Entwurf  |   Entwicklung  |   Qualitätssicherung  |   Lebenszyklus  |   Steuerung
 
 
 
 


Quelle  gateworks-gsc.yaml   Sprache: unbekannt

 
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
%YAML 1.2
---
$id: http://devicetree.org/schemas/mfd/gateworks-gsc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#

title: Gateworks System Controller

description: |
  The Gateworks System Controller (GSC) is a device present across various
  Gateworks product families that provides a set of system related features
  such as the following (refer to the board hardware user manuals to see what
  features are present)
   - Watchdog Timer
   - GPIO
   - Pushbutton controller
   - Hardware monitor with ADC's for temperature and voltage rails and
     fan controller

maintainers:
  - Tim Harvey <tharvey@gateworks.com>

properties:
  $nodename:
    pattern: "gsc@[0-9a-f]{1,2}"
  compatible:
    const: gw,gsc

  reg:
    description: I2C device address
    maxItems: 1

  interrupts:
    maxItems: 1

  interrupt-controller: true

  "#interrupt-cells":
    const: 1

  "#address-cells":
    const: 1

  "#size-cells":
    const: 0

  adc:
    type: object
    additionalProperties: false
    description: Optional hardware monitoring module

    properties:
      compatible:
        const: gw,gsc-adc

      "#address-cells":
        const: 1

      "#size-cells":
        const: 0

    patternProperties:
      "^channel@[0-9a-f]+$":
        type: object
        additionalProperties: false
        description: |
          Properties for a single ADC which can report cooked values
          (i.e. temperature sensor based on thermister), raw values
          (i.e. voltage rail with a pre-scaling resistor divider).

        properties:
          reg:
            description: Register of the ADC
            maxItems: 1

          label:
            description: Name of the ADC input

          gw,mode:
            description: |
              conversion mode:
                0 - temperature, in C*10
                1 - pre-scaled 24-bit voltage value
                2 - scaled voltage based on an optional resistor divider
                    and optional offset
                3 - pre-scaled 16-bit voltage value
                4 - fan tach input to report RPM's
            $ref: /schemas/types.yaml#/definitions/uint32
            enum: [0, 1, 2, 3, 4]

          gw,voltage-divider-ohms:
            description: Values of resistors for divider on raw ADC input
            maxItems: 2
            items:
              minimum: 1000
              maximum: 1000000

          gw,voltage-offset-microvolt:
            description: |
              A positive voltage offset to apply to a raw ADC
              (i.e. to compensate for a diode drop).
            minimum: 0
            maximum: 1000000

        required:
          - gw,mode
          - reg
          - label

    required:
      - compatible
      - "#address-cells"
      - "#size-cells"

patternProperties:
  "^fan-controller@[0-9a-f]+$":
    type: object
    additionalProperties: false
    description: Optional fan controller

    properties:
      compatible:
        const: gw,gsc-fan

      reg:
        description: The fan controller base address
        maxItems: 1

    required:
      - compatible
      - reg

required:
  - compatible
  - reg
  - interrupts
  - interrupt-controller
  - "#interrupt-cells"
  - "#address-cells"
  - "#size-cells"

additionalProperties: false

examples:
  - |
    #include <dt-bindings/gpio/gpio.h>
    #include <dt-bindings/interrupt-controller/irq.h>
    i2c {
        #address-cells = <1>;
        #size-cells = <0>;

        gsc@20 {
            compatible = "gw,gsc";
            reg = <0x20>;
            interrupt-parent = <&gpio1>;
            interrupts = <4 IRQ_TYPE_LEVEL_LOW>;
            interrupt-controller;
            #interrupt-cells = <1>;
            #address-cells = <1>;
            #size-cells = <0>;

            adc {
                compatible = "gw,gsc-adc";
                #address-cells = <1>;
                #size-cells = <0>;

                channel@0 { /* A0: Board Temperature */
                    reg = <0x00>;
                    label = "temp";
                    gw,mode = <0>;
                };

                channel@2 { /* A1: Input Voltage (raw ADC) */
                    reg = <0x02>;
                    label = "vdd_vin";
                    gw,mode = <1>;
                    gw,voltage-divider-ohms = <22100 1000>;
                    gw,voltage-offset-microvolt = <800000>;
                };

                channel@b { /* A2: Battery voltage */
                    reg = <0x0b>;
                    label = "vdd_bat";
                    gw,mode = <1>;
                };
            };

            fan-controller@2c {
                compatible = "gw,gsc-fan";
                reg = <0x2c>;
            };
        };
    };

[ Dauer der Verarbeitung: 0.2 Sekunden  (vorverarbeitet)  ]

                                                                                                                                                                                                                                                                                                                                                                                                     


Neuigkeiten

     Aktuelles
     Motto des Tages

Software

     Produkte
     Quellcodebibliothek

Aktivitäten

     Artikel über Sicherheit
     Anleitung zur Aktivierung von SSL

Muße

     Gedichte
     Musik
     Bilder

Jenseits des Üblichen ....
    

Besucherstatistik

Besucherstatistik

Monitoring

Montastic status badge