Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

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

Add bindings documentation for the video multiplexer device.

Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Acked-by: Sakari Ailus <sakari.ailus@linux.intel.com>
Reviewed-by: Sebastian Reichel <sebastian.reichel@collabora.co.uk>
Acked-by: Rob Herring <robh@kernel.org>
Acked-by: Pavel Machek <pavel@ucw.cz>
Signed-off-by: Hans Verkuil <hans.verkuil@cisco.com>
Signed-off-by: Mauro Carvalho Chehab <mchehab@s-opensource.com>

authored by

Philipp Zabel and committed by
Mauro Carvalho Chehab
4e12ad40 8ca00927

+60
+60
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 + };