2018-04-06 13:12:42

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH v7 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge

Hello,
this series enables HDMI display on V3M Eagle board.

The series is based on Geert's "renesas-drivers-2018-04-03-v4.16" with
THC63LVD1024 driver on top (cfr. my in review series:
"[PATCH v7 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge")

This series includes some preliminary work from Sergei and Niklas. I have
reworked the two final patches from Niklas to enable DU first, add the LVDS
decoder node, and finally add the ADV7511W chip and enable HDMI output.

A branch for testing is available at:
git://jmondi.org/linux v3m/renesas-drivers-2018-04-03-v4.16/v7-eagle-dts

Thanks
j

Jacopo Mondi (2):
arm64: dts: renesas: eagle: Enable DU
arm64: dts: renesas: eagle: Add LVDS decoder

Niklas Söderlund (2):
arm64: dts: renesas: r8a77970: add the LVDS instance
arm64: dts: renesas: eagle: Add ADV7511W and HDMI output

Sergei Shtylyov (3):
arm64: dts: renesas: r8a77970: add FCPVD support
arm64: dts: renesas: r8a77970: add VSPD support
arm64: dts: renesas: r8a77970: add DU support

arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 89 ++++++++++++++++++++++++++
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 73 +++++++++++++++++++++
2 files changed, 162 insertions(+)

--
2.7.4



2018-04-06 13:10:11

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH 6/7] arm64: dts: renesas: eagle: Add LVDS decoder

The R-Car V3M Eagle board includes a transparent THC63LVD1024 LVDS
decoder, connected to the on-chip LVDS encoder output on one side
and to the not-yet-described HDMI encoder ADV7511W on the other one.

As the decoder does not need any configuration it has been so-far
omitted from DTS. Now that a driver is available, describe it in DT
as well.

Signed-off-by: Jacopo Mondi <[email protected]>
Reviewed-by: Andrzej Hajda <[email protected]>
---
arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 29 ++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
index 144b847..9d0e65d 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
@@ -31,6 +31,23 @@
/* first 128MB is reserved for secure area. */
reg = <0x0 0x48000000 0x0 0x38000000>;
};
+
+ thc63lvd1024: lvds-decoder {
+ compatible = "thine,thc63lvd1024";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+
+ thc63lvd1024_in: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+ };
+ };
};

&avb {
@@ -104,3 +121,15 @@
pinctrl-names = "default";
status = "okay";
};
+
+&lvds0 {
+ status = "okay";
+
+ ports {
+ port@1 {
+ lvds0_out: endpoint {
+ remote-endpoint = <&thc63lvd1024_in>;
+ };
+ };
+ };
+};
--
2.7.4


2018-04-06 13:10:47

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH 7/7] arm64: dts: renesas: eagle: Add ADV7511W and HDMI output

From: Niklas Söderlund <[email protected]>

Enable HDMI output adding the HDMI connector and the ADV7511W, connected
to THC63LVD1024 LVDS decoder output.

Signed-off-by: Niklas Söderlund <[email protected]>
Signed-off-by: Jacopo Mondi <[email protected]>
---
arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 51 +++++++++++++++++++++++++-
1 file changed, 50 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
index 9d0e65d..e9f7b83 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
@@ -32,6 +32,17 @@
reg = <0x0 0x48000000 0x0 0x38000000>;
};

+ hdmi-out {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con_out: endpoint {
+ remote-endpoint = <&adv7511_out>;
+ };
+ };
+ };
+
thc63lvd1024: lvds-decoder {
compatible = "thine,thc63lvd1024";

@@ -41,11 +52,17 @@

port@0 {
reg = <0>;
-
thc63lvd1024_in: endpoint {
remote-endpoint = <&lvds0_out>;
};
};
+
+ port@2 {
+ reg = <2>;
+ thc63lvd1024_out: endpoint {
+ remote-endpoint = <&adv7511_in>;
+ };
+ };
};
};
};
@@ -85,6 +102,38 @@
gpio-controller;
#gpio-cells = <2>;
};
+
+ hdmi@39 {
+ compatible = "adi,adv7511w";
+ reg = <0x39>;
+ interrupt-parent = <&gpio1>;
+ interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
+
+ 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 = <&thc63lvd1024_out>;
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ adv7511_out: endpoint {
+ remote-endpoint = <&hdmi_con_out>;
+ };
+ };
+ };
+ };
};

&pfc {
--
2.7.4


2018-04-06 13:10:59

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH 5/7] arm64: dts: renesas: eagle: Enable DU

