1# SPDX-License-Identifier: GPL-2.0 2%YAML 1.2 3--- 4$id: http://devicetree.org/schemas/media/video-mux.yaml# 5$schema: http://devicetree.org/meta-schemas/core.yaml# 6 7title: Video Multiplexer 8 9maintainers: 10 - Sakari Ailus <sakari.ailus@linux.intel.com> 11 - Laurent Pinchart <laurent.pinchart@ideasonboard.com> 12 13description: 14 Video multiplexers allow to select between multiple input ports. Video 15 received on the active input port is passed through to the output port. Muxes 16 described by this binding are controlled by a multiplexer controller. 17 18properties: 19 compatible: 20 const: video-mux 21 22 mux-controls: 23 maxItems: 1 24 25 '#address-cells': 26 const: 1 27 28 '#size-cells': 29 const: 0 30 31 ports: 32 $ref: /schemas/graph.yaml#/properties/ports 33 34 patternProperties: 35 '^port@': 36 $ref: /schemas/graph.yaml#/properties/port 37 38 required: 39 - port@0 40 - port@1 41 - port@2 42 43patternProperties: 44 '^port@': 45 $ref: /schemas/graph.yaml#/properties/port 46 description: 47 At least three port nodes containing endpoints connecting to the source 48 and sink devices according to of_graph bindings. The last port is the 49 output port, all others are inputs. 50 51required: 52 - compatible 53 - mux-controls 54 55oneOf: 56 - required: 57 - ports 58 - required: 59 - port@0 60 - port@1 61 - port@2 62 63additionalProperties: false 64 65examples: 66 - | 67 #include <dt-bindings/gpio/gpio.h> 68 69 mux: mux-controller { 70 compatible = "gpio-mux"; 71 #mux-control-cells = <0>; 72 73 mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>; 74 }; 75 76 video-mux { 77 compatible = "video-mux"; 78 mux-controls = <&mux>; 79 #address-cells = <1>; 80 #size-cells = <0>; 81 82 port@0 { 83 reg = <0>; 84 85 mux_in0: endpoint { 86 remote-endpoint = <&video_source0_out>; 87 }; 88 }; 89 90 port@1 { 91 reg = <1>; 92 93 mux_in1: endpoint { 94 remote-endpoint = <&video_source1_out>; 95 }; 96 }; 97 98 port@2 { 99 reg = <2>; 100 101 mux_out: endpoint { 102 remote-endpoint = <&capture_interface_in>; 103 }; 104 }; 105 }; 106... 107