[PATCH 8/9] dt-bindings: msm/dsi: Modify port and PHY bindings

Philipp Zabel p.zabel at pengutronix.de
Tue May 3 14:02:08 UTC 2016


Am Dienstag, den 03.05.2016, 16:28 +0530 schrieb Archit Taneja:
> The DSI node now has two ports that describe the connection between the
> MDP interface output and the DSI input, and the connection between the DSI
> output and the connected panel/bridge. Update the properties and the
> example.
> 
> Also, use generic PHY bindings instead of the custom one.
> 
> Signed-off-by: Archit Taneja <architt at codeaurora.org>
> ---
>  .../devicetree/bindings/display/msm/dsi.txt        | 53 +++++++++++++++-------
>  1 file changed, 37 insertions(+), 16 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/msm/dsi.txt b/Documentation/devicetree/bindings/display/msm/dsi.txt
> index bf41d7c..0223f06 100644
> --- a/Documentation/devicetree/bindings/display/msm/dsi.txt
> +++ b/Documentation/devicetree/bindings/display/msm/dsi.txt
> @@ -25,12 +25,18 @@ Required properties:
>  - vdd-supply: phandle to vdd regulator device node
>  - vddio-supply: phandle to vdd-io regulator device node
>  - vdda-supply: phandle to vdda regulator device node
> -- qcom,dsi-phy: phandle to DSI PHY device node
> +- phys: phandle to DSI PHY device node
> +- phy-names: the name of the corresponding PHY device

Should "dsi_phy" be specified here?

Also is there any kind of system to the PHY naming? I've seen more
bindings use hyphen instead of underscore in the name, for example.
I have called the MediaTek MIPI_TX PHY "dphy" for no other reason than
it's a MIPI D-PHY.

>  - syscon-sfpb: A phandle to mmss_sfpb syscon node (only for DSIv2)
> +- ports: Contains 2 DSI controller ports as child nodes. Each port contains
> +  an endpoint subnode as defined in [2] and [3]. port at 0 describes the
> +  connection between the MDP interface output and the DSI input. port at 1
> +  describes the connection between the DSI output and the connected
> +  panel/bridge.
>  
>  Optional properties:
>  - panel at 0: Node of panel connected to this DSI controller.
> -  See files in [2] for each supported panel.
> +  See files in [4] for each supported panel.
>  - qcom,dual-dsi-mode: Boolean value indicating if the DSI controller is
>    driving a panel which needs 2 DSI links.
>  - qcom,master-dsi: Boolean value indicating if the DSI controller is driving
> @@ -42,15 +48,15 @@ Optional properties:
>  - pinctrl-names: the pin control state names; should contain "default"
>  - pinctrl-0: the default pinctrl state (active)
>  - pinctrl-n: the "sleep" pinctrl state
> -- port: DSI controller output port, containing one endpoint subnode.
>  
>    DSI Endpoint properties:
> -  - remote-endpoint: set to phandle of the connected panel's endpoint.
> -    See [3] for device graph info.
> +  - remote-endpoint: For port at 0, set to phandle of the connected panel/bridge's
> +    input endpoint. For port at 1, set to the MDP interface output.
>    - qcom,data-lane-map: this describes how the logical DSI lanes are mapped
>      to the physical lanes on the given platform. The value contained in
>      index n describes what logical data lane is mapped to the physical data
> -    lane n (DATAn, where n lies between 0 and 3).
> +    lane n (DATAn, where n lies between 0 and 3). Only for the endpoint in
> +    port at 1.

I approve of the of graph change, but I notice that the
qcom,data-lane-map is very similar to the data-lanes property documented
in Documentation/devicetree/bindings/media/video-interfaces.txt for MIPI
CSI-2. Could that maybe be reused for DSI?

>      For example:
>  
> @@ -97,8 +103,9 @@ Optional properties:
>    regulator is wanted.
>  
>  [1] Documentation/devicetree/bindings/clock/clock-bindings.txt
> -[2] Documentation/devicetree/bindings/display/panel/
> -[3] Documentation/devicetree/bindings/graph.txt
> +[2] Documentation/devicetree/bindings/graph.txt
> +[3] Documentation/devicetree/bindings/media/video-interfaces.txt
> +[4] Documentation/devicetree/bindings/display/panel/
>  
>  Example:
>  	dsi0: dsi at fd922800 {
> @@ -129,7 +136,8 @@ Example:
>  		vdd-supply = <&pma8084_l22>;
>  		vddio-supply = <&pma8084_l12>;
>  
> -		qcom,dsi-phy = <&dsi_phy0>;
> +		phys = <&dsi_phy0>;
> +		phy-names ="dsi_phy";
>  
>  		qcom,dual-dsi-mode;
>  		qcom,master-dsi;
> @@ -139,6 +147,26 @@ Example:
>  		pinctrl-0 = <&mdss_dsi_active>;
>  		pinctrl-1 = <&mdss_dsi_suspend>;
>  
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port at 0 {
> +				reg = <0>;
> +				dsi0_in: endpoint {
> +					remote-endpoint = <&mdp_intf1_out>;
> +				};
> +			};
> +
> +			port at 1 {
> +				reg = <1>;
> +				dsi0_out: endpoint {
> +					remote-endpoint = <&panel_in>;
> +					qcom,data-lane-map = <0 1 2 3>;
> +				};
> +			};
> +		};
> +
>  		panel: panel at 0 {
>  			compatible = "sharp,lq101r1sx01";
>  			reg = <0>;

If the panel is connected via port at 1, why is this still needed?

> @@ -153,13 +181,6 @@ Example:
>  				};
>  			};
>  		};
> -
> -		port {
> -			dsi0_out: endpoint {
> -				remote-endpoint = <&panel_in>;
> -				qcom,data-lane-map = <0 1 2 3>;
> -			};
> -		};
>  	};
>  
>  	dsi_phy0: dsi_phy at fd922a00 {

regards
Philipp



More information about the dri-devel mailing list