[RFC v2 2/2] dt-bindings: mipi-dsi: Add dual-channel DSI related info

Archit Taneja architt at codeaurora.org
Wed Jun 6 05:59:29 UTC 2018



On Monday 04 June 2018 05:47 PM, Heiko Stuebner wrote:
> Am Donnerstag, 18. Januar 2018, 05:53:55 CEST schrieb Archit Taneja:
>> Add binding info for peripherals that support dual-channel DSI. Add
>> corresponding optional bindings for DSI host controllers that may
>> be configured in this mode. Add an example of an I2C controlled
>> device operating in dual-channel DSI mode.
>>
>> Signed-off-by: Archit Taneja <architt at codeaurora.org>
> 
> Looks like a great solution for that problem, so
> Reviewed-by: Heiko Stuebner <heiko at sntech.de>
> 
> As I'm looking into that for my rk3399-scarlet device right now and
> couldn't find this patchset in the kernel yet, is it planned to
> merge or refresh these binding changes or were problems encountered.
> 
> At least an Ack/Review from Rob seems to be missing.
> 

I forgot about these patches. Rob had reviewed the first one in
the set the second one still needed an Ack. I'll post a v3
that adds the Reviewed-bys and fixes a small typo.

Archit

> 
> Heiko
> 
>> ---
>> v2:
>> - Specify that clock-master is a boolean property.
>> - Drop/add unit-address and #*-cells where applicable.
>>
>>   .../devicetree/bindings/display/mipi-dsi-bus.txt   | 80 ++++++++++++++++++++++
>>   1 file changed, 80 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
>> index 94fb72cb916f..7a3abbedb3fa 100644
>> --- a/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
>> +++ b/Documentation/devicetree/bindings/display/mipi-dsi-bus.txt
>> @@ -29,6 +29,13 @@ Required properties:
>>   - #size-cells: Should be 0. There are cases where it makes sense to use a
>>     different value here. See below.
>>   
>> +Optional properties:
>> +- clock-master: boolean. Should be enabled if the host is being used in
>> +  conjunction with another DSI host to drive the same peripheral. Hardware
>> +  supporting such a configuration generally requires the data on both the busses
>> +  to be driven by the same clock. Only the DSI host instance controlling this
>> +  clock should contain this property.
>> +
>>   DSI peripheral
>>   ==============
>>   
>> @@ -62,6 +69,16 @@ 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].
>>   
>> +Peripherals that support dual channel DSI
>> +-----------------------------------------
>> +
>> +Peripherals with higher bandwidth requirements can be connected to 2 DSI
>> +busses. Each DSI bus/channel drives some portion of the pixel data (generally
>> +left/right half of each line of the display, or even/odd lines of the display).
>> +The graph bindings should be used to represent the multiple DSI busses that are
>> +connected to this peripheral. Each DSI host's output endpoint can be linked to
>> +an input endpoint of the DSI peripheral.
>> +
>>   [1] Documentation/devicetree/bindings/graph.txt
>>   [2] Documentation/devicetree/bindings/media/video-interfaces.txt
>>   
>> @@ -71,6 +88,8 @@ Examples
>>     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.
>> +- (5) is an example of 2 DSI hosts driving a dual-channel DSI peripheral,
>> +  which uses I2C as its primary control bus.
>>   
>>   1)
>>   	dsi-host {
>> @@ -153,3 +172,64 @@ Examples
>>   			};
>>   		};
>>   	};
>> +
>> +5)
>> +	i2c-host {
>> +		dsi-bridge at 35 {
>> +			compatible = "...";
>> +			reg = <0x35>;
>> +
>> +			ports {
>> +				#address-cells = <1>;
>> +				#size-cells = <0>;
>> +
>> +				port at 0 {
>> +					reg = <0>;
>> +					dsi0_in: endpoint {
>> +						remote-endpoint = <&dsi0_out>;
>> +					};
>> +				};
>> +
>> +				port at 1 {
>> +					reg = <1>;
>> +					dsi1_in: endpoint {
>> +						remote-endpoint = <&dsi1_out>;
>> +					};
>> +				};
>> +			};
>> +		};
>> +	};
>> +
>> +	dsi0-host {
>> +		...
>> +
>> +		/*
>> +		 * this DSI instance drives the clock for both the host
>> +		 * controllers
>> +		 */
>> +		clock-master;
>> +
>> +		ports {
>> +			...
>> +
>> +			port {
>> +				dsi0_out: endpoint {
>> +					remote-endpoint = <&dsi0_in>;
>> +				};
>> +			};
>> +		};
>> +	};
>> +
>> +	dsi1-host {
>> +		...
>> +
>> +		ports {
>> +			...
>> +
>> +			port {
>> +				dsi1_out: endpoint {
>> +					remote-endpoint = <&dsi1_in>;
>> +				};
>> +			};
>> +		};
>> +	};
>>
> 
> 
> 
> 
> --
> To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 


More information about the dri-devel mailing list