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/iio/dac/adi,ad5592r.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 OR BSD-2-Clause)
    2 %YAML 1.2
    3 ---
    4 $id: http://devicetree.org/schemas/iio/dac/adi,ad5592r.yaml#
    5 $schema: http://devicetree.org/meta-schemas/core.yaml#
    6 
    7 title: Analog Devices AD5592R/AD5593R DAC/ADC
    8 
    9 maintainers:
   10   - Michael Hennerich <michael.hennerich@analog.com>
   11 
   12 properties:
   13   compatible:
   14     enum:
   15       - adi,ad5592r
   16       - adi,ad5593r
   17 
   18   reg:
   19     maxItems: 1
   20 
   21   spi-max-frequency:
   22     maximum: 30000000
   23 
   24   spi-cpol: true
   25 
   26   "#address-cells":
   27     const: 1
   28 
   29   "#size-cells":
   30     const: 0
   31 
   32   "#io-channel-cells":
   33     const: 1
   34 
   35   vref-supply:
   36     description: If not set internal 2.5V reference used.
   37 
   38   reset-gpios:
   39     maxItems: 1
   40 
   41   gpio-controller:
   42     description: Marks the device node as a GPIO controller.
   43 
   44   "#gpio-cells":
   45     const: 2
   46     description:
   47       The first cell is the GPIO number and the second cell specifies
   48       GPIO flags, as defined in <dt-bindings/gpio/gpio.h>.
   49 
   50 required:
   51   - compatible
   52   - reg
   53   - "#address-cells"
   54   - "#size-cells"
   55 
   56 allOf:
   57   - if:
   58       properties:
   59         compatible:
   60           contains:
   61             const: adi,ad5592r
   62     then:
   63       required:
   64         - spi-cpol
   65     else:
   66       properties:
   67         spi-cpol: false
   68 
   69 additionalProperties: false
   70 
   71 patternProperties:
   72   "^(channel@)[0-7]$":
   73     type: object
   74     description: Child node to describe a channel
   75     properties:
   76       reg:
   77         minimum: 0
   78         maximum: 7
   79 
   80       adi,mode:
   81         $ref: /schemas/types.yaml#/definitions/uint32
   82         enum: [0, 1, 2, 3, 8]
   83         description: |
   84           Mode or function of this channel.
   85           Macros specifying the valid values can be found in
   86           <dt-bindings/iio/adi,ad5592r.h>.
   87 
   88           The following values are currently supported:
   89           * CH_MODE_UNUSED (the pin is unused)
   90           * CH_MODE_ADC (the pin is ADC input)
   91           * CH_MODE_DAC (the pin is DAC output)
   92           * CH_MODE_DAC_AND_ADC (the pin is DAC output but can be monitored
   93             by an ADC, since there is no disadvantage this should be
   94             considered as the preferred DAC mode)
   95           * CH_MODE_GPIO (the pin is registered with GPIOLIB)
   96 
   97       adi,off-state:
   98         $ref: /schemas/types.yaml#/definitions/uint32
   99         enum: [0, 1, 2, 3]
  100         description: |
  101           State of this channel when unused or the device gets removed.
  102           Macros specifying the  valid values can be found in
  103           <dt-bindings/iio/adi,ad5592r.h>.
  104           * CH_OFFSTATE_PULLDOWN (the pin is pulled down)
  105           * CH_OFFSTATE_OUT_LOW  (the pin is output low)
  106           * CH_OFFSTATE_OUT_HIGH (the pin is output high)
  107           * CH_OFFSTATE_OUT_TRISTATE (the pin is tristated output)
  108 
  109     required:
  110       - reg
  111       - adi,mode
  112 
  113     additionalProperties: false
  114 
  115 examples:
  116   - |
  117     #include <dt-bindings/iio/adi,ad5592r.h>
  118     spi {
  119         #address-cells = <1>;
  120         #size-cells = <0>;
  121 
  122         addac@0 {
  123             compatible = "adi,ad5592r";
  124             #size-cells = <0>;
  125             #address-cells = <1>;
  126             #gpio-cells = <2>;
  127             reg = <0>;
  128 
  129             spi-max-frequency = <1000000>;
  130             spi-cpol;
  131 
  132             vref-supply = <&vref>;
  133             reset-gpios = <&gpio0 86 0>;
  134             gpio-controller;
  135 
  136             channel@0 {
  137                 reg = <0>;
  138                 adi,mode = <CH_MODE_DAC>;
  139             };
  140             channel@1 {
  141                 reg = <1>;
  142                 adi,mode = <CH_MODE_ADC>;
  143             };
  144             channel@2 {
  145                 reg = <2>;
  146                 adi,mode = <CH_MODE_DAC_AND_ADC>;
  147             };
  148             channel@3 {
  149                 reg = <3>;
  150                 adi,mode = <CH_MODE_DAC_AND_ADC>;
  151                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  152             };
  153             channel@4 {
  154                 reg = <4>;
  155                 adi,mode = <CH_MODE_UNUSED>;
  156                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  157             };
  158             channel@5 {
  159                 reg = <5>;
  160                 adi,mode = <CH_MODE_GPIO>;
  161                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  162             };
  163             channel@6 {
  164                 reg = <6>;
  165                 adi,mode = <CH_MODE_GPIO>;
  166                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  167             };
  168             channel@7 {
  169                 reg = <7>;
  170                 adi,mode = <CH_MODE_GPIO>;
  171                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  172             };
  173         };
  174         ad5593r@10 {
  175             compatible = "adi,ad5593r";
  176             #size-cells = <0>;
  177             #address-cells = <1>;
  178             #gpio-cells = <2>;
  179             reg = <0x10>;
  180             gpio-controller;
  181 
  182             channel@0 {
  183                 reg = <0>;
  184                 adi,mode = <CH_MODE_DAC>;
  185                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  186             };
  187             channel@1 {
  188                 reg = <1>;
  189                 adi,mode = <CH_MODE_ADC>;
  190                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  191             };
  192             channel@2 {
  193                 reg = <2>;
  194                 adi,mode = <CH_MODE_DAC_AND_ADC>;
  195                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  196             };
  197             channel@6 {
  198                 reg = <6>;
  199                 adi,mode = <CH_MODE_GPIO>;
  200                 adi,off-state = <CH_OFFSTATE_PULLDOWN>;
  201             };
  202         };
  203     };
  204 ...

Cache object: 168a89ed71655346fee8d2517272d397


[ 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.