GNU Linux-libre 4.14.266-gnu1
[releases.git] / Documentation / devicetree / bindings / media / video-mux.txt
1 Video Multiplexer
2 =================
3
4 Video multiplexers allow to select between multiple input ports. Video received
5 on the active input port is passed through to the output port. Muxes described
6 by this binding are controlled by a multiplexer controller that is described by
7 the bindings in Documentation/devicetree/bindings/mux/mux-controller.txt
8
9 Required properties:
10 - compatible : should be "video-mux"
11 - mux-controls : mux controller node to use for operating the mux
12 - #address-cells: should be <1>
13 - #size-cells: should be <0>
14 - port@*: at least three port nodes containing endpoints connecting to the
15   source and sink devices according to of_graph bindings. The last port is
16   the output port, all others are inputs.
17
18 Optionally, #address-cells, #size-cells, and port nodes can be grouped under a
19 ports node as described in Documentation/devicetree/bindings/graph.txt.
20
21 Example:
22
23         mux: mux-controller {
24                 compatible = "gpio-mux";
25                 #mux-control-cells = <0>;
26
27                 mux-gpios = <&gpio1 15 GPIO_ACTIVE_HIGH>;
28         };
29
30         video-mux {
31                 compatible = "video-mux";
32                 mux-controls = <&mux>;
33                 #address-cells = <1>;
34                 #size-cells = <0>;
35
36                 port@0 {
37                         reg = <0>;
38
39                         mux_in0: endpoint {
40                                 remote-endpoint = <&video_source0_out>;
41                         };
42                 };
43
44                 port@1 {
45                         reg = <1>;
46
47                         mux_in1: endpoint {
48                                 remote-endpoint = <&video_source1_out>;
49                         };
50                 };
51
52                 port@2 {
53                         reg = <2>;
54
55                         mux_out: endpoint {
56                                 remote-endpoint = <&capture_interface_in>;
57                         };
58                 };
59         };
60 };