80 lines · yaml
1# SPDX-License-Identifier: GPL-2.02%YAML 1.23---4$id: http://devicetree.org/schemas/iio/multiplexer/io-channel-mux.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: I/O channel multiplexer8 9maintainers:10 - Peter Rosin <peda@axentia.se>11 12description: |13 If a multiplexer is used to select which hardware signal is fed to14 e.g. an ADC channel, these bindings describe that situation.15 16 For each non-empty string in the channels property, an io-channel will be17 created. The number of this io-channel is the same as the index into the list18 of strings in the channels property, and also matches the mux controller19 state. The mux controller state is described in20 Documentation/devicetree/bindings/mux/mux-controller.yaml21 22properties:23 24 compatible:25 const: io-channel-mux26 27 io-channels:28 maxItems: 129 description: Channel node of the parent channel that has multiplexed input.30 31 io-channel-names:32 const: parent33 34 mux-controls: true35 mux-control-names: true36 37 channels:38 $ref: /schemas/types.yaml#/definitions/non-unique-string-array39 description:40 List of strings, labeling the mux controller states. An empty41 string for a state means that the channel is not available.42 43 settle-time-us:44 default: 045 description:46 Time required for analog signals to settle after muxing.47 48 "#io-channel-cells":49 const: 150 51required:52 - compatible53 - io-channels54 - io-channel-names55 - mux-controls56 - channels57 58additionalProperties: false59 60examples:61 - |62 #include <dt-bindings/gpio/gpio.h>63 mux: mux-controller {64 compatible = "gpio-mux";65 #mux-control-cells = <0>;66 67 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>,68 <&pioA 1 GPIO_ACTIVE_HIGH>;69 };70 71 adc-mux {72 compatible = "io-channel-mux";73 io-channels = <&adc 0>;74 io-channel-names = "parent";75 76 mux-controls = <&mux>;77 channels = "sync", "in", "system-regulator";78 };79...80