2018-04-12 08:17:54

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH v3 0/5] V3M-Eagle HDMI output enablement

Hello,
I have rebased the Eagle display enablement on top of (part of) Sergei's
series:
[PATCH v2 0/5] Add R8A77970/V3MSK LVDS/HDMI support

Simon: you can skip "[1/5] arm64: dts: renesas: r8a77970: add FCPVD support"
as you already collected that

Sergei: I re-sent your series because there was an additional comment from
Laurent on [3/5]. I felt it was wrong to send a follow up patch on a series
still not collected by Simon, so I've resent it. Hope this time is ok with you.
Also, please note that [5/5] of your original series shall be re-sent using
the newly introduced (still in-review) LVDS decoder. Please see [5/5] of this
series as an example.

Niklas: [5/5] of this series is a fixup of your patches and mine. I added
your signed-off-by, hope it is ok.

The series depends on THC63LVD1024 driver, currently submitted for inclusion
"[PATCH v8 0/2] drm: Add Thine THC63LVD1024 LVDS decoder bridge"
currently available at:
git://jmondi.org/linux lvds-bridge/linus-master/v8

Thanks
j

v2 -> v3:
- Use Sergei's series for patches [1-4] with a minor comment from Laurent
- Remove the lvds-decoder node label and add Laurent's Reviewed-by in [5/5]

v1 -> v2:
- Add Laurent's reviewed by tags
- Fixup patch 5, 6 and 7 of v1
- Remove DU digital output pin muxing
- Update thc63lvd1024 to use the new bindings with mandatory power supply
- Minor fixes (changes are described individually in each patch)

Jacopo Mondi (1):
arm64: dts: renesas: eagle: Enable HDMI output

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

arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 93 ++++++++++++++++++++++++++
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 75 +++++++++++++++++++++
2 files changed, 168 insertions(+)

--
2.7.4



2018-04-12 08:18:23

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH v3 5/5] arm64: dts: renesas: eagle: Enable HDMI output

Enable HDMI output on Renesas R-Car V3M Eagle board.

The HDMI ouput is enabled connecting the DU LVDS output to the
transparent LVDS converter THC63LVD1024, and successively routing its
RGB output to the ADV7511W HDMI encoder.

Signed-off-by: Niklas Söderlund <[email protected]>
Signed-off-by: Jacopo Mondi <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>
[for THC63LVD1024: ]
Reviewed-by: Andrzej Hajda <[email protected]>

---
v1 -> v2:
- Squash patches [5/7], [6/7] and [7/7] of v1 in a single patch as
suggested by Laurent
- Remove DU pinmuxing as it is used for DU parallel RGB output only used
by Eagle's display expander board not enabled by this series.
---
arch/arm64/boot/dts/renesas/r8a77970-eagle.dts | 93 ++++++++++++++++++++++++++
1 file changed, 93 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
index 3c5f598..ebfbb51 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
+++ b/arch/arm64/boot/dts/renesas/r8a77970-eagle.dts
@@ -31,6 +31,51 @@
/* first 128MB is reserved for secure area. */
reg = <0x0 0x48000000 0x0 0x38000000>;
};
+
+ hdmi-out {
+ compatible = "hdmi-connector";
+ type = "a";
+
+ port {
+ hdmi_con_out: endpoint {
+ remote-endpoint = <&adv7511_out>;
+ };
+ };
+ };
+
+ d3p3: regulator-fixed {
+ compatible = "regulator-fixed";
+ regulator-name = "fixed-3.3V";
+ regulator-min-microvolt = <3300000>;
+ regulator-max-microvolt = <3300000>;
+ regulator-boot-on;
+ regulator-always-on;
+ };
+
+ lvds-decoder {
+ compatible = "thine,thc63lvd1024";
+
+ vcc-supply = <&d3p3>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ thc63lvd1024_in: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+
+ port@2 {
+ reg = <2>;
+ thc63lvd1024_out: endpoint {
+ remote-endpoint = <&adv7511_in>;
+ };
+ };
+ };
+ };
};

&avb {
@@ -68,6 +113,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 {
@@ -93,3 +170,19 @@

status = "okay";
};
+
+&du {
+ status = "okay";
+};
+
+&lvds0 {
+ status = "okay";
+
+ ports {
+ port@1 {
+ lvds0_out: endpoint {
+ remote-endpoint = <&thc63lvd1024_in>;
+ };
+ };
+ };
+};
--
2.7.4


2018-04-12 08:18:28

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH v3 3/5] 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]>
Reviewed-by: Laurent Pinchart <[email protected]>
---
arch/arm64/boot/dts/renesas/r8a77970.dtsi | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)

diff --git a/arch/arm64/boot/dts/renesas/r8a77970.dtsi b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
index a3ef3bd..5860b0fb 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -635,6 +635,35 @@
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>;
+ resets = <&cpg 724>;
+ 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_lvds0: endpoint {
+ };
+ };
+ };
+ };
};

timer {
--
2.7.4


2018-04-12 08:18:46

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH v3 4/5] arm64: dts: renesas: r8a77970: add LVDS support

From: Sergei Shtylyov <[email protected]>

Define the generic R8A77970 part of the LVDS device node.

Signed-off-by: Sergei Shtylyov <[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 5860b0fb..614b571 100644
--- a/arch/arm64/boot/dts/renesas/r8a77970.dtsi
+++ b/arch/arm64/boot/dts/renesas/r8a77970.dtsi
@@ -660,6 +660,34 @@
port@1 {
reg = <1>;
du_out_lvds0: endpoint {
+ remote-endpoint = <&lvds0_in>;
+ };
+ };
+ };
+ };
+
+ lvds0: lvds-encoder@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-12 08:19:29

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH v3 1/5] 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 c6db8ea..97c27ef 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-12 08:22:46

by Jacopo Mondi

[permalink] [raw]
Subject: [PATCH v3 2/5] 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]>
Signed-off-by: Jacopo Mondi <[email protected]>
Reviewed-by: Laurent Pinchart <[email protected]>

---
v1 -> v2 (Jacopo) :
- Extend the memory region to include V6_CLUTn_TBL* registers.
---
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 97c27ef..a3ef3bd 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 0x8000>;
+ 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-20 09:32:53

by Simon Horman

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

On Thu, Apr 12, 2018 at 10:13:58AM +0200, 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]>
> Signed-off-by: Jacopo Mondi <[email protected]>
> Reviewed-by: Laurent Pinchart <[email protected]>

Thanks, applied.

2018-04-20 09:34:48

by Simon Horman

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

On Thu, Apr 12, 2018 at 10:13:59AM +0200, 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]>
> Reviewed-by: Laurent Pinchart <[email protected]>

Thanks, applied.

2018-04-20 09:34:53

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH v3 4/5] arm64: dts: renesas: r8a77970: add LVDS support

On Thu, Apr 12, 2018 at 10:14:00AM +0200, Jacopo Mondi wrote:
> From: Sergei Shtylyov <[email protected]>
>
> Define the generic R8A77970 part of the LVDS device node.
>
> Signed-off-by: Sergei Shtylyov <[email protected]>

Thanks, applied.

2018-04-20 09:50:20

by Simon Horman

[permalink] [raw]
Subject: Re: [PATCH v3 5/5] arm64: dts: renesas: eagle: Enable HDMI output

On Thu, Apr 12, 2018 at 10:14:01AM +0200, Jacopo Mondi wrote:
> Enable HDMI output on Renesas R-Car V3M Eagle board.
>
> The HDMI ouput is enabled connecting the DU LVDS output to the

s/ouput/output/

> transparent LVDS converter THC63LVD1024, and successively routing its
> RGB output to the ADV7511W HDMI encoder.
>
> Signed-off-by: Niklas Söderlund <[email protected]>
> Signed-off-by: Jacopo Mondi <[email protected]>
> Reviewed-by: Laurent Pinchart <[email protected]>
> [for THC63LVD1024: ]
> Reviewed-by: Andrzej Hajda <[email protected]>

Thanks, applied.