| # SPDX-License-Identifier: GPL-2.0 |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/iio/multiplexer/io-channel-mux.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: I/O channel multiplexer bindings |
| |
| maintainers: |
| - Peter Rosin <peda@axentia.se> |
| |
| description: | |
| If a multiplexer is used to select which hardware signal is fed to |
| e.g. an ADC channel, these bindings describe that situation. |
| |
| For each non-empty string in the channels property, an io-channel will be |
| created. The number of this io-channel is the same as the index into the list |
| of strings in the channels property, and also matches the mux controller |
| state. The mux controller state is described in |
| Documentation/devicetree/bindings/mux/mux-controller.yaml |
| |
| properties: |
| |
| compatible: |
| const: io-channel-mux |
| |
| io-channels: |
| maxItems: 1 |
| description: Channel node of the parent channel that has multiplexed input. |
| |
| io-channel-names: |
| const: parent |
| |
| mux-controls: true |
| mux-control-names: true |
| |
| channels: |
| $ref: /schemas/types.yaml#/definitions/non-unique-string-array |
| description: |
| List of strings, labeling the mux controller states. An empty |
| string for a state means that the channel is not available. |
| |
| settle-time-us: |
| default: 0 |
| description: |
| Time required for analog signals to settle after muxing. |
| |
| "#io-channel-cells": |
| const: 1 |
| |
| required: |
| - compatible |
| - io-channels |
| - io-channel-names |
| - mux-controls |
| - channels |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| mux: mux-controller { |
| compatible = "gpio-mux"; |
| #mux-control-cells = <0>; |
| |
| mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, |
| <&pioA 1 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| adc-mux { |
| compatible = "io-channel-mux"; |
| io-channels = <&adc 0>; |
| io-channel-names = "parent"; |
| |
| mux-controls = <&mux>; |
| channels = "sync", "in", "system-regulator"; |
| }; |
| ... |