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

Heiko Stuebner heiko at sntech.de
Mon Jun 4 12:17:22 UTC 2018


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.


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






More information about the dri-devel mailing list