xref: /linux/Documentation/devicetree/bindings/iio/adc/adc.yaml (revision 7f71507851fc7764b36a3221839607d3a45c2025)
1# SPDX-License-Identifier: GPL-2.0
2%YAML 1.2
3---
4$id: http://devicetree.org/schemas/iio/adc/adc.yaml#
5$schema: http://devicetree.org/meta-schemas/core.yaml#
6
7title: IIO Common Properties for ADC Channels
8
9maintainers:
10  - Jonathan Cameron <jic23@kernel.org>
11
12description:
13  A few properties are defined in a common way ADC channels.
14
15properties:
16  $nodename:
17    pattern: "^channel(@[0-9a-f]+)?$"
18    description:
19      A channel index should match reg.
20
21  reg:
22    maxItems: 1
23
24  label:
25    description: Unique name to identify which channel this is.
26
27  bipolar:
28    $ref: /schemas/types.yaml#/definitions/flag
29    description: If provided, the channel is to be used in bipolar mode.
30
31  diff-channels:
32    $ref: /schemas/types.yaml#/definitions/uint32-array
33    maxItems: 2
34    minItems: 2
35    description:
36      Many ADCs have dual Muxes to allow different input pins to be routed
37      to both the positive and negative inputs of a differential ADC.
38      The first value specifies the positive input pin, the second
39      specifies the negative input pin.
40      There are also some ADCs, where the differential channel has dedicated
41      positive and negative inputs which can be used to measure differential
42      voltage levels. For those setups, this property can be configured with
43      the 'reg' property for both inputs (i.e. diff-channels = <reg reg>).
44
45  single-channel:
46    $ref: /schemas/types.yaml#/definitions/uint32
47    description:
48      When devices combine single-ended and differential channels, allow the
49      channel for a single element to be specified, independent of reg (as for
50      differential channels). If this and diff-channels are not present reg
51      shall be used instead.
52
53  common-mode-channel:
54    $ref: /schemas/types.yaml#/definitions/uint32
55    description:
56      Some ADCs have differential input pins that can be used to measure
57      single-ended or pseudo-differential inputs. This property can be used
58      in addition to single-channel to signal software that this channel is
59      not differential but still specify two inputs.
60
61      The input pair is specified by setting single-channel to the positive
62      input pin and common-mode-channel to the negative pin.
63
64  settling-time-us:
65    description:
66      Time between enabling the channel and first stable readings.
67
68  oversampling-ratio:
69    $ref: /schemas/types.yaml#/definitions/uint32
70    description:
71      Oversampling is used as replacement of or addition to the low-pass filter.
72      In some cases, the desired filtering characteristics are a function the
73      device design and can interact with other characteristics such as
74      settling time.
75
76anyOf:
77  - oneOf:
78      - required:
79          - reg
80          - diff-channels
81      - required:
82          - reg
83          - single-channel
84  - required:
85      - reg
86
87additionalProperties: true
88