|
@@ -0,0 +1,98 @@
|
|
|
+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>;
|
|
|
+ };
|
|
|
+
|
|
|
+ ...
|
|
|
+ };
|