Commit | Line | Data |
---|---|---|
43394d2f TR |
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 | }; |