Re: [PATCH v2 1/2] drm: rcar-du: Add a VSP channel index to the vsps DT property

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Mon, Jun 26, 2017 at 07:29:29PM +0300, Laurent Pinchart wrote:
> On some R-Car SoCs a single VSP can serve multiple DU channels through
> multiple LIF instances in the VSP. The current DT bindings don't support
> specifying that kind of SoC integration scheme. Extend them with a VSP
> channel index.

"dt-bindings: display: ..." for the subject.

> 
> Backward compatibility can be ensured in drivers by checking the length
> of the vsps property and setting the channel to 0 when the property
> doesn't contain channel indices.
> 
> Signed-off-by: Laurent Pinchart <laurent.pinchart+renesas@xxxxxxxxxxxxxxxx>
> ---
>  .../devicetree/bindings/display/renesas,du.txt     | 51 +++++++++++++---------
>  1 file changed, 30 insertions(+), 21 deletions(-)
> 
> diff --git a/Documentation/devicetree/bindings/display/renesas,du.txt b/Documentation/devicetree/bindings/display/renesas,du.txt
> index c6cb96a4fa93..89bbc7950654 100644
> --- a/Documentation/devicetree/bindings/display/renesas,du.txt
> +++ b/Documentation/devicetree/bindings/display/renesas,du.txt
> @@ -36,8 +36,10 @@ Required Properties:
>        When supplied they must be named "dclkin.x" with "x" being the input
>        clock numerical index.
>  
> -  - vsps: A list of phandles to the VSP nodes that handle the memory
> -    interfaces for the DU channels.
> +  - vsps: A list of phandle and channel index tuples to the VSPs that handle
> +    the memory interfaces for the DU channels. The phandle identifies the VSP
> +    instance that serves the DU channel, and the channel index identifies the
> +    LIF instances in that VSP.
>  
>  Required nodes:
>  
> @@ -59,24 +61,24 @@ corresponding to each DU output.
>   R8A7796 (M3-W)	DPAD		HDMI		LVDS		-
>  
>  
> -Example: R8A7790 (R-Car H2) DU
> +Example: R8A7795 (R-Car H3) ES2.0 DU
>  
> -	du: du@feb00000 {
> -		compatible = "renesas,du-r8a7790";
> -		reg = <0 0xfeb00000 0 0x70000>,
> -		      <0 0xfeb90000 0 0x1c>,
> -		      <0 0xfeb94000 0 0x1c>;
> -		reg-names = "du", "lvds.0", "lvds.1";
> -		interrupt-parent = <&gic>;
> -		interrupts = <0 256 IRQ_TYPE_LEVEL_HIGH>,
> -			     <0 268 IRQ_TYPE_LEVEL_HIGH>,
> -			     <0 269 IRQ_TYPE_LEVEL_HIGH>;
> -		clocks = <&mstp7_clks R8A7790_CLK_DU0>,
> -		         <&mstp7_clks R8A7790_CLK_DU1>,
> -		         <&mstp7_clks R8A7790_CLK_DU2>,
> -		         <&mstp7_clks R8A7790_CLK_LVDS0>,
> -		         <&mstp7_clks R8A7790_CLK_LVDS1>;
> -		clock-names = "du.0", "du.1", "du.2", "lvds.0", "lvds.1";
> +	du: display@feb00000 {
> +		compatible = "renesas,du-r8a7795";
> +		reg = <0 0xfeb00000 0 0x80000>,
> +		      <0 0xfeb90000 0 0x14>;
> +		reg-names = "du", "lvds.0";
> +		interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
> +			     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
> +		clocks = <&cpg CPG_MOD 724>,
> +			 <&cpg CPG_MOD 723>,
> +			 <&cpg CPG_MOD 722>,
> +			 <&cpg CPG_MOD 721>,
> +			 <&cpg CPG_MOD 727>;
> +		clock-names = "du.0", "du.1", "du.2", "du.3", "lvds.0";
> +		vsps = <&vspd0 0 &vspd1 0 &vspd2 0 &vspd0 1>;
>  
>  		ports {
>  			#address-cells = <1>;
> @@ -89,12 +91,19 @@ Example: R8A7790 (R-Car H2) DU
>  			};
>  			port@1 {
>  				reg = <1>;
> -				du_out_lvds0: endpoint {
> +				du_out_hdmi0: endpoint {
> +					remote-endpoint = <&dw_hdmi0_in>;
>  				};
>  			};
>  			port@2 {
>  				reg = <2>;
> -				du_out_lvds1: endpoint {
> +				du_out_hdmi1: endpoint {
> +					remote-endpoint = <&dw_hdmi1_in>;
> +				};
> +			};
> +			port@3 {

Shouldn't a new port be documented somewhere?

> +				reg = <3>;
> +				du_out_lvds0: endpoint {
>  				};
>  			};
>  		};
> -- 
> Regards,
> 
> Laurent Pinchart
> 
> --
> To unsubscribe from this list: send the line "unsubscribe devicetree" in
> the body of a message to majordomo@xxxxxxxxxxxxxxx
> More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux