80 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
| # 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";
 | |
|     };
 | |
| ...
 |