# SPDX-License-Identifier: GPL-2.0
%YAML 1.2
---
$id: http://devicetree.org/schemas/iio/adc/adc.yaml#
$schema: http://devicetree.org/meta-schemas/core.yaml#
title: IIO Common Properties for ADC Channels
maintainers:
- Jonathan Cameron <jic23@kernel.org>
description:
A few properties are defined in a common way ADC channels.
properties:
$nodename:
pattern: "^channel(@[0-9a-f]+)?$"
description:
A channel index should match reg.
reg:
maxItems: 1
label:
description: Unique name to identify which channel this is.
bipolar:
$ref: /schemas/types.yaml#/definitions/flag
description: If provided, the channel is to be used in bipolar mode.
diff-channels:
$ref: /schemas/types.yaml#/definitions/uint32-array
maxItems: 2
minItems: 2
description:
Many ADCs have dual Muxes to allow different input pins to be routed
to both the positive and negative inputs of a differential ADC.
The first value specifies the positive input pin, the second
specifies the negative input pin.
There are also some ADCs, where the differential channel has dedicated
positive and negative inputs which can be used to measure differential
voltage levels. For those setups, this property can be configured with
the 'reg' property for both inputs (i.e. diff-channels = <reg reg>).
single-channel:
$ref: /schemas/types.yaml#/definitions/uint32
description:
When devices combine single-ended and differential channels, allow the
channel for a single element to be specified, independent of reg (as for
differential channels). If this and diff-channels are not present reg
shall be used instead.
common-mode-channel:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Some ADCs have differential input pins that can be used to measure
single-ended or pseudo-differential inputs. This property can be used
in addition to single-channel to signal software that this channel is
not differential but still specify two inputs.
The input pair is specified by setting single-channel to the positive
input pin and common-mode-channel to the negative pin.
settling-time-us:
description:
Time between enabling the channel and first stable readings.
oversampling-ratio:
$ref: /schemas/types.yaml#/definitions/uint32
description:
Oversampling is used as replacement of or addition to the low-pass filter.
In some cases, the desired filtering characteristics are a function the
device design and can interact with other characteristics such as
settling time.
reference-sources:
$ref: /schemas/types.yaml#/definitions/string-array
description:
Indicates the voltage reference source or sources for this channel. Some
ADCs usually allow choosing between internal reference sources or a pair
of external pins.
input-chopping:
type: boolean
description:
If set, the positive and negative input channels are swapped on every
other conversion to reduce offset error. This generally comes at the
expense of added settling time between conversions, so should be omitted
on systems with high-frequency signals or high data rate requirements.
excitation-channels:
$ref: /schemas/types.yaml#/definitions/uint32-array
description:
Excitation current sources provide current to resistive temperature
devices (RTDs), thermistors, diodes and other resistive sensors that
require constant current biasing.
This array describes the mux configuration of the excitation current
sources. The values correspond to pins similar to the diff-channels and
single-channel properties.
excitation-current-nanoamp:
description:
Excitation current sources provide current to resistive temperature
devices (RTDs), thermistors, diodes and other resistive sensors that
require constant current biasing.
This array describes the current configuration of the excitation current
sources. The index in the array corresponds to the same index in the
excitation-channels array.
burn-out-current-nanoamp:
description:
Burn-out current sources provide current to the channel's input pins for
open-circuit or short-circuit detection.
anyOf:
- oneOf:
- required:
- reg
- diff-channels
- required:
- reg
- single-channel
- required:
- reg
additionalProperties: true