~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

TOMOYO Linux Cross Reference
Linux/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt

Version: ~ [ linux-6.12-rc7 ] ~ [ linux-6.11.7 ] ~ [ linux-6.10.14 ] ~ [ linux-6.9.12 ] ~ [ linux-6.8.12 ] ~ [ linux-6.7.12 ] ~ [ linux-6.6.60 ] ~ [ linux-6.5.13 ] ~ [ linux-6.4.16 ] ~ [ linux-6.3.13 ] ~ [ linux-6.2.16 ] ~ [ linux-6.1.116 ] ~ [ linux-6.0.19 ] ~ [ linux-5.19.17 ] ~ [ linux-5.18.19 ] ~ [ linux-5.17.15 ] ~ [ linux-5.16.20 ] ~ [ linux-5.15.171 ] ~ [ linux-5.14.21 ] ~ [ linux-5.13.19 ] ~ [ linux-5.12.19 ] ~ [ linux-5.11.22 ] ~ [ linux-5.10.229 ] ~ [ linux-5.9.16 ] ~ [ linux-5.8.18 ] ~ [ linux-5.7.19 ] ~ [ linux-5.6.19 ] ~ [ linux-5.5.19 ] ~ [ linux-5.4.285 ] ~ [ linux-5.3.18 ] ~ [ linux-5.2.21 ] ~ [ linux-5.1.21 ] ~ [ linux-5.0.21 ] ~ [ linux-4.20.17 ] ~ [ linux-4.19.323 ] ~ [ linux-4.18.20 ] ~ [ linux-4.17.19 ] ~ [ linux-4.16.18 ] ~ [ linux-4.15.18 ] ~ [ linux-4.14.336 ] ~ [ linux-4.13.16 ] ~ [ linux-4.12.14 ] ~ [ linux-4.11.12 ] ~ [ linux-4.10.17 ] ~ [ linux-4.9.337 ] ~ [ linux-4.4.302 ] ~ [ linux-3.10.108 ] ~ [ linux-2.6.32.71 ] ~ [ linux-2.6.0 ] ~ [ linux-2.4.37.11 ] ~ [ unix-v6-master ] ~ [ ccs-tools-1.8.12 ] ~ [ policy-sample ] ~
Architecture: ~ [ i386 ] ~ [ alpha ] ~ [ m68k ] ~ [ mips ] ~ [ ppc ] ~ [ sparc ] ~ [ sparc64 ] ~

Diff markup