Enable DU for Renesas R-Car V3M Eagle board.

Signed-off-by: Jacopo Mondi <[email protected]>
---
arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 11 +++++++++++
1 file changed, 11 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
index 3c5f598..144b847 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
@@ -76,6 +76,11 @@
function = "i2c0";
};

+ du_pins: du {
+ groups = "du_rgb666", "du_sync", "du_oddf", "du_clk_out";
+ function = "du";
+ };
+
scif0_pins: scif0 {
groups = "scif0_data";
function = "scif0";
@@ -93,3 +98,9 @@

status = "okay";
};
+
+&du {
+ pinctrl-0 = <&du_pins>;
+ pinctrl-names = "default";
+ status = "okay";
+};
--
2.7.4


2018-04-06 13:11:26

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH 3/7] arm64: dts: renesas: r8a77970: add DU support

From: Sergei Shtylyov <[email protected]>

Define the generic R8A77970 part of the DU device node.

Based on the original (and large) patch by Daisuke Matsushita
<[email protected]>.

Signed-off-by: Vladimir Barinov <[email protected]>
Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Niklas Söderlund <[email protected]>
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 28 ++++++++++++++++++++++++++++
1 file changed, 28 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index db06c94..e649e86 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -635,6 +635,34 @@
resets = <&cpg 623>;
renesas,fcp = <&fcpvd0>;
};
+
+ du: display@feb00000 {
+ compatible = "renesas,du-r8a77970";
+ reg = <0 0xfeb00000 0 0x80000>;
+ interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 724>;
+ clock-names = "du.0";
+ power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
+ vsps = <&vspd0>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ du_out_rgb: endpoint {
+ };
+ };
+
+ port@1 {
+ reg = <1>;
+ du_out_lvds: endpoint {
+ };
+ };
+ };
+ };
};

timer {
--
2.7.4


2018-04-06 13:11:58

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH 1/7] arm64: dts: renesas: r8a77970: add FCPVD support

From: Sergei Shtylyov <[email protected]>

Describe FCPVD0 in the R8A77970 device tree; it will be used by VSPD0 in
the next patch...

Based on the original (and large) patch by Daisuke Matsushita
<[email protected]>.

Signed-off-by: Vladimir Barinov <[email protected]>
Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Niklas Söderlund <[email protected]>
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 8 ++++++++
1 file changed, 8 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index e8358d9..71f466d 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -617,6 +617,14 @@
#address-cells = <1>;
#size-cells = <0>;
};
+
+ fcpvd0: fcp@fea27000 {
+ compatible = "renesas,fcpv";
+ reg = <0 0xfea27000 0 0x200>;
+ clocks = <&cpg CPG_MOD 603>;
+ power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
+ resets = <&cpg 603>;
+ };
};

timer {
--
2.7.4


2018-04-06 13:12:03

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH 4/7] arm64: dts: renesas: r8a77970: add the LVDS instance

From: Niklas Söderlund <[email protected]>

Add the LVDS device to r8a77970.dtsi in a disabled state. Also connect
the it to the LVDS output of the DU. While at it align the endpoint name
of the du to du_out_lvds0 which is used in other Renesas DTS files to
describe this link.

Signed-off-by: Niklas Söderlund <[email protected]>
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 29 ++++++++++++++++++++++++++++-
1 file changed, 28 insertions(+), 1 deletion(-)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index e649e86..b48d62c 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -658,7 +658,34 @@

port@1 {
reg = <1>;
- du_out_lvds: endpoint {
+ du_out_lvds0: endpoint {
+ remote-endpoint = <&lvds0_in>;
+ };
+ };
+ };
+ };
+
+ lvds0: lvds@feb90000 {
+ compatible = "renesas,r8a77970-lvds";
+ reg = <0 0xfeb90000 0 0x14>;
+ clocks = <&cpg CPG_MOD 727>;
+ power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
+ resets = <&cpg 727>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ lvds0_in: endpoint {
+ remote-endpoint = <&du_out_lvds0>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ lvds0_out: endpoint {
};
};
};
--
2.7.4


2018-04-06 13:12:06

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH 2/7] arm64: dts: renesas: r8a77970: add VSPD support

From: Sergei Shtylyov <[email protected]>

Describe VSPD0 in the R8A77970 device tree; it will be used by DU in
the next patch...

Based on the original (and large) patch by Daisuke Matsushita
<[email protected]>.

