| 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>; |
| }; |
| |
| ... |
| }; |