From mboxrd@z Thu Jan 1 00:00:00 1970 From: Philipp Zabel Subject: [PATCH 1/2] [media] dt-bindings: Add bindings for video-multiplexer device Date: Fri, 28 Apr 2017 16:13:29 +0200 Message-ID: <20170428141330.16187-1-p.zabel@pengutronix.de> Return-path: Sender: linux-media-owner@vger.kernel.org To: linux-media@vger.kernel.org Cc: devicetree@vger.kernel.org, Steve Longerbeam , Peter Rosin , Sakari Ailus , Pavel Machek , Rob Herring , Mark Rutland , Vladimir Zapolskiy , kernel@pengutronix.de, Philipp Zabel , Sascha Hauer , Steve Longerbeam List-Id: devicetree@vger.kernel.org Add bindings documentation for the video multiplexer device. Signed-off-by: Sascha Hauer Signed-off-by: Philipp Zabel Signed-off-by: Steve Longerbeam --- This has been last sent as part of Steve's i.MX media series. Since the binding changed, I've dropped Rob's ack. Changes since https://patchwork.kernel.org/patch/9647951/: - Replaced re, bit-mask/shift, and gpios properties with a single mux-controls property, leaving the actual operation of the mux to a separate mux controller, as described by Peter's mux-controller bindings: https://patchwork.kernel.org/patch/9695835/ - Shortened 'video-multiplexer' compatible to 'video-mux', aligning with the other mux bindings. - Added a comment about the optional ports node and a link to the OF graph bindings document. --- .../devicetree/bindings/media/video-mux.txt | 60 ++++++++++++++++++++++ 1 file changed, 60 insertions(+) create mode 100644 Documentation/devicetree/bindings/media/video-mux.txt diff --git a/Documentation/devicetree/bindings/media/video-mux.txt b/Documentation/devicetree/bindings/media/video-mux.txt new file mode 100644 index 0000000000000..63b9dc913e456 --- /dev/null +++ b/Documentation/devicetree/bindings/media/video-mux.txt @@ -0,0 +1,60 @@ +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>; + }; + }; + }; +}; -- 2.11.0