Signed-off-by: Vladimir Barinov <[email protected]>
Signed-off-by: Sergei Shtylyov <[email protected]>
Signed-off-by: Niklas Söderlund <[email protected]>
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 10 ++++++++++
1 file changed, 10 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index 71f466d..db06c94 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -625,6 +625,16 @@
power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
resets = <&cpg 603>;
};
+
+ vspd0: vsp@fea20000 {
+ compatible = "renesas,vsp2";
+ reg = <0 0xfea20000 0 0x4000>;
+ interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 623>;
+ power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
+ resets = <&cpg 623>;
+ renesas,fcp = <&fcpvd0>;
+ };
};

timer {
--
2.7.4


2018-04-06 13:19:51

by jacopo mondi

[permalink] [raw]
Subject: Re: [PATCH v7 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge

Sorry for the mess

subject should have been

Subject: [PATCH 0/7] V3M-Eagle display enablement

I copied the wrong one from another cover letter...

On Fri, Apr 06, 2018 at 03:08:05PM +0200, Jacopo Mondi wrote:
> Hello,
> this series enables HDMI display on V3M Eagle board.
>
> The series is based on Geert's "renesas-drivers-2018-04-03-v4.16" with
> THC63LVD1024 driver on top (cfr. my in review series:
> "[PATCH v7 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge")
>
> This series includes some preliminary work from Sergei and Niklas. I have
> reworked the two final patches from Niklas to enable DU first, add the LVDS
> decoder node, and finally add the ADV7511W chip and enable HDMI output.
>
> A branch for testing is available at:
> git://jmondi.org/linux v3m/renesas-drivers-2018-04-03-v4.16/v7-eagle-dts
>
> Thanks
> j
>
> Jacopo Mondi (2):
> arm64: dts: renesas: eagle: Enable DU
> arm64: dts: renesas: eagle: Add LVDS decoder
>
> Niklas Söderlund (2):
> arm64: dts: renesas: r8a77970: add the LVDS instance
> arm64: dts: renesas: eagle: Add ADV7511W and HDMI output
>
> Sergei Shtylyov (3):
> arm64: dts: renesas: r8a77970: add FCPVD support
> arm64: dts: renesas: r8a77970: add VSPD support
> arm64: dts: renesas: r8a77970: add DU support
>
> arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 89 ++++++++++++++++++++++++++
> arch/arm64/boot/dts/renesas/r8a77970.dtsi | 73 +++++++++++++++++++++
> 2 files changed, 162 insertions(+)
>
> --
> 2.7.4
>


Attachments:
(No filename) (1.51 kB)
signature.asc (836.00 B)
Download all attachments

2018-04-06 13:50:08

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 5/7] arm64: dts: renesas: eagle: Enable DU

Hi Jacopo,

Thank you for the patch.

On Friday, 6 April 2018 16:08:10 EEST Jacopo Mondi wrote:
> Enable DU for Renesas R-Car V3M Eagle board.
>
> Signed-off-by: Jacopo Mondi <[email protected]>
> ---
> arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 11 +++++++++++
> 1 file changed, 11 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts index 3c5f598..144b847
> 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> @@ -76,6 +76,11 @@
> function = "i2c0";
> };
>
> + du_pins: du {
> + groups = "du_rgb666", "du_sync", "du_oddf", "du_clk_out";
> + function = "du";
> + };

As far as I can tell the DU parallel output isn't used on the Eagle board, but
is used on the Eagle expansion board. I would move this to patch 7/7 in this
series.

> scif0_pins: scif0 {
> groups = "scif0_data";
> function = "scif0";
> @@ -93,3 +98,9 @@
>
> status = "okay";
> };
> +
> +&du {
> + pinctrl-0 = <&du_pins>;
> + pinctrl-names = "default";

These two properties should be moved to patch 7/7 too.

> + status = "okay";
> +};

There's little use for enabling the DU in DT if you have no output port
described. I'd move this to patch 6/7.

--
Regards,

Laurent Pinchart




2018-04-06 13:50:23

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 5/7] arm64: dts: renesas: eagle: Enable DU

Hi again,

On Friday, 6 April 2018 16:45:16 EEST Laurent Pinchart wrote:
> On Friday, 6 April 2018 16:08:10 EEST Jacopo Mondi wrote:
> > Enable DU for Renesas R-Car V3M Eagle board.
> >
> > Signed-off-by: Jacopo Mondi <[email protected]>
> > ---
> >
> > arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 11 +++++++++++
> > 1 file changed, 11 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> > b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts index 3c5f598..144b847
> > 100644
> > --- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> > +++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> > @@ -76,6 +76,11 @@
> >
> > function = "i2c0";
> >
> > };
> >
> > + du_pins: du {
> > + groups = "du_rgb666", "du_sync", "du_oddf", "du_clk_out";
> > + function = "du";
> > + };
>
> As far as I can tell the DU parallel output isn't used on the Eagle board,
> but is used on the Eagle expansion board. I would move this to patch 7/7 in
> this series.