Differences between /Documentation/devicetree/bindings/display/mipi-dsi-bus.txt (Architecture alpha) and /Documentation/devicetree/bindings/display/mipi-dsi-bus.txt (Architecture ppc)


  1 MIPI DSI (Display Serial Interface) busses          1 MIPI DSI (Display Serial Interface) busses
  2 ==========================================          2 ==========================================
  3                                                     3 
  4 The MIPI Display Serial Interface specifies a       4 The MIPI Display Serial Interface specifies a serial bus and a protocol for
  5 communication between a host and up to four pe      5 communication between a host and up to four peripherals. This document will
  6 define the syntax used to represent a DSI bus       6 define the syntax used to represent a DSI bus in a device tree.
  7                                                     7 
  8 This document describes DSI bus-specific prope      8 This document describes DSI bus-specific properties only or defines existing
  9 standard properties in the context of the DSI       9 standard properties in the context of the DSI bus.
 10                                                    10 
 11 Each DSI host provides a DSI bus. The DSI host     11 Each DSI host provides a DSI bus. The DSI host controller's node contains a
 12 set of properties that characterize the bus. C     12 set of properties that characterize the bus. Child nodes describe individual
 13 peripherals on that bus.                           13 peripherals on that bus.
 14                                                    14 
 15 The following assumes that only a single perip     15 The following assumes that only a single peripheral is connected to a DSI
 16 host. Experience shows that this is true for t     16 host. Experience shows that this is true for the large majority of setups.
 17                                                    17 
 18 DSI host                                           18 DSI host
 19 ========                                           19 ========
 20                                                    20 
 21 In addition to the standard properties and tho     21 In addition to the standard properties and those defined by the parent bus of
 22 a DSI host, the following properties apply to      22 a DSI host, the following properties apply to a node representing a DSI host.
 23                                                    23 
 24 Required properties:                               24 Required properties:
 25 - #address-cells: The number of cells required     25 - #address-cells: The number of cells required to represent an address on the
 26   bus. DSI peripherals are addressed using a 2     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     27   a maximum of 4 devices can be addressed on a single bus. Hence the value of
 28   this property should be 1.                       28   this property should be 1.
 29 - #size-cells: Should be 0. There are cases wh     29 - #size-cells: Should be 0. There are cases where it makes sense to use a
 30   different value here. See below.                 30   different value here. See below.
 31                                                    31 
 32 Optional properties:                               32 Optional properties:
 33 - clock-master: boolean. Should be enabled if      33 - clock-master: boolean. Should be enabled if the host is being used in
 34   conjunction with another DSI host to drive t     34   conjunction with another DSI host to drive the same peripheral. Hardware
 35   supporting such a configuration generally re     35   supporting such a configuration generally requires the data on both the busses
 36   to be driven by the same clock. Only the DSI     36   to be driven by the same clock. Only the DSI host instance controlling this
 37   clock should contain this property.              37   clock should contain this property.
 38                                                    38 
 39 DSI peripheral                                     39 DSI peripheral
 40 ==============                                     40 ==============
 41                                                    41 
 42 Peripherals with DSI as control bus, or no con     42 Peripherals with DSI as control bus, or no control bus
 43 ----------------------------------------------     43 ------------------------------------------------------
 44                                                    44 
 45 Peripherals with the DSI bus as the primary co     45 Peripherals with the DSI bus as the primary control bus, or peripherals with
 46 no control bus but use the DSI bus to transmit     46 no control bus but use the DSI bus to transmit pixel data are represented
 47 as child nodes of the DSI host's node. Propert     47 as child nodes of the DSI host's node. Properties described here apply to all
 48 DSI peripherals, but individual bindings may w     48 DSI peripherals, but individual bindings may want to define additional,
 49 device-specific properties.                        49 device-specific properties.
 50                                                    50 
 51 Required properties:                               51 Required properties:
 52 - reg: The virtual channel number of a DSI per     52 - reg: The virtual channel number of a DSI peripheral. Must be in the range
 53   from 0 to 3.                                     53   from 0 to 3.
 54                                                    54 
 55 Some DSI peripherals respond to more than a si     55 Some DSI peripherals respond to more than a single virtual channel. In that
 56 case two alternative representations can be ch     56 case two alternative representations can be chosen:
 57 - The reg property can take multiple entries,      57 - The reg property can take multiple entries, one for each virtual channel
 58   that the peripheral responds to.                 58   that the peripheral responds to.
 59 - If the virtual channels that a peripheral re     59 - If the virtual channels that a peripheral responds to are consecutive, the
 60   #size-cells can be set to 1. The first cell      60   #size-cells can be set to 1. The first cell of each entry in the reg
 61   property is the number of the first virtual      61   property is the number of the first virtual channel and the second cell is
 62   the number of consecutive virtual channels.      62   the number of consecutive virtual channels.
 63                                                    63 
 64 Peripherals with a different control bus           64 Peripherals with a different control bus
 65 ----------------------------------------           65 ----------------------------------------
 66                                                    66 
 67 There are peripherals that have I2C/SPI (or so     67 There are peripherals that have I2C/SPI (or some other non-DSI bus) as the
 68 primary control bus, but are also connected to     68 primary control bus, but are also connected to a DSI bus (mostly for the data
 69 path). Connections between such peripherals an     69 path). Connections between such peripherals and a DSI host can be represented
 70 using the graph bindings [1], [2].                 70 using the graph bindings [1], [2].
 71                                                    71 
 72 Peripherals that support dual channel DSI          72 Peripherals that support dual channel DSI
 73 -----------------------------------------          73 -----------------------------------------
 74                                                    74 
 75 Peripherals with higher bandwidth requirements     75 Peripherals with higher bandwidth requirements can be connected to 2 DSI
 76 busses. Each DSI bus/channel drives some porti     76 busses. Each DSI bus/channel drives some portion of the pixel data (generally
 77 left/right half of each line of the display, o     77 left/right half of each line of the display, or even/odd lines of the display).
 78 The graph bindings should be used to represent     78 The graph bindings should be used to represent the multiple DSI busses that are
 79 connected to this peripheral. Each DSI host's      79 connected to this peripheral. Each DSI host's output endpoint can be linked to
 80 an input endpoint of the DSI peripheral.           80 an input endpoint of the DSI peripheral.
 81                                                    81 
 82 [1] Documentation/devicetree/bindings/graph.tx     82 [1] Documentation/devicetree/bindings/graph.txt
 83 [2] Documentation/devicetree/bindings/media/vi     83 [2] Documentation/devicetree/bindings/media/video-interfaces.txt
 84                                                    84 
 85 Examples                                           85 Examples
 86 ========                                           86 ========
 87 - (1), (2) and (3) are examples of a DSI host      87 - (1), (2) and (3) are examples of a DSI host and peripheral on the DSI bus
 88   with different virtual channel configuration     88   with different virtual channel configurations.
 89 - (4) is an example of a peripheral on a I2C c     89 - (4) is an example of a peripheral on a I2C control bus connected to a
 90   DSI host using of-graph bindings.                90   DSI host using of-graph bindings.
 91 - (5) is an example of 2 DSI hosts driving a d     91 - (5) is an example of 2 DSI hosts driving a dual-channel DSI peripheral,
 92   which uses I2C as its primary control bus.       92   which uses I2C as its primary control bus.
 93                                                    93 
 94 1)                                                 94 1)
 95         dsi-host {                                 95         dsi-host {
 96                 ...                                96                 ...
 97                                                    97 
 98                 #address-cells = <1>;              98                 #address-cells = <1>;
 99                 #size-cells = <0>;                 99                 #size-cells = <0>;
100                                                   100 
101                 /* peripheral responds to virt    101                 /* peripheral responds to virtual channel 0 */
102                 peripheral@0 {                    102                 peripheral@0 {
103                         compatible = "...";       103                         compatible = "...";
104                         reg = <0>;                104                         reg = <0>;
105                 };                                105                 };
106                                                   106 
107                 ...                               107                 ...
108         };                                        108         };
109                                                   109 
110 2)                                                110 2)
111         dsi-host {                                111         dsi-host {
112                 ...                               112                 ...
113                                                   113 
114                 #address-cells = <1>;             114                 #address-cells = <1>;
115                 #size-cells = <0>;                115                 #size-cells = <0>;
116                                                   116 
117                 /* peripheral responds to virt    117                 /* peripheral responds to virtual channels 0 and 2 */
118                 peripheral@0 {                    118                 peripheral@0 {
119                         compatible = "...";       119                         compatible = "...";
120                         reg = <0, 2>;             120                         reg = <0, 2>;
121                 };                                121                 };
122                                                   122 
123                 ...                               123                 ...
124         };                                        124         };
125                                                   125 
126 3)                                                126 3)
127         dsi-host {                                127         dsi-host {
128                 ...                               128                 ...
129                                                   129 
130                 #address-cells = <1>;             130                 #address-cells = <1>;
131                 #size-cells = <1>;                131                 #size-cells = <1>;
132                                                   132 
133                 /* peripheral responds to virt    133                 /* peripheral responds to virtual channels 1, 2 and 3 */
134                 peripheral@1 {                    134                 peripheral@1 {
135                         compatible = "...";       135                         compatible = "...";
136                         reg = <1 3>;              136                         reg = <1 3>;
137                 };                                137                 };
138                                                   138 
139                 ...                               139                 ...
140         };                                        140         };
141                                                   141 
142 4)                                                142 4)
143         i2c-host {                                143         i2c-host {
144                 ...                               144                 ...
145                                                   145 
146                 dsi-bridge@35 {                   146                 dsi-bridge@35 {
147                         compatible = "...";       147                         compatible = "...";
148                         reg = <0x35>;             148                         reg = <0x35>;
149                                                   149 
150                         ports {                   150                         ports {
151                                 ...               151                                 ...
152                                                   152 
153                                 port {            153                                 port {
154                                         bridge    154                                         bridge_mipi_in: endpoint {
155                                                   155                                                 remote-endpoint = <&host_mipi_out>;
156                                         };        156                                         };
157                                 };                157                                 };
158                         };                        158                         };
159                 };                                159                 };
160         };                                        160         };
161                                                   161 
162         dsi-host {                                162         dsi-host {
163                 ...                               163                 ...
164                                                   164 
165                 ports {                           165                 ports {
166                         ...                       166                         ...
167                                                   167 
168                         port {                    168                         port {
169                                 host_mipi_out:    169                                 host_mipi_out: endpoint {
170                                         remote    170                                         remote-endpoint = <&bridge_mipi_in>;
171                                 };                171                                 };
172                         };                        172                         };
173                 };                                173                 };
174         };                                        174         };
175                                                   175 
176 5)                                                176 5)
177         i2c-host {                                177         i2c-host {
178                 dsi-bridge@35 {                   178                 dsi-bridge@35 {
179                         compatible = "...";       179                         compatible = "...";
180                         reg = <0x35>;             180                         reg = <0x35>;
181                                                   181 
182                         ports {                   182                         ports {
183                                 #address-cells    183                                 #address-cells = <1>;
184                                 #size-cells =     184                                 #size-cells = <0>;
185                                                   185 
186                                 port@0 {          186                                 port@0 {
187                                         reg =     187                                         reg = <0>;
188                                         dsi0_i    188                                         dsi0_in: endpoint {
189                                                   189                                                 remote-endpoint = <&dsi0_out>;
190                                         };        190                                         };
191                                 };                191                                 };
192                                                   192 
193                                 port@1 {          193                                 port@1 {
194                                         reg =     194                                         reg = <1>;
195                                         dsi1_i    195                                         dsi1_in: endpoint {
196                                                   196                                                 remote-endpoint = <&dsi1_out>;
197                                         };        197                                         };
198                                 };                198                                 };
199                         };                        199                         };
200                 };                                200                 };
201         };                                        201         };
202                                                   202 
203         dsi0-host {                               203         dsi0-host {
204                 ...                               204                 ...
205                                                   205 
206                 /*                                206                 /*
207                  * this DSI instance drives th    207                  * this DSI instance drives the clock for both the host
208                  * controllers                    208                  * controllers
209                  */                               209                  */
210                 clock-master;                     210                 clock-master;
211                                                   211 
212                 ports {                           212                 ports {
213                         ...                       213                         ...
214                                                   214 
215                         port {                    215                         port {
216                                 dsi0_out: endp    216                                 dsi0_out: endpoint {
217                                         remote    217                                         remote-endpoint = <&dsi0_in>;
218                                 };                218                                 };
219                         };                        219                         };
220                 };                                220                 };
221         };                                        221         };
222                                                   222 
223         dsi1-host {                               223         dsi1-host {
224                 ...                               224                 ...
225                                                   225 
226                 ports {                           226                 ports {
227                         ...                       227                         ...
228                                                   228 
229                         port {                    229                         port {
230                                 dsi1_out: endp    230                                 dsi1_out: endpoint {
231                                         remote    231                                         remote-endpoint = <&dsi1_in>;
232                                 };                232                                 };
233                         };                        233                         };
234                 };                                234                 };
235         };                                        235         };
                                                      

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~

kernel.org | git.kernel.org | LWN.net | Project Home | SVN repository | Mail admin

Linux® is a registered trademark of Linus Torvalds in the United States and other countries.
TOMOYO® is a registered trademark of NTT DATA CORPORATION.

sflogo.php