diff mbox

[2/2] ARM: dts: iwg20d-q7-dbcm-ca: Add HDMI video output

Message ID 1508319227-19679-3-git-send-email-biju.das@bp.renesas.com (mailing list archive)
State Changes Requested
Delegated to: Simon Horman
Headers show

Commit Message

Biju Das Oct. 18, 2017, 9:33 a.m. UTC
From: Fabrizio Castro <fabrizio.castro@bp.renesas.com>

Although there is a HDMI connector on the q7 carrier board it is not
connected to the RZ/G1M SoC. One must use the HDMI connector on the
camera daughter board.

This patch adds support for this connector.

Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
Reviewed-by: Biju Das <biju.das@bp.renesas.com>
---
 arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi | 75 ++++++++++++++++++++++++++++++++
 1 file changed, 75 insertions(+)

Comments

Laurent Pinchart Oct. 18, 2017, 12:16 p.m. UTC | #1
Hi Biju,

Thank you for the patch.

On Wednesday, 18 October 2017 12:33:47 EEST Biju Das wrote:
> From: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> 
> Although there is a HDMI connector on the q7 carrier board it is not
> connected to the RZ/G1M SoC. One must use the HDMI connector on the
> camera daughter board.
> 
> This patch adds support for this connector.
> 
> Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> Reviewed-by: Biju Das <biju.das@bp.renesas.com>
> ---
>  arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi | 75 +++++++++++++++++++++++++++++
>  1 file changed, 75 insertions(+)
> 
> diff --git a/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
> b/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi index 31fab5f..45b8167 100644
> --- a/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
> +++ b/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
> @@ -13,6 +13,31 @@
>  		serial1 = &scif1;
>  		serial4 = &hscif1;
>  	};
> +
> +	hdmi-out {
> +		compatible = "hdmi-connector";
> +		type = "a";
> +
> +		port {
> +			hdmi_con_out: endpoint {
> +				remote-endpoint = <&adv7511_out>;
> +			};
> +		};
> +	};
> +};
> +
> +&du {
> +	pinctrl-0 = <&du_pins>;
> +	pinctrl-names = "default";
> +	status = "okay";
> +
> +	ports {
> +		port@0 {
> +			endpoint {
> +				remote-endpoint = <&adv7511_in>;
> +			};
> +		};
> +	};
>  };
> 
>  &hscif1 {
> @@ -23,7 +48,57 @@
>  	status = "okay";
>  };
> 
> +&i2c5 {
> +	status = "okay";
> +	clock-frequency = <400000>;
> +
> +	cec_clock: cec-clock {
> +		compatible = "fixed-clock";
> +		#clock-cells = <0>;
> +		clock-frequency = <12000000>;
> +	};

I assume this describes a fixed clock generator that is not I2C-controlled. 
The node should thus not be a child of the i2c5 bus node, but should be moved 
to the root node of the DT.

The rest looks good to me. With this fixed,

Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

However I can't find arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi in linux-next. 
Which tree would you like to get this series merged through ?

> +	hdmi@39 {
> +		compatible = "adi,adv7511w";
> +		reg = <0x39>;
> +		interrupt-parent = <&gpio0>;
> +		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
> +		clocks = <&cec_clock>;
> +		clock-names = "cec";
> +
> +		adi,input-depth = <8>;
> +		adi,input-colorspace = "rgb";
> +		adi,input-clock = "1x";
> +		adi,input-style = <1>;
> +		adi,input-justification = "evenly";
> +
> +		ports {
> +			#address-cells = <1>;
> +			#size-cells = <0>;
> +
> +			port@0 {
> +				reg = <0>;
> +				adv7511_in: endpoint {
> +					remote-endpoint = <&du_out_rgb>;
> +				};
> +			};
> +
> +			port@1 {
> +				reg = <1>;
> +				adv7511_out: endpoint {
> +					remote-endpoint = <&hdmi_con_out>;
> +				};
> +			};
> +		};
> +	};
> +};
> +
>  &pfc {
> +	du_pins: du {
> +		groups = "du_rgb888", "du_sync", "du_oddf", "du_clk_out_0";
> +		function = "du";
> +	};
> +
>  	hscif1_pins: hscif1 {
>  		groups = "hscif1_data_c", "hscif1_ctrl_c";
>  		function = "hscif1";
Geert Uytterhoeven Oct. 18, 2017, 1:16 p.m. UTC | #2
Hi Laurent,

On Wed, Oct 18, 2017 at 2:16 PM, Laurent Pinchart
<laurent.pinchart@ideasonboard.com> wrote:
> On Wednesday, 18 October 2017 12:33:47 EEST Biju Das wrote:
>> From: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
>>
>> Although there is a HDMI connector on the q7 carrier board it is not
>> connected to the RZ/G1M SoC. One must use the HDMI connector on the
>> camera daughter board.
>>
>> This patch adds support for this connector.
>>
>> Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
>> Reviewed-by: Biju Das <biju.das@bp.renesas.com>

>> --- a/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
>> +++ b/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi

>> @@ -23,7 +48,57 @@
>>       status = "okay";
>>  };
>>
>> +&i2c5 {
>> +     status = "okay";
>> +     clock-frequency = <400000>;
>> +
>> +     cec_clock: cec-clock {
>> +             compatible = "fixed-clock";
>> +             #clock-cells = <0>;
>> +             clock-frequency = <12000000>;
>> +     };
>
> I assume this describes a fixed clock generator that is not I2C-controlled.
> The node should thus not be a child of the i2c5 bus node, but should be moved
> to the root node of the DT.

Oops, that's something we should fix in r8a7791-koelsch.dts, too
(CC Hans)

> The rest looks good to me. With this fixed,
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> However I can't find arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi in linux-next.
> Which tree would you like to get this series merged through ?

It's been in next as of next-20171012.

Gr{oetje,eeting}s,

                        Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds
Biju Das Oct. 18, 2017, 1:21 p.m. UTC | #3
Hi Laurent,

> On Wednesday, 18 October 2017 12:33:47 EEST Biju Das wrote:
> > From: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> >
> > Although there is a HDMI connector on the q7 carrier board it is not
> > connected to the RZ/G1M SoC. One must use the HDMI connector on the
> > camera daughter board.
> >
> > This patch adds support for this connector.
> >
> > Signed-off-by: Fabrizio Castro <fabrizio.castro@bp.renesas.com>
> > Reviewed-by: Biju Das <biju.das@bp.renesas.com>
> > ---
> >  arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi | 75
> > +++++++++++++++++++++++++++++
> >  1 file changed, 75 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
> > b/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi index 31fab5f..45b8167
> > 100644
> > --- a/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
> > +++ b/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
> > +&i2c5 {
> > +status = "okay";
> > +clock-frequency = <400000>;
> > +
> > +cec_clock: cec-clock {
> > +compatible = "fixed-clock";
> > +#clock-cells = <0>;
> > +clock-frequency = <12000000>;
> > +};
>
> I assume this describes a fixed clock generator that is not I2C-controlled.
> The node should thus not be a child of the i2c5 bus node, but should be moved
> to the root node of the DT.

Thanks, We will send a v2 with above changes.

> The rest looks good to me. With this fixed,
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>
> However I can't find arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi in linux-next.
> Which tree would you like to get this series merged through ?

Currently it is in renesas devel branch (https://git.kernel.org/pub/scm/linux/kernel/git/horms/renesas.git).
It will be merged with linux-next in coming weeks.

Regards,
Biju





Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.
Fabrizio Castro Oct. 23, 2017, 5:38 p.m. UTC | #4
Hello Laurent,

> >
> > +&i2c5 {
> > +status = "okay";
> > +clock-frequency = <400000>;
> > +
> > +cec_clock: cec-clock {
> > +compatible = "fixed-clock";
> > +#clock-cells = <0>;
> > +clock-frequency = <12000000>;
> > +};
>
> I assume this describes a fixed clock generator that is not I2C-controlled.
> The node should thus not be a child of the i2c5 bus node, but should be moved
> to the root node of the DT.

Will send a v2 to fix this.

Thanks,
Fab

>
> The rest looks good to me. With this fixed,
>
> Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
>



Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.
Fabrizio Castro Oct. 23, 2017, 5:50 p.m. UTC | #5
Hello Geert,

> >

> > I assume this describes a fixed clock generator that is not I2C-controlled.

> > The node should thus not be a child of the i2c5 bus node, but should be moved

> > to the root node of the DT.

>

> Oops, that's something we should fix in r8a7791-koelsch.dts, too

> (CC Hans)


yeah, that's precisely where we copied the layout from :)

Thanks,
Fab

>

> > The rest looks good to me. With this fixed,

> >

> > Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>

> >

> > However I can't find arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi in linux-next.

> > Which tree would you like to get this series merged through ?

>

> It's been in next as of next-20171012.

>

> Gr{oetje,eeting}s,

>

>                         Geert




Renesas Electronics Europe Ltd, Dukes Meadow, Millboard Road, Bourne End, Buckinghamshire, SL8 5FH, UK. Registered in England & Wales under Registered No. 04586709.
diff mbox

Patch

diff --git a/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi b/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
index 31fab5f..45b8167 100644
--- a/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
+++ b/arch/arm/boot/dts/iwg20d-q7-dbcm-ca.dtsi
@@ -13,6 +13,31 @@ 
 		serial1 = &scif1;
 		serial4 = &hscif1;
 	};
+
+	hdmi-out {
+		compatible = "hdmi-connector";
+		type = "a";
+
+		port {
+			hdmi_con_out: endpoint {
+				remote-endpoint = <&adv7511_out>;
+			};
+		};
+	};
+};
+
+&du {
+	pinctrl-0 = <&du_pins>;
+	pinctrl-names = "default";
+	status = "okay";
+
+	ports {
+		port@0 {
+			endpoint {
+				remote-endpoint = <&adv7511_in>;
+			};
+		};
+	};
 };
 
 &hscif1 {
@@ -23,7 +48,57 @@ 
 	status = "okay";
 };
 
+&i2c5 {
+	status = "okay";
+	clock-frequency = <400000>;
+
+	cec_clock: cec-clock {
+		compatible = "fixed-clock";
+		#clock-cells = <0>;
+		clock-frequency = <12000000>;
+	};
+
+	hdmi@39 {
+		compatible = "adi,adv7511w";
+		reg = <0x39>;
+		interrupt-parent = <&gpio0>;
+		interrupts = <13 IRQ_TYPE_LEVEL_LOW>;
+		clocks = <&cec_clock>;
+		clock-names = "cec";
+
+		adi,input-depth = <8>;
+		adi,input-colorspace = "rgb";
+		adi,input-clock = "1x";
+		adi,input-style = <1>;
+		adi,input-justification = "evenly";
+
+		ports {
+			#address-cells = <1>;
+			#size-cells = <0>;
+
+			port@0 {
+				reg = <0>;
+				adv7511_in: endpoint {
+					remote-endpoint = <&du_out_rgb>;
+				};
+			};
+
+			port@1 {
+				reg = <1>;
+				adv7511_out: endpoint {
+					remote-endpoint = <&hdmi_con_out>;
+				};
+			};
+		};
+	};
+};
+
 &pfc {
+	du_pins: du {
+		groups = "du_rgb888", "du_sync", "du_oddf", "du_clk_out_0";
+		function = "du";
+	};
+
 	hscif1_pins: hscif1 {
 		groups = "hscif1_data_c", "hscif1_ctrl_c";
 		function = "hscif1";