My bad, patch 7/7 describes the on-board HDMI encoder, not the one on the
expansion board. I would thus drop pinmux completely for now until we add
support for the expansion board.

> > scif0_pins: scif0 {
> >
> > groups = "scif0_data";
> > function = "scif0";
> >
> > @@ -93,3 +98,9 @@
> >
> > status = "okay";
> >
> > };
> >
> > +
> > +&du {
> > + pinctrl-0 = <&du_pins>;
> > + pinctrl-names = "default";
>
> These two properties should be moved to patch 7/7 too.

So this should be removed.

> > + status = "okay";
> > +};
>
> There's little use for enabling the DU in DT if you have no output port
> described. I'd move this to patch 6/7.

And I'd merge the status attribute and patches 6/7 and 7/7 all together.

--
Regards,

Laurent Pinchart




2018-04-06 13:51:35

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 6/7] arm64: dts: renesas: eagle: Add LVDS decoder

Hi Jacopo,

Thank you for the patch.

On Friday, 6 April 2018 16:08:11 EEST Jacopo Mondi wrote:
> The R-Car V3M Eagle board includes a transparent THC63LVD1024 LVDS
> decoder, connected to the on-chip LVDS encoder output on one side
> and to the not-yet-described HDMI encoder ADV7511W on the other one.
>
> As the decoder does not need any configuration it has been so-far
> omitted from DTS. Now that a driver is available, describe it in DT
> as well.

As explained in my review of patch 5/7, I'd merge 5/7, 6/7 and 7/7 all
together as there's little use for enabling the LVDS decoder if there's
nothing connected at its output. Note also how this patch alone, without 7/7,
wouldn't comply with the LVDS decoder DT bindings that state that port@2 is
mandatory.

> Signed-off-by: Jacopo Mondi <[email protected]>
> Reviewed-by: Andrzej Hajda <[email protected]>
> ---
> arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 29 +++++++++++++++++++++++
> 1 file changed, 29 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts index 144b847..9d0e65d
> 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> @@ -31,6 +31,23 @@
> /* first 128MB is reserved for secure area. */
> reg = <0x0 0x48000000 0x0 0x38000000>;
> };
> +
> + thc63lvd1024: lvds-decoder {
> + compatible = "thine,thc63lvd1024";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> +
> + thc63lvd1024_in: endpoint {
> + remote-endpoint = <&lvds0_out>;
> + };
> + };
> + };
> + };
> };
>
> &avb {
> @@ -104,3 +121,15 @@
> pinctrl-names = "default";
> status = "okay";
> };
> +
> +&lvds0 {
> + status = "okay";
> +
> + ports {
> + port@1 {
> + lvds0_out: endpoint {
> + remote-endpoint = <&thc63lvd1024_in>;
> + };
> + };
> + };
> +};

--
Regards,

Laurent Pinchart




2018-04-06 13:54:14

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 7/7] arm64: dts: renesas: eagle: Add ADV7511W and HDMI output

Hi Jacopo,

Thank you for the patch.

