From: Philipp Zabel <p.zabel@pengutronix.de>
To: Russell King - ARM Linux <linux@arm.linux.org.uk>,
Mauro Carvalho Chehab <m.chehab@samsung.com>,
Grant Likely <grant.likely@linaro.org>
Cc: Rob Herring <robh+dt@kernel.org>,
Sylwester Nawrocki <s.nawrocki@samsung.com>,
Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
Tomi Valkeinen <tomi.valkeinen@ti.com>,
Kyungmin Park <kyungmin.park@samsung.com>,
linux-kernel@vger.kernel.org, linux-media@vger.kernel.org,
devicetree@vger.kernel.org,
Guennadi Liakhovetski <g.liakhovetski@gmx.de>,
Philipp Zabel <p.zabel@pengutronix.de>
Subject: [PATCH v4 3/3] Documentation: of: Document graph bindings
Date: Tue, 25 Feb 2014 15:58:24 +0100 [thread overview]
Message-ID: <1393340304-19005-4-git-send-email-p.zabel@pengutronix.de> (raw)
In-Reply-To: <1393340304-19005-1-git-send-email-p.zabel@pengutronix.de>
The device tree graph bindings as used by V4L2 and documented in
Documentation/device-tree/bindings/media/video-interfaces.txt contain
generic parts that are not media specific but could be useful for any
subsystem with data flow between multiple devices. This document
describe the generic bindings.
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
---
Documentation/devicetree/bindings/graph.txt | 98 +++++++++++++++++++++++++++++
1 file changed, 98 insertions(+)
create mode 100644 Documentation/devicetree/bindings/graph.txt
diff --git a/Documentation/devicetree/bindings/graph.txt b/Documentation/devicetree/bindings/graph.txt
new file mode 100644
index 0000000..97c877e
--- /dev/null
+++ b/Documentation/devicetree/bindings/graph.txt
@@ -0,0 +1,98 @@
+Common bindings for device graphs
+
+General concept
+---------------
+
+The hierarchical organisation of the device tree is well suited to describe
+control flow to devices, but data flow between devices that work together to
+form a logical compound device can follow arbitrarily complex graphs.
+The device tree graph bindings allow to describe data bus connections between
+individual devices, that can not be inferred from device tree parent-child
+relationships. The common bindings do not contain any information about the
+direction or type of data flow, they just map connections. Specific properties
+of the connections are described by specialized bindings depending on the type
+of connection. To see how this binding applies to video pipelines, see for
+example Documentation/device-tree/bindings/media/video-interfaces.txt.
+
+Devices can have multiple data interfaces, each of which can be connected to
+the data interfaces of one or more remote devices via a data bus.
+Data interfaces are described by the device nodes' child 'port' nodes. A port
+node contains an 'endpoint' subnode for each remote device port connected to
+this port via a bus. If a port is connected to more than one remote device on
+the same bus, an 'endpoint' child node must be provided for each of them. If
+more than one port is present in a device node or there is more than one
+endpoint at a port, or port node needs to be associated with a selected
+hardware interface, a common scheme using '#address-cells', '#size-cells'
+and 'reg' properties is used.
+
+device {
+ ...
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ ...
+ endpoint@0 { ... };
+ endpoint@1 { ... };
+ };
+
+ port@1 { ... };
+};
+
+All 'port' nodes can be grouped under optional 'ports' node, which allows to
+specify #address-cells, #size-cells properties independently for the 'port'
+and 'endpoint' nodes and any child device nodes a device might have.
+
+device {
+ ...
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ ...
+ endpoint@0 { ... };
+ endpoint@1 { ... };
+ };
+
+ port@1 { ... };
+ };
+};
+
+Each endpoint can contain a 'remote-endpoint' phandle property that points to
+the corresponding endpoint in the port of the remote device. Two 'endpoint'
+nodes are linked with each other through their 'remote-endpoint' phandles.
+
+device_1 {
+ port {
+ device_1_output: endpoint {
+ remote-endpoint = <&device_2_input>;
+ };
+ };
+};
+
+device_1 {
+ port {
+ device_2_input: endpoint {
+ remote-endpoint = <&device_1_output>;
+ };
+ };
+};
+
+
+Required properties
+-------------------
+
+If there is more than one 'port' or more than one 'endpoint' node or 'reg'
+property is present in port and/or endpoint nodes the following properties
+are required in a relevant parent node:
+
+ - #address-cells : number of cells required to define port/endpoint
+ identifier, should be 1.
+ - #size-cells : should be zero.
+
+Optional endpoint properties
+----------------------------
+
+- remote-endpoint: phandle to an 'endpoint' subnode of a remote device node.
+
--
1.8.5.3
next prev parent reply other threads:[~2014-02-25 14:58 UTC|newest]
Thread overview: 42+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-25 14:58 [PATCH v4 0/3] Move device tree graph parsing helpers to drivers/of Philipp Zabel
[not found] ` < 1393428297.3248.92.camel@paszta.hi.pengutronix.de>
[not found] ` <20140307171804. EF245C40A32@trevor.secretlab.ca>
[not found] ` < 1393340304-19005-2-git-send-email-p.zabel@pengutronix.de>
[not found] ` <20140226113729. A9D5AC40A89@trevor.secretlab.ca>
[not found] ` < 20140226113729.A9D5AC40A89@trevor.secretlab.ca>
[not found] ` < 1393340304-19005-4-git-send-email-p.zabel@pengutronix.de>
2014-02-25 14:58 ` [PATCH v4 1/3] [media] of: move graph helpers from drivers/media/v4l2-core " Philipp Zabel
2014-02-26 11:37 ` Grant Likely
2014-02-26 15:24 ` Philipp Zabel
2014-03-07 17:18 ` Grant Likely
2014-03-08 10:46 ` Tomi Valkeinen
2014-03-08 12:23 ` Grant Likely
2014-03-08 15:50 ` Laurent Pinchart
2014-03-20 22:23 ` Grant Likely
[not found] ` <20140320222347.CAB6DC412EA-WNowdnHR2B42iJbIjFUEsiwD8/FfD2ys@public.gmane.org>
2014-03-20 22:32 ` Laurent Pinchart
2014-03-21 13:37 ` Tomi Valkeinen
2014-03-21 14:10 ` Sylwester Nawrocki
[not found] ` <532C408D.4070002-l0cyMroinI0@public.gmane.org>
2014-03-21 14:13 ` Laurent Pinchart
2014-03-21 14:22 ` Tomi Valkeinen
[not found] ` <532C4B3C.4030406-l0cyMroinI0@public.gmane.org>
2014-03-21 14:30 ` Laurent Pinchart
2014-03-10 6:34 ` Tomi Valkeinen
2014-03-20 22:26 ` Grant Likely
2014-03-08 12:07 ` Philipp Zabel
[not found] ` <CA+gwMcfgKre8S4KHPvTVuAuz672aehGrN1UfFpwKAueTAcrMZQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-03-08 15:54 ` Laurent Pinchart
2014-03-10 6:00 ` Tomi Valkeinen
[not found] ` <531D54E2.8030303-l0cyMroinI0@public.gmane.org>
2014-03-10 13:57 ` Laurent Pinchart
2014-03-10 8:58 ` Andrzej Hajda
[not found] ` <531D7E9F.3090708-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-10 9:29 ` Tomi Valkeinen
2014-03-10 11:42 ` Laurent Pinchart
2014-03-11 13:55 ` Andrzej Hajda
2014-03-20 22:33 ` Grant Likely
2014-02-25 14:58 ` [PATCH v4 2/3] [media] of: move common endpoint parsing " Philipp Zabel
2014-02-25 14:58 ` Philipp Zabel [this message]
2014-02-26 13:14 ` [PATCH v4 3/3] Documentation: of: Document graph bindings Tomi Valkeinen
2014-02-26 14:57 ` Philipp Zabel
[not found] ` <1393426623.3248.70.camel-+qGW7pzALmz7o/J7KWpOmN53zsg1cpMQ@public.gmane.org>
2014-02-26 14:50 ` Tomi Valkeinen
2014-02-26 15:47 ` Philipp Zabel
[not found] ` <1393429676.3248.110.camel-+qGW7pzALmz7o/J7KWpOmN53zsg1cpMQ@public.gmane.org>
2014-02-27 8:08 ` Tomi Valkeinen
2014-02-27 10:52 ` Philipp Zabel
2014-02-27 10:41 ` Tomi Valkeinen
[not found] ` < 530DFF4C.8080807@ti.com>
[not found] ` <530DFF4C.8080807-l0cyMroinI0@public.gmane.org>
2014-03-07 18:11 ` Grant Likely
2014-03-08 9:35 ` Tomi Valkeinen
2014-03-08 12:25 ` Grant Likely
2014-03-08 15:43 ` Laurent Pinchart
2014-03-10 6:53 ` Tomi Valkeinen
[not found] ` <531D6178.3070906-l0cyMroinI0@public.gmane.org>
2014-03-11 13:47 ` Sylwester Nawrocki
2014-03-07 17:20 ` Grant Likely
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1393340304-19005-4-git-send-email-p.zabel@pengutronix.de \
--to=p.zabel@pengutronix.de \
--cc=devicetree@vger.kernel.org \
--cc=g.liakhovetski@gmx.de \
--cc=grant.likely@linaro.org \
--cc=kyungmin.park@samsung.com \
--cc=laurent.pinchart@ideasonboard.com \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=m.chehab@samsung.com \
--cc=robh+dt@kernel.org \
--cc=s.nawrocki@samsung.com \
--cc=tomi.valkeinen@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).