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
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
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
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
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
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
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
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
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
>
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
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
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
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
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
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
>
>
>
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
>
>
>
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
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
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
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
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
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.