| # SPDX-License-Identifier: GPL-2.0 |
| %YAML 1.2 |
| --- |
| $id: http://devicetree.org/schemas/media/video-mux.yaml# |
| $schema: http://devicetree.org/meta-schemas/core.yaml# |
| |
| title: Video Multiplexer |
| |
| maintainers: |
| - Sakari Ailus <sakari.ailus@linux.intel.com> |
| - Laurent Pinchart <laurent.pinchart@ideasonboard.com> |
| |
| description: |
| Video multiplexers allow to select between multiple input ports. Video |
| received on the active input port is passed through to the output port. Muxes |
| described by this binding are controlled by a multiplexer controller. |
| |
| properties: |
| compatible: |
| const: video-mux |
| |
| mux-controls: |
| maxItems: 1 |
| |
| '#address-cells': |
| const: 1 |
| |
| '#size-cells': |
| const: 0 |
| |
| ports: |
| $ref: /schemas/graph.yaml#/properties/ports |
| |
| patternProperties: |
| '^port@': |
| $ref: /schemas/graph.yaml#/properties/port |
| |
| required: |
| - port@0 |
| - port@1 |
| - port@2 |
| |
| patternProperties: |
| '^port@': |
| $ref: /schemas/graph.yaml#/properties/port |
| description: |
| At least three port nodes containing endpoints connecting to the source |
| and sink devices according to of_graph bindings. The last port is the |
| output port, all others are inputs. |
| |
| required: |
| - compatible |
| - mux-controls |
| |
| oneOf: |
| - required: |
| - ports |
| - required: |
| - port@0 |
| - port@1 |
| - port@2 |
| |
| additionalProperties: false |
| |
| examples: |
| - | |
| #include <dt-bindings/gpio/gpio.h> |
| |
| mux: mux-controller { |
| compatible = "gpio-mux"; |
| #mux-control-cells = <0>; |
| |
| mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; |
| }; |
| |
| video-mux { |
| compatible = "video-mux"; |
| mux-controls = <&mux>; |
| #address-cells = <1>; |
| #size-cells = <0>; |
| |
| port@0 { |
| reg = <0>; |
| |
| mux_in0: endpoint { |
| remote-endpoint = <&video_source0_out>; |
| }; |
| }; |
| |
| port@1 { |
| reg = <1>; |
| |
| mux_in1: endpoint { |
| remote-endpoint = <&video_source1_out>; |
| }; |
| }; |
| |
| port@2 { |
| reg = <2>; |
| |
| mux_out: endpoint { |
| remote-endpoint = <&capture_interface_in>; |
| }; |
| }; |
| }; |
| ... |