of: Add MIPI DSI bus device tree bindings
authorThierry Reding <treding@nvidia.com>
Mon, 2 Dec 2013 15:22:49 +0000 (16:22 +0100)
committerThierry Reding <treding@nvidia.com>
Tue, 17 Dec 2013 17:09:34 +0000 (18:09 +0100)
Document the device tree bindings for the MIPI DSI bus. The MIPI Display
Serial Interface specifies a serial bus and a protocol for communication
between a host and up to four peripherals.

Signed-off-by: Thierry Reding <treding@nvidia.com>
Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt [new file with mode: 0644]

diff --git a/Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt b/Documentation/devicetree/bindings/mipi/dsi/mipi-dsi-bus.txt
new file mode 100644 (file)
index 0000000..973c272
--- /dev/null
@@ -0,0 +1,98 @@
+MIPI DSI (Display Serial Interface) busses
+==========================================
+
+The MIPI Display Serial Interface specifies a serial bus and a protocol for
+communication between a host and up to four peripherals. This document will
+define the syntax used to represent a DSI bus in a device tree.
+
+This document describes DSI bus-specific properties only or defines existing
+standard properties in the context of the DSI bus.
+
+Each DSI host provides a DSI bus. The DSI host controller's node contains a
+set of properties that characterize the bus. Child nodes describe individual
+peripherals on that bus.
+
+The following assumes that only a single peripheral is connected to a DSI
+host. Experience shows that this is true for the large majority of setups.
+
+DSI host
+--------
+
+In addition to the standard properties and those defined by the parent bus of
+a DSI host, the following properties apply to a node representing a DSI host.
+
+Required properties:
+- #address-cells: The number of cells required to represent an address on the
+  bus. DSI peripherals are addressed using a 2-bit virtual channel number, so
+  a maximum of 4 devices can be addressed on a single bus. Hence the value of
+  this property should be 1.
+- #size-cells: Should be 0. There are cases where it makes sense to use a
+  different value here. See below.
+
+DSI peripheral
+--------------
+
+Peripherals are represented as child nodes of the DSI host's node. Properties
+described here apply to all DSI peripherals, but individual bindings may want
+to define additional, device-specific properties.
+
+Required properties:
+- reg: The virtual channel number of a DSI peripheral. Must be in the range
+  from 0 to 3.
+
+Some DSI peripherals respond to more than a single virtual channel. In that
+case two alternative representations can be chosen:
+- The reg property can take multiple entries, one for each virtual channel
+  that the peripheral responds to.
+- If the virtual channels that a peripheral responds to are consecutive, the
+  #size-cells can be set to 1. The first cell of each entry in the reg
+  property is the number of the first virtual channel and the second cell is
+  the number of consecutive virtual channels.
+
+Example
+-------
+
+       dsi-host {
+               ...
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               /* peripheral responds to virtual channel 0 */
+               peripheral@0 {
+                       compatible = "...";
+                       reg = <0>;
+               };
+
+               ...
+       };
+
+       dsi-host {
+               ...
+
+               #address-cells = <1>;
+               #size-cells = <0>;
+
+               /* peripheral responds to virtual channels 0 and 2 */
+               peripheral@0 {
+                       compatible = "...";
+                       reg = <0, 2>;
+               };
+
+               ...
+       };
+
+       dsi-host {
+               ...
+
+               #address-cells = <1>;
+               #size-cells = <1>;
+
+               /* peripheral responds to virtual channels 1, 2 and 3 */
+               peripheral@1 {
+                       compatible = "...";
+                       reg = <1 3>;
+               };
+
+               ...
+       };