Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[cris-mirror.git] / Documentation / devicetree / bindings / display / mipi-dsi-bus.txt
blob973c27273772b56f673756954bd43008159afc48
1 MIPI DSI (Display Serial Interface) busses
2 ==========================================
4 The MIPI Display Serial Interface specifies a serial bus and a protocol for
5 communication between a host and up to four peripherals. This document will
6 define the syntax used to represent a DSI bus in a device tree.
8 This document describes DSI bus-specific properties only or defines existing
9 standard properties in the context of the DSI bus.
11 Each DSI host provides a DSI bus. The DSI host controller's node contains a
12 set of properties that characterize the bus. Child nodes describe individual
13 peripherals on that bus.
15 The following assumes that only a single peripheral is connected to a DSI
16 host. Experience shows that this is true for the large majority of setups.
18 DSI host
19 --------
21 In addition to the standard properties and those defined by the parent bus of
22 a DSI host, the following properties apply to a node representing a DSI host.
24 Required properties:
25 - #address-cells: The number of cells required to represent an address on the
26   bus. DSI peripherals are addressed using a 2-bit virtual channel number, so
27   a maximum of 4 devices can be addressed on a single bus. Hence the value of
28   this property should be 1.
29 - #size-cells: Should be 0. There are cases where it makes sense to use a
30   different value here. See below.
32 DSI peripheral
33 --------------
35 Peripherals are represented as child nodes of the DSI host's node. Properties
36 described here apply to all DSI peripherals, but individual bindings may want
37 to define additional, device-specific properties.
39 Required properties:
40 - reg: The virtual channel number of a DSI peripheral. Must be in the range
41   from 0 to 3.
43 Some DSI peripherals respond to more than a single virtual channel. In that
44 case two alternative representations can be chosen:
45 - The reg property can take multiple entries, one for each virtual channel
46   that the peripheral responds to.
47 - If the virtual channels that a peripheral responds to are consecutive, the
48   #size-cells can be set to 1. The first cell of each entry in the reg
49   property is the number of the first virtual channel and the second cell is
50   the number of consecutive virtual channels.
52 Example
53 -------
55         dsi-host {
56                 ...
58                 #address-cells = <1>;
59                 #size-cells = <0>;
61                 /* peripheral responds to virtual channel 0 */
62                 peripheral@0 {
63                         compatible = "...";
64                         reg = <0>;
65                 };
67                 ...
68         };
70         dsi-host {
71                 ...
73                 #address-cells = <1>;
74                 #size-cells = <0>;
76                 /* peripheral responds to virtual channels 0 and 2 */
77                 peripheral@0 {
78                         compatible = "...";
79                         reg = <0, 2>;
80                 };
82                 ...
83         };
85         dsi-host {
86                 ...
88                 #address-cells = <1>;
89                 #size-cells = <1>;
91                 /* peripheral responds to virtual channels 1, 2 and 3 */
92                 peripheral@1 {
93                         compatible = "...";
94                         reg = <1 3>;
95                 };
97                 ...
98         };