Skip to content

Commit 43394d2

Browse files
committed
of: Add MIPI DSI bus device tree bindings
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>
1 parent a4d86e5 commit 43394d2

File tree

1 file changed

+98
-0
lines changed

1 file changed

+98
-0
lines changed
Lines changed: 98 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,98 @@
1+
MIPI DSI (Display Serial Interface) busses
2+
==========================================
3+
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.
7+
8+
This document describes DSI bus-specific properties only or defines existing
9+
standard properties in the context of the DSI bus.
10+
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.
14+
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.
17+
18+
DSI host
19+
--------
20+
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.
23+
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.
31+
32+
DSI peripheral
33+
--------------
34+
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.
38+
39+
Required properties:
40+
- reg: The virtual channel number of a DSI peripheral. Must be in the range
41+
from 0 to 3.
42+
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.
51+
52+
Example
53+
-------
54+
55+
dsi-host {
56+
...
57+
58+
#address-cells = <1>;
59+
#size-cells = <0>;
60+
61+
/* peripheral responds to virtual channel 0 */
62+
peripheral@0 {
63+
compatible = "...";
64+
reg = <0>;
65+
};
66+
67+
...
68+
};
69+
70+
dsi-host {
71+
...
72+
73+
#address-cells = <1>;
74+
#size-cells = <0>;
75+
76+
/* peripheral responds to virtual channels 0 and 2 */
77+
peripheral@0 {
78+
compatible = "...";
79+
reg = <0, 2>;
80+
};
81+
82+
...
83+
};
84+
85+
dsi-host {
86+
...
87+
88+
#address-cells = <1>;
89+
#size-cells = <1>;
90+
91+
/* peripheral responds to virtual channels 1, 2 and 3 */
92+
peripheral@1 {
93+
compatible = "...";
94+
reg = <1 3>;
95+
};
96+
97+
...
98+
};

0 commit comments

Comments
 (0)