[RFC 1/2] dt-bindings: mipi-dsi: Add info about peripherals with non-DSI control bus

Archit Taneja architt at codeaurora.org
Thu Dec 7 15:12:25 UTC 2017



On 12/07/2017 03:09 AM, Rob Herring wrote:
> On Tue, Dec 05, 2017 at 04:03:55PM +0530, Archit Taneja wrote:
>> Add a section that describes dt-bindings for peripherals that support
>> MIPI DSI, but have a different bus as the primary control bus. Add an
>> example for such peripherals.
>>
>> Signed-off-by: Archit Taneja <architt at codeaurora.org>
>> ---
>>   .../devicetree/bindings/display/mipi-dsi-bus.txt   | 75 ++++++++++++++++++++--
>>   1 file changed, 68 insertions(+), 7 deletions(-)
>>
>> diff --git a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
>> index 973c27273772..77a7cec15f5b 100644
>> --- a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
>> +++ b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
>> @@ -16,7 +16,7 @@ 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.
>> @@ -30,11 +30,15 @@ Required properties:
>>     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.
>> +Peripherals with DSI as control bus
>> +------------------------------------
>> +
>> +Peripherals with the DSI bus as the primary control path 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.
> 
> Are there any panels with no control bus? I've never seen one, but it
> should be possible if LVDS panels can power on without commands.

DSI panels generally require sending at least a couple of DCS commands to be
exit sleep mode and get powered on. I guess I can rewrite the above paragraph
to include peripherals which have no control bus at all.


> 
>>   Required properties:
>>   - reg: The virtual channel number of a DSI peripheral. Must be in the range
>> @@ -49,9 +53,25 @@ case two alternative representations can be chosen:
>>     property is the number of the first virtual channel and the second cell is
>>     the number of consecutive virtual channels.
>>   
>> -Example
>> --------
>> +Peripherals with a different control bus
>> +----------------------------------------
>> +
>> +There are peripherals that have I2C/SPI (or some other non-DSI bus) as the
>> +primary control bus, but are also connected to a DSI bus (mostly for the data
>> +path). Connections between such peripherals and a DSI host can be represented
>> +using the graph bindings [1], [2].
>> +
>> +[1] Documentation/devicetree/bindings/graph.txt
>> +[2] Documentation/devicetree/bindings/media/video-interfaces.txt
>>   
>> +Examples
>> +========
>> +- (1), (2) and (3) are examples of a DSI host and peripheral on the DSI bus
>> +  with different virtual channel configurations.
>> +- (4) is an example of a peripheral on a I2C control bus connected with to
>> +  a DSI host using of-graph bindings.
>> +
>> +1)
>>   	dsi-host {
>>   		...
>>   
>> @@ -67,6 +87,7 @@ Example
>>   		...
>>   	};
>>   
>> +2)
>>   	dsi-host {
>>   		...
>>   
>> @@ -82,6 +103,7 @@ Example
>>   		...
>>   	};
>>   
>> +3)
>>   	dsi-host {
>>   		...
>>   
>> @@ -96,3 +118,42 @@ Example
>>   
>>   		...
>>   	};
>> +
>> +4)
>> +	i2c-host {
>> +		...
>> +
>> +		dsi-bridge at 35 {
>> +			compatible = "...";
>> +			reg = <0x35>;
>> +
>> +			ports {
>> +				#address-cells = <1>;
>> +				#size-cells = <0>;
>> +
>> +				...
>> +
>> +				port at 0 {
> 
> Drop unit-address and #*-cells.
> 
>> +					bridge_mipi_in: endpoint {
>> +						remote-endpoint = <&host_mipi_out>;
>> +					};
>> +				};
>> +			};
>> +		};
>> +	};
>> +
>> +	dsi-host {
>> +		...
>> +
>> +		ports {
>> +			#address-cells = <1>;
>> +			#size-cells = <0>;
>> +			...
>> +
>> +			port at 0 {
> 
> Drop unit-address and #*-cells.

Thanks, I'll fix these and the similar comments in the second patch.

Archit

-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum,
a Linux Foundation Collaborative Project


More information about the dri-devel mailing list