On Friday, 6 April 2018 16:08:12 EEST Jacopo Mondi wrote:
> From: Niklas S?derlund <[email protected]>
>
> Enable HDMI output adding the HDMI connector and the ADV7511W, connected
> to THC63LVD1024 LVDS decoder output.
>
> Signed-off-by: Niklas S?derlund <[email protected]>
> Signed-off-by: Jacopo Mondi <[email protected]>
> ---
> arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 51 ++++++++++++++++++++++-
> 1 file changed, 50 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts index 9d0e65d..e9f7b83
> 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> +++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> @@ -32,6 +32,17 @@
> reg = <0x0 0x48000000 0x0 0x38000000>;
> };
>
> + hdmi-out {
> + compatible = "hdmi-connector";
> + type = "a";
> +
> + port {
> + hdmi_con_out: endpoint {
> + remote-endpoint = <&adv7511_out>;
> + };
> + };
> + };
> +
> thc63lvd1024: lvds-decoder {
> compatible = "thine,thc63lvd1024";
>
> @@ -41,11 +52,17 @@
>
> port@0 {
> reg = <0>;
> -

This is unrelated, if you don't want a blank line here remove it from patch
6/7 :-)

> thc63lvd1024_in: endpoint {
> remote-endpoint = <&lvds0_out>;
> };
> };
> +
> + port@2 {
> + reg = <2>;
> + thc63lvd1024_out: endpoint {
> + remote-endpoint = <&adv7511_in>;
> + };
> + };
> };
> };
> };
> @@ -85,6 +102,38 @@
> gpio-controller;
> #gpio-cells = <2>;
> };
> +
> + hdmi@39 {
> + compatible = "adi,adv7511w";
> + reg = <0x39>;
> + interrupt-parent = <&gpio1>;
> + interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
> +
> + 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 = <&thc63lvd1024_out>;
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + adv7511_out: endpoint {
> + remote-endpoint = <&hdmi_con_out>;
> + };
> + };
> + };
> + };
> };
>
> &pfc {

With patches 5/7, 6/7 and 7/7 merged together and the pinmux removed,

Reviewed-by: Laurent Pinchart <[email protected]>

--
Regards,

Laurent Pinchart




2018-04-06 13:56:17

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v7 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge

Hi Jacopo,

On Friday, 6 April 2018 16:08:05 EEST Jacopo Mondi wrote:
> Hello,
> this series enables HDMI display on V3M Eagle board.
>
> The series is based on Geert's "renesas-drivers-2018-04-03-v4.16" with
> THC63LVD1024 driver on top (cfr. my in review series:
> "[PATCH v7 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge")

This isn't a good base for development, as you would pull way too many
dependencies in. Could you please base v8 on top of v4.17-rc1 (or if you get
to post it before v4.17-rc1 gets merged, you can use Linus' master, as the
ARM64 DT pull requests for v4.17-rc1 have been merged) ? It will then be ready
for Simon to pull in his v4.18 branch.

> This series includes some preliminary work from Sergei and Niklas. I have
> reworked the two final patches from Niklas to enable DU first, add the LVDS
> decoder node, and finally add the ADV7511W chip and enable HDMI output.
>
> A branch for testing is available at:
> git://jmondi.org/linux v3m/renesas-drivers-2018-04-03-v4.16/v7-eagle-dts
>
> Thanks
> j
>
> Jacopo Mondi (2):
> arm64: dts: renesas: eagle: Enable DU
> arm64: dts: renesas: eagle: Add LVDS decoder
>
> Niklas S?derlund (2):
> arm64: dts: renesas: r8a77970: add the LVDS instance
> arm64: dts: renesas: eagle: Add ADV7511W and HDMI output
>
> Sergei Shtylyov (3):
> arm64: dts: renesas: r8a77970: add FCPVD support
> arm64: dts: renesas: r8a77970: add VSPD support
> arm64: dts: renesas: r8a77970: add DU support
>
> arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 89 +++++++++++++++++++++++
> arch/arm64/boot/dts/renesas/r8a77970.dtsi | 73 +++++++++++++++++++++
> 2 files changed, 162 insertions(+)
>

--
Regards,

Laurent Pinchart




2018-04-06 14:15:23

by jacopo mondi

[permalink] [raw]
Subject: Re: [PATCH v7 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge

Hi Laurent,

On Fri, Apr 06, 2018 at 04:53:43PM +0300, Laurent Pinchart wrote:
> Hi Jacopo,
>
> On Friday, 6 April 2018 16:08:05 EEST Jacopo Mondi wrote:
> > Hello,
> > this series enables HDMI display on V3M Eagle board.
> >
> > The series is based on Geert's "renesas-drivers-2018-04-03-v4.16" with
> > THC63LVD1024 driver on top (cfr. my in review series:
> > "[PATCH v7 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge")
>
> This isn't a good base for development, as you would pull way too many
> dependencies in. Could you please base v8 on top of v4.17-rc1 (or if you get
> to post it before v4.17-rc1 gets merged, you can use Linus' master, as the
> ARM64 DT pull requests for v4.17-rc1 have been merged) ? It will then be ready
> for Simon to pull in his v4.18 branch.

I used renesas-drivers as it already contains partial r8a77970 support which
is not there in v4.16 (PFC, GPIO, SCIF...)

I should wait for v4.17-rc1 to come out and re-propose on top of that
probably.

>
> > This series includes some preliminary work from Sergei and Niklas. I have
> > reworked the two final patches from Niklas to enable DU first, add the LVDS
> > decoder node, and finally add the ADV7511W chip and enable HDMI output.
> >
> > A branch for testing is available at:
> > git://jmondi.org/linux v3m/renesas-drivers-2018-04-03-v4.16/v7-eagle-dts
> >
> > Thanks
> > j
> >
> > Jacopo Mondi (2):
> > arm64: dts: renesas: eagle: Enable DU
> > arm64: dts: renesas: eagle: Add LVDS decoder
> >
> > Niklas Söderlund (2):
> > arm64: dts: renesas: r8a77970: add the LVDS instance
> > arm64: dts: renesas: eagle: Add ADV7511W and HDMI output
> >
> > Sergei Shtylyov (3):
> > arm64: dts: renesas: r8a77970: add FCPVD support
> > arm64: dts: renesas: r8a77970: add VSPD support
> > arm64: dts: renesas: r8a77970: add DU support
> >
> > arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 89 +++++++++++++++++++++++
> > arch/arm64/boot/dts/renesas/r8a77970.dtsi | 73 +++++++++++++++++++++
> > 2 files changed, 162 insertions(+)
> >
>
> --
> Regards,
>
> Laurent Pinchart
>
>
>


Attachments:
(No filename) (2.10 kB)
signature.asc (836.00 B)
Download all attachments

2018-04-06 14:18:39

by jacopo mondi

[permalink] [raw]
Subject: Re: [PATCH 7/7] arm64: dts: renesas: eagle: Add ADV7511W and HDMI output

Hi Laurent,

On Fri, Apr 06, 2018 at 04:51:11PM +0300, Laurent Pinchart wrote:
> Hi Jacopo,
>
> Thank you for the patch.
>
> On Friday, 6 April 2018 16:08:12 EEST Jacopo Mondi wrote:
> > From: Niklas Söderlund <[email protected]>
> >
> > Enable HDMI output adding the HDMI connector and the ADV7511W, connected
> > to THC63LVD1024 LVDS decoder output.
> >
> > Signed-off-by: Niklas Söderlund <[email protected]>
> > Signed-off-by: Jacopo Mondi <[email protected]>
> > ---
> > arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 51 ++++++++++++++++++++++-
> > 1 file changed, 50 insertions(+), 1 deletion(-)
> >
> > diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> > b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts index 9d0e65d..e9f7b83
> > 100644
> > --- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> > +++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
> > @@ -32,6 +32,17 @@
> > reg = <0x0 0x48000000 0x0 0x38000000>;
> > };
> >
> > + hdmi-out {
> > + compatible = "hdmi-connector";
> > + type = "a";
> > +
> > + port {
> > + hdmi_con_out: endpoint {
> > + remote-endpoint = <&adv7511_out>;
> > + };
> > + };
> > + };
> > +
> > thc63lvd1024: lvds-decoder {
> > compatible = "thine,thc63lvd1024";
> >
> > @@ -41,11 +52,17 @@
> >
> > port@0 {
> > reg = <0>;
> > -
>
> This is unrelated, if you don't want a blank line here remove it from patch
> 6/7 :-)

No, you're right, this is a leftover from me splitting a single a
patch in 3. According to your comments on other patches in the series
I shouldn't have done that to begin with :)

Thanks
j

>
> > thc63lvd1024_in: endpoint {
> > remote-endpoint = <&lvds0_out>;
> > };
> > };
> > +
> > + port@2 {
> > + reg = <2>;
> > + thc63lvd1024_out: endpoint {
> > + remote-endpoint = <&adv7511_in>;
> > + };
> > + };
> > };
> > };
> > };
> > @@ -85,6 +102,38 @@
> > gpio-controller;
> > #gpio-cells = <2>;
> > };
> > +
> > + hdmi@39 {
> > + compatible = "adi,adv7511w";
> > + reg = <0x39>;
> > + interrupt-parent = <&gpio1>;
> > + interrupts = <20 IRQ_TYPE_LEVEL_LOW>;
> > +
> > + 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 = <&thc63lvd1024_out>;
> > + };
> > + };
> > +
> > + port@1 {
> > + reg = <1>;
> > + adv7511_out: endpoint {
> > + remote-endpoint = <&hdmi_con_out>;
> > + };
> > + };
> > + };
> > + };
> > };
> >
> > &pfc {
>
> With patches 5/7, 6/7 and 7/7 merged together and the pinmux removed,
>
> Reviewed-by: Laurent Pinchart <[email protected]>
>
> --
> Regards,
>
> Laurent Pinchart
>
>
>


Attachments:
(No filename) (3.00 kB)
signature.asc (836.00 B)
Download all attachments

2018-04-06 14:22:33

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 4/7] arm64: dts: renesas: r8a77970: add the LVDS instance

