# 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>; }; }; }; ...