1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 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 multiplexer bindings 8 9maintainers: 10 - Peter Rosin <peda@axentia.se> 11 12description: | 13 If a multiplexer is used to select which hardware signal is fed to 14 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 be 17 created. The number of this io-channel is the same as the index into the list 18 of strings in the channels property, and also matches the mux controller 19 state. The mux controller state is described in 20 Documentation/devicetree/bindings/mux/mux-controller.yaml 21 22properties: 23 24 compatible: 25 const: io-channel-mux 26 27 io-channels: 28 maxItems: 1 29 description: Channel node of the parent channel that has multiplexed input. 30 31 io-channel-names: 32 const: parent 33 34 mux-controls: true 35 mux-control-names: true 36 37 channels: 38 $ref: /schemas/types.yaml#/definitions/string-array 39 description: 40 List of strings, labeling the mux controller states. 41 42 settle-time-us: 43 default: 0 44 description: 45 Time required for analog signals to settle after muxing. 46 47required: 48 - compatible 49 - io-channels 50 - io-channel-names 51 - mux-controls 52 - channels 53 54additionalProperties: false 55 56examples: 57 - | 58 #include <dt-bindings/gpio/gpio.h> 59 mux: mux-controller { 60 compatible = "gpio-mux"; 61 #mux-control-cells = <0>; 62 63 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, 64 <&pioA 1 GPIO_ACTIVE_HIGH>; 65 }; 66 67 adc-mux { 68 compatible = "io-channel-mux"; 69 io-channels = <&adc 0>; 70 io-channel-names = "parent"; 71 72 mux-controls = <&mux>; 73 channels = "sync", "in", "system-regulator"; 74 }; 75... 76