Hi Jacopo,

Thank you for the patch.

On Friday, 6 April 2018 16:08:09 EEST Jacopo Mondi wrote:
> From: Niklas S?derlund <[email protected]>
>
> Add the LVDS device to r8a77970.dtsi in a disabled state. Also connect
> the it to the LVDS output of the DU. While at it align the endpoint name
> of the du to du_out_lvds0 which is used in other Renesas DTS files to
> describe this link.

The endpoint could be renamed in patch 3/7, but it's not a big deal.

> Signed-off-by: Niklas S?derlund <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

> ---
> arch/arm64/boot/dts/renesas/r8a77970.dtsi | 29 +++++++++++++++++++++++++++-
> 1 file changed, 28 insertions(+), 1 deletion(-)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> b/arch/arm64/boot/dts/renesas/r8a77970.dtsi index e649e86..b48d62c 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> @@ -658,7 +658,34 @@
>
> port@1 {
> reg = <1>;
> - du_out_lvds: endpoint {
> + du_out_lvds0: endpoint {
> + remote-endpoint = <&lvds0_in>;
> + };
> + };
> + };
> + };
> +
> + lvds0: lvds@feb90000 {
> + compatible = "renesas,r8a77970-lvds";
> + reg = <0 0xfeb90000 0 0x14>;
> + clocks = <&cpg CPG_MOD 727>;
> + power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
> + resets = <&cpg 727>;
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + lvds0_in: endpoint {
> + remote-endpoint = <&du_out_lvds0>;
> + };
> + };
> + port@1 {
> + reg = <1>;
> + lvds0_out: endpoint {
> };
> };
> };

