--- /dev/null
+Video Multiplexer
+=================
+
+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 that is described by
+the bindings in Documentation/devicetree/bindings/mux/mux-controller.txt
+
+Required properties:
+- compatible : should be "video-mux"
+- mux-controls : mux controller node to use for operating the mux
+- #address-cells: should be <1>
+- #size-cells: should be <0>
+- port@*: 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.
+
+Optionally, #address-cells, #size-cells, and port nodes can be grouped under a
+ports node as described in Documentation/devicetree/bindings/graph.txt.
+
+Example:
+
+       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>;
+                       };
+               };
+       };
+};