1 # SPDX-License-Identifier: GPL-2.0 1 # SPDX-License-Identifier: GPL-2.0 2 %YAML 1.2 2 %YAML 1.2 3 --- 3 --- 4 $id: http://devicetree.org/schemas/iio/multipl 4 $id: http://devicetree.org/schemas/iio/multiplexer/io-channel-mux.yaml# 5 $schema: http://devicetree.org/meta-schemas/co 5 $schema: http://devicetree.org/meta-schemas/core.yaml# 6 6 7 title: I/O channel multiplexer !! 7 title: I/O channel multiplexer bindings 8 8 9 maintainers: 9 maintainers: 10 - Peter Rosin <peda@axentia.se> 10 - Peter Rosin <peda@axentia.se> 11 11 12 description: | 12 description: | 13 If a multiplexer is used to select which har 13 If a multiplexer is used to select which hardware signal is fed to 14 e.g. an ADC channel, these bindings describe 14 e.g. an ADC channel, these bindings describe that situation. 15 15 16 For each non-empty string in the channels pr 16 For each non-empty string in the channels property, an io-channel will be 17 created. The number of this io-channel is th 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 als 18 of strings in the channels property, and also matches the mux controller 19 state. The mux controller state is described 19 state. The mux controller state is described in 20 Documentation/devicetree/bindings/mux/mux-co 20 Documentation/devicetree/bindings/mux/mux-controller.yaml 21 21 22 properties: 22 properties: 23 23 24 compatible: 24 compatible: 25 const: io-channel-mux 25 const: io-channel-mux 26 26 27 io-channels: 27 io-channels: 28 maxItems: 1 28 maxItems: 1 29 description: Channel node of the parent ch 29 description: Channel node of the parent channel that has multiplexed input. 30 30 31 io-channel-names: 31 io-channel-names: 32 const: parent 32 const: parent 33 33 34 mux-controls: true 34 mux-controls: true 35 mux-control-names: true 35 mux-control-names: true 36 36 37 channels: 37 channels: 38 $ref: /schemas/types.yaml#/definitions/non 38 $ref: /schemas/types.yaml#/definitions/non-unique-string-array 39 description: 39 description: 40 List of strings, labeling the mux contro 40 List of strings, labeling the mux controller states. An empty 41 string for a state means that the channe 41 string for a state means that the channel is not available. 42 42 43 settle-time-us: 43 settle-time-us: 44 default: 0 44 default: 0 45 description: 45 description: 46 Time required for analog signals to sett 46 Time required for analog signals to settle after muxing. 47 47 48 "#io-channel-cells": 48 "#io-channel-cells": 49 const: 1 49 const: 1 50 50 51 required: 51 required: 52 - compatible 52 - compatible 53 - io-channels 53 - io-channels 54 - io-channel-names 54 - io-channel-names 55 - mux-controls 55 - mux-controls 56 - channels 56 - channels 57 57 58 additionalProperties: false 58 additionalProperties: false 59 59 60 examples: 60 examples: 61 - | 61 - | 62 #include <dt-bindings/gpio/gpio.h> 62 #include <dt-bindings/gpio/gpio.h> 63 mux: mux-controller { 63 mux: mux-controller { 64 compatible = "gpio-mux"; 64 compatible = "gpio-mux"; 65 #mux-control-cells = <0>; 65 #mux-control-cells = <0>; 66 66 67 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, 67 mux-gpios = <&pioA 0 GPIO_ACTIVE_HIGH>, 68 <&pioA 1 GPIO_ACTIVE_HIGH>; 68 <&pioA 1 GPIO_ACTIVE_HIGH>; 69 }; 69 }; 70 70 71 adc-mux { 71 adc-mux { 72 compatible = "io-channel-mux"; 72 compatible = "io-channel-mux"; 73 io-channels = <&adc 0>; 73 io-channels = <&adc 0>; 74 io-channel-names = "parent"; 74 io-channel-names = "parent"; 75 75 76 mux-controls = <&mux>; 76 mux-controls = <&mux>; 77 channels = "sync", "in", "system-regulat 77 channels = "sync", "in", "system-regulator"; 78 }; 78 }; 79 ... 79 ...
Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.