--
Regards,

Laurent Pinchart




2018-04-06 14:35:35

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 3/7] arm64: dts: renesas: r8a77970: add DU support

Hi Jacopo,

Thank you for the patch.

On Friday, 6 April 2018 16:08:08 EEST Jacopo Mondi wrote:
> From: Sergei Shtylyov <[email protected]>
>
> Define the generic R8A77970 part of the DU device node.
>
> Based on the original (and large) patch by Daisuke Matsushita
> <[email protected]>.
>
> Signed-off-by: Vladimir Barinov <[email protected]>
> Signed-off-by: Sergei Shtylyov <[email protected]>
> Signed-off-by: Niklas S?derlund <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

> ---
> arch/arm64/boot/dts/renesas/r8a77970.dtsi | 28 ++++++++++++++++++++++++++++
> 1 file changed, 28 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> b/arch/arm64/boot/dts/renesas/r8a77970.dtsi index db06c94..e649e86 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> @@ -635,6 +635,34 @@
> resets = <&cpg 623>;
> renesas,fcp = <&fcpvd0>;
> };
> +
> + du: display@feb00000 {
> + compatible = "renesas,du-r8a77970";
> + reg = <0 0xfeb00000 0 0x80000>;
> + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&cpg CPG_MOD 724>;
> + clock-names = "du.0";
> + power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
> + vsps = <&vspd0>;
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + du_out_rgb: endpoint {
> + };
> + };
> +
> + port@1 {
> + reg = <1>;
> + du_out_lvds: endpoint {
> + };
> + };
> + };
> + };
> };
>
> timer {

--
Regards,

Laurent Pinchart




2018-04-06 14:49:57

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 2/7] arm64: dts: renesas: r8a77970: add VSPD support

On Friday, 6 April 2018 16:08:07 EEST Jacopo Mondi wrote:
> From: Sergei Shtylyov <[email protected]>
>
> Describe VSPD0 in the R8A77970 device tree; it will be used by DU in
> the next patch...
>
> Based on the original (and large) patch by Daisuke Matsushita
> <[email protected]>.
>
> Signed-off-by: Vladimir Barinov <[email protected]>
> Signed-off-by: Sergei Shtylyov <[email protected]>
> Signed-off-by: Niklas S?derlund <[email protected]>
> ---
> arch/arm64/boot/dts/renesas/r8a77970.dtsi | 10 ++++++++++
> 1 file changed, 10 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> b/arch/arm64/boot/dts/renesas/r8a77970.dtsi index 71f466d..db06c94 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> @@ -625,6 +625,16 @@
> power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
> resets = <&cpg 603>;
> };
> +
> + vspd0: vsp@fea20000 {
> + compatible = "renesas,vsp2";
> + reg = <0 0xfea20000 0 0x4000>;

You need to extend the memory region to include the V6_CLUTn_TBL* registers. I
would recommend simply extending it to 0x8000 as all other VSP instances, even
if the registers at 0x7000-0x7fff are not implemented.

Apart from that,

Reviewed-by: Laurent Pinchart <[email protected]>

> + interrupts = <GIC_SPI 169 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&cpg CPG_MOD 623>;
> + power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
> + resets = <&cpg 623>;
> + renesas,fcp = <&fcpvd0>;
> + };
> };
>
> timer {

--
Regards,

Laurent Pinchart




2018-04-06 15:21:33

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 1/7] arm64: dts: renesas: r8a77970: add FCPVD support

