Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 4e12ad40 authored by Philipp Zabel's avatar Philipp Zabel Committed by Mauro Carvalho Chehab
Browse files

[media] dt-bindings: Add bindings for video-multiplexer device

parent 8ca00927
Loading
Loading
Loading
Loading
+60 −0
Original line number Diff line number Diff line
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>;
			};
		};
	};
};