Hi Jacopo,

Thank you for the patch.

On Friday, 6 April 2018 16:08:06 EEST Jacopo Mondi wrote:
> From: Sergei Shtylyov <[email protected]>
>
> Describe FCPVD0 in the R8A77970 device tree; it will be used by VSPD0 in
> the next patch...
>
> Based on the original (and large) patch by Daisuke Matsushita
> <[email protected]>.
>
> Signed-off-by: Vladimir Barinov <[email protected]>
> Signed-off-by: Sergei Shtylyov <[email protected]>
> Signed-off-by: Niklas S?derlund <[email protected]>

Reviewed-by: Laurent Pinchart <[email protected]>

> ---
> arch/arm64/boot/dts/renesas/r8a77970.dtsi | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> b/arch/arm64/boot/dts/renesas/r8a77970.dtsi index e8358d9..71f466d 100644
> --- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> +++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> @@ -617,6 +617,14 @@
> #address-cells = <1>;
> #size-cells = <0>;
> };
> +
> + fcpvd0: fcp@fea27000 {
> + compatible = "renesas,fcpv";
> + reg = <0 0xfea27000 0 0x200>;
> + clocks = <&cpg CPG_MOD 603>;
> + power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
> + resets = <&cpg 603>;
> + };
> };
>
> timer {


--
Regards,

Laurent Pinchart




2018-04-09 12:24:38

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH 2/7] arm64: dts: renesas: r8a77970: add VSPD support

On Fri, Apr 06, 2018 at 04:33:21PM +0300, Laurent Pinchart wrote:
> On Friday, 6 April 2018 16:08:07 EEST Jacopo Mondi wrote:
> > From: Sergei Shtylyov <[email protected]>
> >
> > Describe VSPD0 in the R8A77970 device tree; it will be used by DU in
> > the next patch...
> >
> > Based on the original (and large) patch by Daisuke Matsushita
> > <[email protected]>.
> >
> > Signed-off-by: Vladimir Barinov <[email protected]>
> > Signed-off-by: Sergei Shtylyov <[email protected]>
> > Signed-off-by: Niklas Söderlund <[email protected]>
> > ---
> > arch/arm64/boot/dts/renesas/r8a77970.dtsi | 10 ++++++++++
> > 1 file changed, 10 insertions(+)
> >
> > diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> > b/arch/arm64/boot/dts/renesas/r8a77970.dtsi index 71f466d..db06c94 100644
> > --- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> > +++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
> > @@ -625,6 +625,16 @@
> > power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
> > resets = <&cpg 603>;
> > };
> > +
> > + vspd0: vsp@fea20000 {
> > + compatible = "renesas,vsp2";
> > + reg = <0 0xfea20000 0 0x4000>;
>
> You need to extend the memory region to include the V6_CLUTn_TBL* registers. I
> would recommend simply extending it to 0x8000 as all other VSP instances, even
> if the registers at 0x7000-0x7fff are not implemented.
>
> Apart from that,
>
> Reviewed-by: Laurent Pinchart <[email protected]>

I applied the first patch of this series. Please update this,
and any subsequent patches as appropriate and then repost the series
without the first patch.

Thanks

2018-04-09 12:25:57

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH 1/7] arm64: dts: renesas: r8a77970: add FCPVD support

On Fri, Apr 06, 2018 at 04:28:17PM +0300, Laurent Pinchart wrote:
> Hi Jacopo,
>
> Thank you for the patch.
>
> On Friday, 6 April 2018 16:08:06 EEST Jacopo Mondi wrote:
> > From: Sergei Shtylyov <[email protected]>
> >
> > Describe FCPVD0 in the R8A77970 device tree; it will be used by VSPD0 in
> > the next patch...
> >
> > Based on the original (and large) patch by Daisuke Matsushita
> > <[email protected]>.
> >
> > Signed-off-by: Vladimir Barinov <[email protected]>
> > Signed-off-by: Sergei Shtylyov <[email protected]>
> > Signed-off-by: Niklas Söderlund <[email protected]>
>
> Reviewed-by: Laurent Pinchart <[email protected]>

Thanks, applied for v4.18.