2020-08-07 17:50:58

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH 0/7] r8a7742: Enable DU and LVDS

Hi All,

This patch series adds support for DU and LVDS to r8a7742
SoC and enables LCD support on r8a7742-iwg21d-q7 board.

This patch series applies on top of [1].

[1] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10

Cheers,
Prabhakar

Lad Prabhakar (7):
dt-bindings: display: renesas,du: Document the r8a7742 bindings
drm: rcar-du: Add r8a7742 support
dt-bindings: display: renesas,lvds: Document r8a7742 bindings
drm: rcar-du: lvds: Add r8a7742 support
ARM: dts: r8a7742: Add DU support
ARM: dts: r8a7742: Add LVDS support
ARM: dts: r8a7742-iwg21d-q7: Add LCD support

.../bindings/display/bridge/renesas,lvds.txt | 1 +
.../bindings/display/renesas,du.txt | 2 +
arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++
arch/arm/boot/dts/r8a7742.dtsi | 89 +++++++++++++++++++
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 5 +-
drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 +
6 files changed, 180 insertions(+), 2 deletions(-)

--
2.17.1


2020-08-07 17:51:14

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH 6/7] ARM: dts: r8a7742: Add LVDS support

Add LVDS encoder node to r8a7742 SoC DT.

Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Marian-Cristian Rotariu <[email protected]>
---
arch/arm/boot/dts/r8a7742.dtsi | 54 ++++++++++++++++++++++++++++++++++
1 file changed, 54 insertions(+)

diff --git a/arch/arm/boot/dts/r8a7742.dtsi b/arch/arm/boot/dts/r8a7742.dtsi
index a979a4b3de61..a7e66220d63a 100644
--- a/arch/arm/boot/dts/r8a7742.dtsi
+++ b/arch/arm/boot/dts/r8a7742.dtsi
@@ -1534,11 +1534,65 @@
port@1 {
reg = <1>;
du_out_lvds0: endpoint {
+ remote-endpoint = <&lvds0_in>;
};
};
port@2 {
reg = <2>;
du_out_lvds1: endpoint {
+ remote-endpoint = <&lvds1_in>;
+ };
+ };
+ };
+ };
+
+ lvds0: lvds@feb90000 {
+ compatible = "renesas,r8a7742-lvds";
+ reg = <0 0xfeb90000 0 0x1c>;
+ clocks = <&cpg CPG_MOD 726>;
+ power-domains = <&sysc R8A7742_PD_ALWAYS_ON>;
+ resets = <&cpg 726>;
+ 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 {
+ };
+ };
+ };
+ };
+
+ lvds1: lvds@feb94000 {
+ compatible = "renesas,r8a7742-lvds";
+ reg = <0 0xfeb94000 0 0x1c>;
+ clocks = <&cpg CPG_MOD 725>;
+ power-domains = <&sysc R8A7742_PD_ALWAYS_ON>;
+ resets = <&cpg 725>;
+ status = "disabled";
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ lvds1_in: endpoint {
+ remote-endpoint = <&du_out_lvds1>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ lvds1_out: endpoint {
};
};
};
--
2.17.1

2020-08-07 17:51:16

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH 7/7] ARM: dts: r8a7742-iwg21d-q7: Add LCD support

The iwg21d comes with a 7" capacitive touch screen, therefore
add support for it.

Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Marian-Cristian Rotariu <[email protected]>
---
arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++++++++++
1 file changed, 84 insertions(+)

diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
index b3461a61a4bf..cf59fd61e422 100644
--- a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
+++ b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
@@ -30,6 +30,7 @@

/dts-v1/;
#include "r8a7742-iwg21m.dtsi"
+#include <dt-bindings/pwm/pwm.h>

/ {
model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H";
@@ -52,6 +53,50 @@
clock-frequency = <26000000>;
};

+ lcd_backlight: backlight {
+ compatible = "pwm-backlight";
+ pwms = <&tpu 2 5000000 0>;
+ brightness-levels = <0 4 8 16 32 64 128 255>;
+ pinctrl-0 = <&backlight_pins>;
+ pinctrl-names = "default";
+ default-brightness-level = <7>;
+ enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
+ };
+
+ lvds-receiver {
+ compatible = "ti,ds90cf384a", "lvds-decoder";
+ powerdown-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
+
+ ports {
+ #address-cells = <1>;
+ #size-cells = <0>;
+
+ port@0 {
+ reg = <0>;
+ lvds_receiver_in: endpoint {
+ remote-endpoint = <&lvds0_out>;
+ };
+ };
+ port@1 {
+ reg = <1>;
+ lvds_receiver_out: endpoint {
+ remote-endpoint = <&panel_in>;
+ };
+ };
+ };
+ };
+
+ panel {
+ compatible = "edt,etm0700g0dh6";
+ backlight = <&lcd_backlight>;
+
+ port {
+ panel_in: endpoint {
+ remote-endpoint = <&lvds_receiver_out>;
+ };
+ };
+ };
+
reg_1p5v: 1p5v {
compatible = "regulator-fixed";
regulator-name = "1P5V";
@@ -129,12 +174,31 @@
VDDIO-supply = <&reg_3p3v>;
VDDD-supply = <&reg_1p5v>;
};
+
+ touch: touchpanel@38 {
+ compatible = "edt,edt-ft5406";
+ reg = <0x38>;
+ interrupt-parent = <&gpio0>;
+ interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
+ };
};

&cmt0 {
status = "okay";
};

+&du {
+ status = "okay";
+};
+
+&gpio0 {
+ touch-interrupt {
+ gpio-hog;
+ gpios = <24 GPIO_ACTIVE_LOW>;
+ input;
+ };
+};
+
&hsusb {
pinctrl-0 = <&usb0_pins>;
pinctrl-names = "default";
@@ -165,6 +229,11 @@
function = "avb";
};

+ backlight_pins: backlight {
+ groups = "tpu0_to2";
+ function = "tpu0";
+ };
+
i2c2_pins: i2c2 {
groups = "i2c2_b";
function = "i2c2";
@@ -208,6 +277,17 @@
};
};

+&lvds0 {
+ status = "okay";
+ ports {
+ port@1 {
+ lvds0_out: endpoint {
+ remote-endpoint = <&lvds_receiver_in>;
+ };
+ };
+ };
+};
+
&rcar_sound {
pinctrl-0 = <&sound_pins>;
pinctrl-names = "default";
@@ -261,6 +341,10 @@
shared-pin;
};

+&tpu {
+ status = "okay";
+};
+
&usbphy {
status = "okay";
};
--
2.17.1

2020-08-07 17:51:34

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH 5/7] ARM: dts: r8a7742: Add DU support

Add du node to r8a7742 SoC DT. Boards that want to enable the DU
need to specify the output topology.

Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Marian-Cristian Rotariu <[email protected]>
---
arch/arm/boot/dts/r8a7742.dtsi | 35 ++++++++++++++++++++++++++++++++++
1 file changed, 35 insertions(+)

diff --git a/arch/arm/boot/dts/r8a7742.dtsi b/arch/arm/boot/dts/r8a7742.dtsi
index 4a8d27dff9f7..a979a4b3de61 100644
--- a/arch/arm/boot/dts/r8a7742.dtsi
+++ b/arch/arm/boot/dts/r8a7742.dtsi
@@ -1509,6 +1509,41 @@
resets = <&cpg 408>;
};

+ du: display@feb00000 {
+ compatible = "renesas,du-r8a7742";
+ reg = <0 0xfeb00000 0 0x70000>;
+ interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
+ <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>;
+ clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
+ <&cpg CPG_MOD 722>;
+ clock-names = "du.0", "du.1", "du.2";
+ resets = <&cpg 724>;
+ reset-names = "du.0";
+ 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 {
+ };
+ };
+ port@2 {
+ reg = <2>;
+ du_out_lvds1: endpoint {
+ };
+ };
+ };
+ };
+
prr: chipid@ff000044 {
compatible = "renesas,prr";
reg = <0 0xff000044 0 4>;
--
2.17.1

2020-08-07 17:51:39

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH 3/7] dt-bindings: display: renesas,lvds: Document r8a7742 bindings

Document the RZ/G1H (R8A7742) LVDS bindings.

Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Marian-Cristian Rotariu <[email protected]>
---
.../devicetree/bindings/display/bridge/renesas,lvds.txt | 1 +
1 file changed, 1 insertion(+)

diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
index c62ce2494ed9..40aa809f41cd 100644
--- a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
+++ b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
@@ -7,6 +7,7 @@ Gen2, R-Car Gen3 and RZ/G SoCs.
Required properties:

- compatible : Shall contain one of
+ - "renesas,r8a7742-lvds" for R8A7742 (RZ/G1H) compatible LVDS encoders
- "renesas,r8a7743-lvds" for R8A7743 (RZ/G1M) compatible LVDS encoders
- "renesas,r8a7744-lvds" for R8A7744 (RZ/G1N) compatible LVDS encoders
- "renesas,r8a774a1-lvds" for R8A774A1 (RZ/G2M) compatible LVDS encoders
--
2.17.1

2020-08-07 17:51:53

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH 1/7] dt-bindings: display: renesas,du: Document the r8a7742 bindings

Document the RZ/G1H (R8A7742) SoC in the R-Car DU bindings.

Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Marian-Cristian Rotariu <[email protected]>
---
Documentation/devicetree/bindings/display/renesas,du.txt | 2 ++
1 file changed, 2 insertions(+)

diff --git a/Documentation/devicetree/bindings/display/renesas,du.txt b/Documentation/devicetree/bindings/display/renesas,du.txt
index 51cd4d162770..3f1e3ca4bea9 100644
--- a/Documentation/devicetree/bindings/display/renesas,du.txt
+++ b/Documentation/devicetree/bindings/display/renesas,du.txt
@@ -3,6 +3,7 @@
Required Properties:

- compatible: must be one of the following.
+ - "renesas,du-r8a7742" for R8A7742 (RZ/G1H) compatible DU
- "renesas,du-r8a7743" for R8A7743 (RZ/G1M) compatible DU
- "renesas,du-r8a7744" for R8A7744 (RZ/G1N) compatible DU
- "renesas,du-r8a7745" for R8A7745 (RZ/G1E) compatible DU
@@ -68,6 +69,7 @@ corresponding to each DU output.

Port0 Port1 Port2 Port3
-----------------------------------------------------------------------------
+ R8A7742 (RZ/G1H) DPAD 0 LVDS 0 LVDS 1 -
R8A7743 (RZ/G1M) DPAD 0 LVDS 0 - -
R8A7744 (RZ/G1N) DPAD 0 LVDS 0 - -
R8A7745 (RZ/G1E) DPAD 0 DPAD 1 - -
--
2.17.1

2020-08-07 17:52:53

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH 2/7] drm: rcar-du: Add r8a7742 support

Add direct support for the r8a7742 (RZ/G1H).

The RZ/G1H shares a common, compatible configuration with the r8a7790
(R-Car H2) so that device info structure is reused, the only difference
being TCON is unsupported on RZ/G1H (Currently unsupported by the driver).

Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Marian-Cristian Rotariu <[email protected]>
---
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
index 3e67cf70f040..7e286c7a7a6c 100644
--- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
+++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
@@ -216,8 +216,8 @@ static const struct rcar_du_device_info rcar_du_r8a7790_info = {
.channels_mask = BIT(2) | BIT(1) | BIT(0),
.routes = {
/*
- * R8A7790 has one RGB output, two LVDS outputs and one
- * (currently unsupported) TCON output.
+ * R8A7742 and R8A7790 each have one RGB output and two LVDS outputs. Additionally
+ * R8A7790 supports one TCON output (currently unsupported by the driver).
*/
[RCAR_DU_OUTPUT_DPAD0] = {
.possible_crtcs = BIT(2) | BIT(1) | BIT(0),
@@ -443,6 +443,7 @@ static const struct rcar_du_device_info rcar_du_r8a7799x_info = {
};

static const struct of_device_id rcar_du_of_table[] = {
+ { .compatible = "renesas,du-r8a7742", .data = &rcar_du_r8a7790_info },
{ .compatible = "renesas,du-r8a7743", .data = &rzg1_du_r8a7743_info },
{ .compatible = "renesas,du-r8a7744", .data = &rzg1_du_r8a7743_info },
{ .compatible = "renesas,du-r8a7745", .data = &rzg1_du_r8a7745_info },
--
2.17.1

2020-08-07 17:53:10

by Prabhakar Mahadev Lad

[permalink] [raw]
Subject: [PATCH 4/7] drm: rcar-du: lvds: Add r8a7742 support

The LVDS encoders on RZ/G1H SoC is identical to the R-Car Gen2 family. Add
support for RZ/G1H (R8A7742) SoC to the LVDS encoder driver.

Signed-off-by: Lad Prabhakar <[email protected]>
Reviewed-by: Marian-Cristian Rotariu <[email protected]>
---
drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 +
1 file changed, 1 insertion(+)

diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
index ab0d49618cf9..34b833cc05be 100644
--- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
+++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
@@ -982,6 +982,7 @@ static const struct rcar_lvds_device_info rcar_lvds_r8a77995_info = {
};

static const struct of_device_id rcar_lvds_of_table[] = {
+ { .compatible = "renesas,r8a7742-lvds", .data = &rcar_lvds_gen2_info },
{ .compatible = "renesas,r8a7743-lvds", .data = &rcar_lvds_gen2_info },
{ .compatible = "renesas,r8a7744-lvds", .data = &rcar_lvds_gen2_info },
{ .compatible = "renesas,r8a774a1-lvds", .data = &rcar_lvds_gen3_info },
--
2.17.1

2020-08-07 19:50:52

by Sergei Shtylyov

[permalink] [raw]
Subject: Re: [PATCH 5/7] ARM: dts: r8a7742: Add DU support

Hello!

On 8/7/20 8:49 PM, Lad Prabhakar wrote:

> Add du node to r8a7742 SoC DT. Boards that want to enable the DU

Both "du" and "DU" on a single line? :-)

> need to specify the output topology.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>
[...]

MBR, Sergei

2020-08-07 20:26:00

by Lad, Prabhakar

[permalink] [raw]
Subject: Re: [PATCH 5/7] ARM: dts: r8a7742: Add DU support

Hi Sergei,

Thank you for the review.

On Fri, Aug 7, 2020 at 8:48 PM Sergei Shtylyov
<[email protected]> wrote:
>
> Hello!
>
> On 8/7/20 8:49 PM, Lad Prabhakar wrote:
>
> > Add du node to r8a7742 SoC DT. Boards that want to enable the DU
>
> Both "du" and "DU" on a single line? :-)
>
Argh my bad.

Cheers,
Prabhakar

> > need to specify the output topology.
> >
> > Signed-off-by: Lad Prabhakar <[email protected]>
> > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> [...]
>
> MBR, Sergei

2020-08-08 20:58:41

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 0/7] r8a7742: Enable DU and LVDS

Hi Prabhakar,

Thank you for the patches.

On Fri, Aug 07, 2020 at 06:49:47PM +0100, Lad Prabhakar wrote:
> Hi All,
>
> This patch series adds support for DU and LVDS to r8a7742
> SoC and enables LCD support on r8a7742-iwg21d-q7 board.
>
> This patch series applies on top of [1].
>
> [1] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
> renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10

The driver changes will need to go through the DRM/KMS tree, and I'd
recommend the DT binding changes to go the same route as well. I can
handle the rebase when applying, and once the bindings get accept, you
can ask Geert to upstream the last 3 patchs. Would that work for you ?

> Lad Prabhakar (7):
> dt-bindings: display: renesas,du: Document the r8a7742 bindings
> drm: rcar-du: Add r8a7742 support
> dt-bindings: display: renesas,lvds: Document r8a7742 bindings
> drm: rcar-du: lvds: Add r8a7742 support
> ARM: dts: r8a7742: Add DU support
> ARM: dts: r8a7742: Add LVDS support
> ARM: dts: r8a7742-iwg21d-q7: Add LCD support
>
> .../bindings/display/bridge/renesas,lvds.txt | 1 +
> .../bindings/display/renesas,du.txt | 2 +
> arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++
> arch/arm/boot/dts/r8a7742.dtsi | 89 +++++++++++++++++++
> drivers/gpu/drm/rcar-du/rcar_du_drv.c | 5 +-
> drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 +
> 6 files changed, 180 insertions(+), 2 deletions(-)

--
Regards,

Laurent Pinchart

2020-08-08 21:00:19

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 1/7] dt-bindings: display: renesas,du: Document the r8a7742 bindings

Hi Prabhakar,

Thank you for the patch.

On Fri, Aug 07, 2020 at 06:49:48PM +0100, Lad Prabhakar wrote:
> Document the RZ/G1H (R8A7742) SoC in the R-Car DU bindings.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>

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

> ---
> Documentation/devicetree/bindings/display/renesas,du.txt | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/Documentation/devicetree/bindings/display/renesas,du.txt b/Documentation/devicetree/bindings/display/renesas,du.txt
> index 51cd4d162770..3f1e3ca4bea9 100644
> --- a/Documentation/devicetree/bindings/display/renesas,du.txt
> +++ b/Documentation/devicetree/bindings/display/renesas,du.txt
> @@ -3,6 +3,7 @@
> Required Properties:
>
> - compatible: must be one of the following.
> + - "renesas,du-r8a7742" for R8A7742 (RZ/G1H) compatible DU
> - "renesas,du-r8a7743" for R8A7743 (RZ/G1M) compatible DU
> - "renesas,du-r8a7744" for R8A7744 (RZ/G1N) compatible DU
> - "renesas,du-r8a7745" for R8A7745 (RZ/G1E) compatible DU
> @@ -68,6 +69,7 @@ corresponding to each DU output.
>
> Port0 Port1 Port2 Port3
> -----------------------------------------------------------------------------
> + R8A7742 (RZ/G1H) DPAD 0 LVDS 0 LVDS 1 -
> R8A7743 (RZ/G1M) DPAD 0 LVDS 0 - -
> R8A7744 (RZ/G1N) DPAD 0 LVDS 0 - -
> R8A7745 (RZ/G1E) DPAD 0 DPAD 1 - -

--
Regards,

Laurent Pinchart

2020-08-08 21:04:18

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 2/7] drm: rcar-du: Add r8a7742 support

Hi Prabhakar,

Thank you for the patch.

On Fri, Aug 07, 2020 at 06:49:49PM +0100, Lad Prabhakar wrote:
> Add direct support for the r8a7742 (RZ/G1H).
>
> The RZ/G1H shares a common, compatible configuration with the r8a7790
> (R-Car H2) so that device info structure is reused, the only difference
> being TCON is unsupported on RZ/G1H (Currently unsupported by the driver).
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> ---
> drivers/gpu/drm/rcar-du/rcar_du_drv.c | 5 +++--
> 1 file changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> index 3e67cf70f040..7e286c7a7a6c 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> @@ -216,8 +216,8 @@ static const struct rcar_du_device_info rcar_du_r8a7790_info = {
> .channels_mask = BIT(2) | BIT(1) | BIT(0),
> .routes = {
> /*
> - * R8A7790 has one RGB output, two LVDS outputs and one
> - * (currently unsupported) TCON output.
> + * R8A7742 and R8A7790 each have one RGB output and two LVDS outputs. Additionally
> + * R8A7790 supports one TCON output (currently unsupported by the driver).

Once we support TCON we'll have to split this, but for now I suppose
it's fine. Would you however mind wrapping this to 80 columns ? I can do
so when applying if it's fine with you.

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

> */
> [RCAR_DU_OUTPUT_DPAD0] = {
> .possible_crtcs = BIT(2) | BIT(1) | BIT(0),
> @@ -443,6 +443,7 @@ static const struct rcar_du_device_info rcar_du_r8a7799x_info = {
> };
>
> static const struct of_device_id rcar_du_of_table[] = {
> + { .compatible = "renesas,du-r8a7742", .data = &rcar_du_r8a7790_info },
> { .compatible = "renesas,du-r8a7743", .data = &rzg1_du_r8a7743_info },
> { .compatible = "renesas,du-r8a7744", .data = &rzg1_du_r8a7743_info },
> { .compatible = "renesas,du-r8a7745", .data = &rzg1_du_r8a7745_info },

--
Regards,

Laurent Pinchart

2020-08-08 21:05:05

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 3/7] dt-bindings: display: renesas,lvds: Document r8a7742 bindings

Hi Prabhakar,

Thank you for the patch.

On Fri, Aug 07, 2020 at 06:49:50PM +0100, Lad Prabhakar wrote:
> Document the RZ/G1H (R8A7742) LVDS bindings.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>

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

> ---
> .../devicetree/bindings/display/bridge/renesas,lvds.txt | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> index c62ce2494ed9..40aa809f41cd 100644
> --- a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> +++ b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> @@ -7,6 +7,7 @@ Gen2, R-Car Gen3 and RZ/G SoCs.
> Required properties:
>
> - compatible : Shall contain one of
> + - "renesas,r8a7742-lvds" for R8A7742 (RZ/G1H) compatible LVDS encoders
> - "renesas,r8a7743-lvds" for R8A7743 (RZ/G1M) compatible LVDS encoders
> - "renesas,r8a7744-lvds" for R8A7744 (RZ/G1N) compatible LVDS encoders
> - "renesas,r8a774a1-lvds" for R8A774A1 (RZ/G2M) compatible LVDS encoders

--
Regards,

Laurent Pinchart

2020-08-08 21:06:15

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 3/7] dt-bindings: display: renesas,lvds: Document r8a7742 bindings

On Sun, Aug 09, 2020 at 12:03:27AM +0300, Laurent Pinchart wrote:
> Hi Prabhakar,
>
> Thank you for the patch.
>
> On Fri, Aug 07, 2020 at 06:49:50PM +0100, Lad Prabhakar wrote:
> > Document the RZ/G1H (R8A7742) LVDS bindings.
> >
> > Signed-off-by: Lad Prabhakar <[email protected]>
> > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
>
> Reviewed-by: Laurent Pinchart <[email protected]>

I actually spoke too soon, this binding has been concerted to YAML in
drm-next. I can fix this when applying, no need to resubmit just for
this.

> > ---
> > .../devicetree/bindings/display/bridge/renesas,lvds.txt | 1 +
> > 1 file changed, 1 insertion(+)
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> > index c62ce2494ed9..40aa809f41cd 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> > +++ b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> > @@ -7,6 +7,7 @@ Gen2, R-Car Gen3 and RZ/G SoCs.
> > Required properties:
> >
> > - compatible : Shall contain one of
> > + - "renesas,r8a7742-lvds" for R8A7742 (RZ/G1H) compatible LVDS encoders
> > - "renesas,r8a7743-lvds" for R8A7743 (RZ/G1M) compatible LVDS encoders
> > - "renesas,r8a7744-lvds" for R8A7744 (RZ/G1N) compatible LVDS encoders
> > - "renesas,r8a774a1-lvds" for R8A774A1 (RZ/G2M) compatible LVDS encoders

--
Regards,

Laurent Pinchart

2020-08-08 21:08:03

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 4/7] drm: rcar-du: lvds: Add r8a7742 support

Hi Prabhakar,

Thank you for the patch.

On Fri, Aug 07, 2020 at 06:49:51PM +0100, Lad Prabhakar wrote:
> The LVDS encoders on RZ/G1H SoC is identical to the R-Car Gen2 family. Add
> support for RZ/G1H (R8A7742) SoC to the LVDS encoder driver.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>

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

> ---
> drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 +
> 1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/rcar-du/rcar_lvds.c b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> index ab0d49618cf9..34b833cc05be 100644
> --- a/drivers/gpu/drm/rcar-du/rcar_lvds.c
> +++ b/drivers/gpu/drm/rcar-du/rcar_lvds.c
> @@ -982,6 +982,7 @@ static const struct rcar_lvds_device_info rcar_lvds_r8a77995_info = {
> };
>
> static const struct of_device_id rcar_lvds_of_table[] = {
> + { .compatible = "renesas,r8a7742-lvds", .data = &rcar_lvds_gen2_info },
> { .compatible = "renesas,r8a7743-lvds", .data = &rcar_lvds_gen2_info },
> { .compatible = "renesas,r8a7744-lvds", .data = &rcar_lvds_gen2_info },
> { .compatible = "renesas,r8a774a1-lvds", .data = &rcar_lvds_gen3_info },

--
Regards,

Laurent Pinchart

2020-08-08 21:16:28

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 5/7] ARM: dts: r8a7742: Add DU support

Hi Prabhakar,

Thank you for the patch.

On Fri, Aug 07, 2020 at 06:49:52PM +0100, Lad Prabhakar wrote:
> Add du node to r8a7742 SoC DT. Boards that want to enable the DU
> need to specify the output topology.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>

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

> ---
> arch/arm/boot/dts/r8a7742.dtsi | 35 ++++++++++++++++++++++++++++++++++
> 1 file changed, 35 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a7742.dtsi b/arch/arm/boot/dts/r8a7742.dtsi
> index 4a8d27dff9f7..a979a4b3de61 100644
> --- a/arch/arm/boot/dts/r8a7742.dtsi
> +++ b/arch/arm/boot/dts/r8a7742.dtsi
> @@ -1509,6 +1509,41 @@
> resets = <&cpg 408>;
> };
>
> + du: display@feb00000 {
> + compatible = "renesas,du-r8a7742";
> + reg = <0 0xfeb00000 0 0x70000>;
> + interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
> + <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>;
> + clocks = <&cpg CPG_MOD 724>, <&cpg CPG_MOD 723>,
> + <&cpg CPG_MOD 722>;
> + clock-names = "du.0", "du.1", "du.2";
> + resets = <&cpg 724>;
> + reset-names = "du.0";
> + 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 {
> + };
> + };
> + port@2 {
> + reg = <2>;
> + du_out_lvds1: endpoint {
> + };
> + };
> + };
> + };
> +
> prr: chipid@ff000044 {
> compatible = "renesas,prr";
> reg = <0 0xff000044 0 4>;

--
Regards,

Laurent Pinchart

2020-08-08 21:17:10

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 6/7] ARM: dts: r8a7742: Add LVDS support

Hi Prabhakar,

Thank you for the patch.

On Fri, Aug 07, 2020 at 06:49:53PM +0100, Lad Prabhakar wrote:
> Add LVDS encoder node to r8a7742 SoC DT.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> ---
> arch/arm/boot/dts/r8a7742.dtsi | 54 ++++++++++++++++++++++++++++++++++
> 1 file changed, 54 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a7742.dtsi b/arch/arm/boot/dts/r8a7742.dtsi
> index a979a4b3de61..a7e66220d63a 100644
> --- a/arch/arm/boot/dts/r8a7742.dtsi
> +++ b/arch/arm/boot/dts/r8a7742.dtsi
> @@ -1534,11 +1534,65 @@
> port@1 {
> reg = <1>;
> du_out_lvds0: endpoint {
> + remote-endpoint = <&lvds0_in>;
> };
> };
> port@2 {
> reg = <2>;
> du_out_lvds1: endpoint {
> + remote-endpoint = <&lvds1_in>;
> + };
> + };
> + };
> + };
> +
> + lvds0: lvds@feb90000 {
> + compatible = "renesas,r8a7742-lvds";
> + reg = <0 0xfeb90000 0 0x1c>;

Isn't 0x14 enough for the size ? 0x1c won't hurt though. Same comment
below.

With or without this addressed,

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

> + clocks = <&cpg CPG_MOD 726>;
> + power-domains = <&sysc R8A7742_PD_ALWAYS_ON>;
> + resets = <&cpg 726>;
> + 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 {
> + };
> + };
> + };
> + };
> +
> + lvds1: lvds@feb94000 {
> + compatible = "renesas,r8a7742-lvds";
> + reg = <0 0xfeb94000 0 0x1c>;
> + clocks = <&cpg CPG_MOD 725>;
> + power-domains = <&sysc R8A7742_PD_ALWAYS_ON>;
> + resets = <&cpg 725>;
> + status = "disabled";
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + lvds1_in: endpoint {
> + remote-endpoint = <&du_out_lvds1>;
> + };
> + };
> + port@1 {
> + reg = <1>;
> + lvds1_out: endpoint {
> };
> };
> };

--
Regards,

Laurent Pinchart

2020-08-08 21:24:35

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 7/7] ARM: dts: r8a7742-iwg21d-q7: Add LCD support

Hi Prabhakar,

Thank you for the patch.

On Fri, Aug 07, 2020 at 06:49:54PM +0100, Lad Prabhakar wrote:
> The iwg21d comes with a 7" capacitive touch screen, therefore
> add support for it.

I can't review most of this properly as I don't have access to the
schematics. Is there a way to get it ?

> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> ---
> arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++++++++++
> 1 file changed, 84 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> index b3461a61a4bf..cf59fd61e422 100644
> --- a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> +++ b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> @@ -30,6 +30,7 @@
>
> /dts-v1/;
> #include "r8a7742-iwg21m.dtsi"
> +#include <dt-bindings/pwm/pwm.h>
>
> / {
> model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H";
> @@ -52,6 +53,50 @@
> clock-frequency = <26000000>;
> };
>
> + lcd_backlight: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&tpu 2 5000000 0>;
> + brightness-levels = <0 4 8 16 32 64 128 255>;
> + pinctrl-0 = <&backlight_pins>;
> + pinctrl-names = "default";
> + default-brightness-level = <7>;
> + enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
> + };
> +
> + lvds-receiver {
> + compatible = "ti,ds90cf384a", "lvds-decoder";
> + powerdown-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + lvds_receiver_in: endpoint {
> + remote-endpoint = <&lvds0_out>;
> + };
> + };
> + port@1 {
> + reg = <1>;
> + lvds_receiver_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> + };
> + };
> +
> + panel {
> + compatible = "edt,etm0700g0dh6";
> + backlight = <&lcd_backlight>;
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&lvds_receiver_out>;
> + };
> + };
> + };
> +
> reg_1p5v: 1p5v {
> compatible = "regulator-fixed";
> regulator-name = "1P5V";
> @@ -129,12 +174,31 @@
> VDDIO-supply = <&reg_3p3v>;
> VDDD-supply = <&reg_1p5v>;
> };
> +
> + touch: touchpanel@38 {
> + compatible = "edt,edt-ft5406";
> + reg = <0x38>;
> + interrupt-parent = <&gpio0>;
> + interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
> + };
> };
>
> &cmt0 {
> status = "okay";
> };
>
> +&du {
> + status = "okay";
> +};
> +
> +&gpio0 {
> + touch-interrupt {
> + gpio-hog;
> + gpios = <24 GPIO_ACTIVE_LOW>;
> + input;

Is this required, won't requesting the interrupt be enough to configure
the pin properly ?

> + };
> +};
> +
> &hsusb {
> pinctrl-0 = <&usb0_pins>;
> pinctrl-names = "default";
> @@ -165,6 +229,11 @@
> function = "avb";
> };
>
> + backlight_pins: backlight {
> + groups = "tpu0_to2";
> + function = "tpu0";
> + };
> +
> i2c2_pins: i2c2 {
> groups = "i2c2_b";
> function = "i2c2";
> @@ -208,6 +277,17 @@
> };
> };
>
> +&lvds0 {
> + status = "okay";
> + ports {
> + port@1 {
> + lvds0_out: endpoint {
> + remote-endpoint = <&lvds_receiver_in>;
> + };
> + };
> + };
> +};
> +
> &rcar_sound {
> pinctrl-0 = <&sound_pins>;
> pinctrl-names = "default";
> @@ -261,6 +341,10 @@
> shared-pin;
> };
>
> +&tpu {
> + status = "okay";
> +};
> +
> &usbphy {
> status = "okay";
> };

--
Regards,

Laurent Pinchart

2020-08-09 20:39:26

by Lad, Prabhakar

[permalink] [raw]
Subject: Re: [PATCH 2/7] drm: rcar-du: Add r8a7742 support

Hi Laurent,

Thank you for the review.

On Sat, Aug 8, 2020 at 10:02 PM Laurent Pinchart
<[email protected]> wrote:
>
> Hi Prabhakar,
>
> Thank you for the patch.
>
> On Fri, Aug 07, 2020 at 06:49:49PM +0100, Lad Prabhakar wrote:
> > Add direct support for the r8a7742 (RZ/G1H).
> >
> > The RZ/G1H shares a common, compatible configuration with the r8a7790
> > (R-Car H2) so that device info structure is reused, the only difference
> > being TCON is unsupported on RZ/G1H (Currently unsupported by the driver).
> >
> > Signed-off-by: Lad Prabhakar <[email protected]>
> > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> > ---
> > drivers/gpu/drm/rcar-du/rcar_du_drv.c | 5 +++--
> > 1 file changed, 3 insertions(+), 2 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> > index 3e67cf70f040..7e286c7a7a6c 100644
> > --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> > +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> > @@ -216,8 +216,8 @@ static const struct rcar_du_device_info rcar_du_r8a7790_info = {
> > .channels_mask = BIT(2) | BIT(1) | BIT(0),
> > .routes = {
> > /*
> > - * R8A7790 has one RGB output, two LVDS outputs and one
> > - * (currently unsupported) TCON output.
> > + * R8A7742 and R8A7790 each have one RGB output and two LVDS outputs. Additionally
> > + * R8A7790 supports one TCON output (currently unsupported by the driver).
>
> Once we support TCON we'll have to split this, but for now I suppose
> it's fine. Would you however mind wrapping this to 80 columns ? I can do
> so when applying if it's fine with you.
>
Agreed once TCON is added this has to be split. But isn't the column
size has been increased (checkpatch too doesn't complain about), but
feel free to wrapp it for 80 columns.

Cheers,
Prabhakar

> Reviewed-by: Laurent Pinchart <[email protected]>
>
> > */
> > [RCAR_DU_OUTPUT_DPAD0] = {
> > .possible_crtcs = BIT(2) | BIT(1) | BIT(0),
> > @@ -443,6 +443,7 @@ static const struct rcar_du_device_info rcar_du_r8a7799x_info = {
> > };
> >
> > static const struct of_device_id rcar_du_of_table[] = {
> > + { .compatible = "renesas,du-r8a7742", .data = &rcar_du_r8a7790_info },
> > { .compatible = "renesas,du-r8a7743", .data = &rzg1_du_r8a7743_info },
> > { .compatible = "renesas,du-r8a7744", .data = &rzg1_du_r8a7743_info },
> > { .compatible = "renesas,du-r8a7745", .data = &rzg1_du_r8a7745_info },
>
> --
> Regards,
>
> Laurent Pinchart

2020-08-09 21:11:31

by Lad, Prabhakar

[permalink] [raw]
Subject: Re: [PATCH 3/7] dt-bindings: display: renesas,lvds: Document r8a7742 bindings

Hi Laurent,

Thank you for the review.

On Sat, Aug 8, 2020 at 10:05 PM Laurent Pinchart
<[email protected]> wrote:
>
> On Sun, Aug 09, 2020 at 12:03:27AM +0300, Laurent Pinchart wrote:
> > Hi Prabhakar,
> >
> > Thank you for the patch.
> >
> > On Fri, Aug 07, 2020 at 06:49:50PM +0100, Lad Prabhakar wrote:
> > > Document the RZ/G1H (R8A7742) LVDS bindings.
> > >
> > > Signed-off-by: Lad Prabhakar <[email protected]>
> > > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> >
> > Reviewed-by: Laurent Pinchart <[email protected]>
>
> I actually spoke too soon, this binding has been concerted to YAML in
> drm-next. I can fix this when applying, no need to resubmit just for
> this.
>
Thank you for taking care of it.

Cheers,
Prabhakar

> > > ---
> > > .../devicetree/bindings/display/bridge/renesas,lvds.txt | 1 +
> > > 1 file changed, 1 insertion(+)
> > >
> > > diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> > > index c62ce2494ed9..40aa809f41cd 100644
> > > --- a/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> > > +++ b/Documentation/devicetree/bindings/display/bridge/renesas,lvds.txt
> > > @@ -7,6 +7,7 @@ Gen2, R-Car Gen3 and RZ/G SoCs.
> > > Required properties:
> > >
> > > - compatible : Shall contain one of
> > > + - "renesas,r8a7742-lvds" for R8A7742 (RZ/G1H) compatible LVDS encoders
> > > - "renesas,r8a7743-lvds" for R8A7743 (RZ/G1M) compatible LVDS encoders
> > > - "renesas,r8a7744-lvds" for R8A7744 (RZ/G1N) compatible LVDS encoders
> > > - "renesas,r8a774a1-lvds" for R8A774A1 (RZ/G2M) compatible LVDS encoders
>
> --
> Regards,
>
> Laurent Pinchart

2020-08-09 21:32:52

by Lad, Prabhakar

[permalink] [raw]
Subject: Re: [PATCH 6/7] ARM: dts: r8a7742: Add LVDS support

Hi Laurent,

Thank you for the review.

On Sat, Aug 8, 2020 at 10:13 PM Laurent Pinchart
<[email protected]> wrote:
>
> Hi Prabhakar,
>
> Thank you for the patch.
>
> On Fri, Aug 07, 2020 at 06:49:53PM +0100, Lad Prabhakar wrote:
> > Add LVDS encoder node to r8a7742 SoC DT.
> >
> > Signed-off-by: Lad Prabhakar <[email protected]>
> > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> > ---
> > arch/arm/boot/dts/r8a7742.dtsi | 54 ++++++++++++++++++++++++++++++++++
> > 1 file changed, 54 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/r8a7742.dtsi b/arch/arm/boot/dts/r8a7742.dtsi
> > index a979a4b3de61..a7e66220d63a 100644
> > --- a/arch/arm/boot/dts/r8a7742.dtsi
> > +++ b/arch/arm/boot/dts/r8a7742.dtsi
> > @@ -1534,11 +1534,65 @@
> > port@1 {
> > reg = <1>;
> > du_out_lvds0: endpoint {
> > + remote-endpoint = <&lvds0_in>;
> > };
> > };
> > port@2 {
> > reg = <2>;
> > du_out_lvds1: endpoint {
> > + remote-endpoint = <&lvds1_in>;
> > + };
> > + };
> > + };
> > + };
> > +
> > + lvds0: lvds@feb90000 {
> > + compatible = "renesas,r8a7742-lvds";
> > + reg = <0 0xfeb90000 0 0x1c>;
>
> Isn't 0x14 enough for the size ? 0x1c won't hurt though. Same comment
> below.
>
Agreed, 0x1c comes from Gen-3 manuals.

Cheers,
Prabhakar

> With or without this addressed,
>
> Reviewed-by: Laurent Pinchart <[email protected]>
>
> > + clocks = <&cpg CPG_MOD 726>;
> > + power-domains = <&sysc R8A7742_PD_ALWAYS_ON>;
> > + resets = <&cpg 726>;
> > + 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 {
> > + };
> > + };
> > + };
> > + };
> > +
> > + lvds1: lvds@feb94000 {
> > + compatible = "renesas,r8a7742-lvds";
> > + reg = <0 0xfeb94000 0 0x1c>;
> > + clocks = <&cpg CPG_MOD 725>;
> > + power-domains = <&sysc R8A7742_PD_ALWAYS_ON>;
> > + resets = <&cpg 725>;
> > + status = "disabled";
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > + lvds1_in: endpoint {
> > + remote-endpoint = <&du_out_lvds1>;
> > + };
> > + };
> > + port@1 {
> > + reg = <1>;
> > + lvds1_out: endpoint {
> > };
> > };
> > };
>
> --
> Regards,
>
> Laurent Pinchart

2020-08-09 21:37:08

by Lad, Prabhakar

[permalink] [raw]
Subject: Re: [PATCH 7/7] ARM: dts: r8a7742-iwg21d-q7: Add LCD support

Hi Laurent,

Thank you for the review.


On Sat, Aug 8, 2020 at 10:23 PM Laurent Pinchart
<[email protected]> wrote:
>
> Hi Prabhakar,
>
> Thank you for the patch.
>
> On Fri, Aug 07, 2020 at 06:49:54PM +0100, Lad Prabhakar wrote:
> > The iwg21d comes with a 7" capacitive touch screen, therefore
> > add support for it.
>
> I can't review most of this properly as I don't have access to the
> schematics. Is there a way to get it ?
>
I'll check with Chris, how we could get the schematics for you.

> > Signed-off-by: Lad Prabhakar <[email protected]>
> > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> > ---
> > arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++++++++++
> > 1 file changed, 84 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > index b3461a61a4bf..cf59fd61e422 100644
> > --- a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > +++ b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > @@ -30,6 +30,7 @@
> >
> > /dts-v1/;
> > #include "r8a7742-iwg21m.dtsi"
> > +#include <dt-bindings/pwm/pwm.h>
> >
> > / {
> > model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H";
> > @@ -52,6 +53,50 @@
> > clock-frequency = <26000000>;
> > };
> >
> > + lcd_backlight: backlight {
> > + compatible = "pwm-backlight";
> > + pwms = <&tpu 2 5000000 0>;
> > + brightness-levels = <0 4 8 16 32 64 128 255>;
> > + pinctrl-0 = <&backlight_pins>;
> > + pinctrl-names = "default";
> > + default-brightness-level = <7>;
> > + enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
> > + };
> > +
> > + lvds-receiver {
> > + compatible = "ti,ds90cf384a", "lvds-decoder";
> > + powerdown-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > + lvds_receiver_in: endpoint {
> > + remote-endpoint = <&lvds0_out>;
> > + };
> > + };
> > + port@1 {
> > + reg = <1>;
> > + lvds_receiver_out: endpoint {
> > + remote-endpoint = <&panel_in>;
> > + };
> > + };
> > + };
> > + };
> > +
> > + panel {
> > + compatible = "edt,etm0700g0dh6";
> > + backlight = <&lcd_backlight>;
> > +
> > + port {
> > + panel_in: endpoint {
> > + remote-endpoint = <&lvds_receiver_out>;
> > + };
> > + };
> > + };
> > +
> > reg_1p5v: 1p5v {
> > compatible = "regulator-fixed";
> > regulator-name = "1P5V";
> > @@ -129,12 +174,31 @@
> > VDDIO-supply = <&reg_3p3v>;
> > VDDD-supply = <&reg_1p5v>;
> > };
> > +
> > + touch: touchpanel@38 {
> > + compatible = "edt,edt-ft5406";
> > + reg = <0x38>;
> > + interrupt-parent = <&gpio0>;
> > + interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
> > + };
> > };
> >
> > &cmt0 {
> > status = "okay";
> > };
> >
> > +&du {
> > + status = "okay";
> > +};
> > +
> > +&gpio0 {
> > + touch-interrupt {
> > + gpio-hog;
> > + gpios = <24 GPIO_ACTIVE_LOW>;
> > + input;
>
> Is this required, won't requesting the interrupt be enough to configure
> the pin properly ?
>
Agreed.

Cheers,
Prabhakar

> > + };
> > +};
> > +
> > &hsusb {
> > pinctrl-0 = <&usb0_pins>;
> > pinctrl-names = "default";
> > @@ -165,6 +229,11 @@
> > function = "avb";
> > };
> >
> > + backlight_pins: backlight {
> > + groups = "tpu0_to2";
> > + function = "tpu0";
> > + };
> > +
> > i2c2_pins: i2c2 {
> > groups = "i2c2_b";
> > function = "i2c2";
> > @@ -208,6 +277,17 @@
> > };
> > };
> >
> > +&lvds0 {
> > + status = "okay";
> > + ports {
> > + port@1 {
> > + lvds0_out: endpoint {
> > + remote-endpoint = <&lvds_receiver_in>;
> > + };
> > + };
> > + };
> > +};
> > +
> > &rcar_sound {
> > pinctrl-0 = <&sound_pins>;
> > pinctrl-names = "default";
> > @@ -261,6 +341,10 @@
> > shared-pin;
> > };
> >
> > +&tpu {
> > + status = "okay";
> > +};
> > +
> > &usbphy {
> > status = "okay";
> > };
>
> --
> Regards,
>
> Laurent Pinchart

2020-08-09 21:47:00

by Lad, Prabhakar

[permalink] [raw]
Subject: Re: [PATCH 0/7] r8a7742: Enable DU and LVDS

Hi Laurent,

Thank you for the quick review.

On Sat, Aug 8, 2020 at 9:55 PM Laurent Pinchart
<[email protected]> wrote:
>
> Hi Prabhakar,
>
> Thank you for the patches.
>
> On Fri, Aug 07, 2020 at 06:49:47PM +0100, Lad Prabhakar wrote:
> > Hi All,
> >
> > This patch series adds support for DU and LVDS to r8a7742
> > SoC and enables LCD support on r8a7742-iwg21d-q7 board.
> >
> > This patch series applies on top of [1].
> >
> > [1] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
> > renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
>
> The driver changes will need to go through the DRM/KMS tree, and I'd
> recommend the DT binding changes to go the same route as well. I can
> handle the rebase when applying, and once the bindings get accept, you
> can ask Geert to upstream the last 3 patchs. Would that work for you ?
>
I'm OK with it as long as Geert is happy. (Fyi I still have bunch of
patches for G1H)

Cheers,
Prabhakar

> > Lad Prabhakar (7):
> > dt-bindings: display: renesas,du: Document the r8a7742 bindings
> > drm: rcar-du: Add r8a7742 support
> > dt-bindings: display: renesas,lvds: Document r8a7742 bindings
> > drm: rcar-du: lvds: Add r8a7742 support
> > ARM: dts: r8a7742: Add DU support
> > ARM: dts: r8a7742: Add LVDS support
> > ARM: dts: r8a7742-iwg21d-q7: Add LCD support
> >
> > .../bindings/display/bridge/renesas,lvds.txt | 1 +
> > .../bindings/display/renesas,du.txt | 2 +
> > arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++
> > arch/arm/boot/dts/r8a7742.dtsi | 89 +++++++++++++++++++
> > drivers/gpu/drm/rcar-du/rcar_du_drv.c | 5 +-
> > drivers/gpu/drm/rcar-du/rcar_lvds.c | 1 +
> > 6 files changed, 180 insertions(+), 2 deletions(-)
>
> --
> Regards,
>
> Laurent Pinchart

2020-08-09 23:04:40

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 2/7] drm: rcar-du: Add r8a7742 support

Hi Prabhakar,

On Sun, Aug 09, 2020 at 09:38:05PM +0100, Lad, Prabhakar wrote:
> On Sat, Aug 8, 2020 at 10:02 PM Laurent Pinchart wrote:
> > On Fri, Aug 07, 2020 at 06:49:49PM +0100, Lad Prabhakar wrote:
> > > Add direct support for the r8a7742 (RZ/G1H).
> > >
> > > The RZ/G1H shares a common, compatible configuration with the r8a7790
> > > (R-Car H2) so that device info structure is reused, the only difference
> > > being TCON is unsupported on RZ/G1H (Currently unsupported by the driver).
> > >
> > > Signed-off-by: Lad Prabhakar <[email protected]>
> > > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> > > ---
> > > drivers/gpu/drm/rcar-du/rcar_du_drv.c | 5 +++--
> > > 1 file changed, 3 insertions(+), 2 deletions(-)
> > >
> > > diff --git a/drivers/gpu/drm/rcar-du/rcar_du_drv.c b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> > > index 3e67cf70f040..7e286c7a7a6c 100644
> > > --- a/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> > > +++ b/drivers/gpu/drm/rcar-du/rcar_du_drv.c
> > > @@ -216,8 +216,8 @@ static const struct rcar_du_device_info rcar_du_r8a7790_info = {
> > > .channels_mask = BIT(2) | BIT(1) | BIT(0),
> > > .routes = {
> > > /*
> > > - * R8A7790 has one RGB output, two LVDS outputs and one
> > > - * (currently unsupported) TCON output.
> > > + * R8A7742 and R8A7790 each have one RGB output and two LVDS outputs. Additionally
> > > + * R8A7790 supports one TCON output (currently unsupported by the driver).
> >
> > Once we support TCON we'll have to split this, but for now I suppose
> > it's fine. Would you however mind wrapping this to 80 columns ? I can do
> > so when applying if it's fine with you.
>
> Agreed once TCON is added this has to be split. But isn't the column
> size has been increased (checkpatch too doesn't complain about), but

It has, but it doesn't mean it's mandatory to increase line length :-)
I think aligning with the style of the existing code should be favoured.

> feel free to wrapp it for 80 columns.

OK, I'll do that.

> > Reviewed-by: Laurent Pinchart <[email protected]>
> >
> > > */
> > > [RCAR_DU_OUTPUT_DPAD0] = {
> > > .possible_crtcs = BIT(2) | BIT(1) | BIT(0),
> > > @@ -443,6 +443,7 @@ static const struct rcar_du_device_info rcar_du_r8a7799x_info = {
> > > };
> > >
> > > static const struct of_device_id rcar_du_of_table[] = {
> > > + { .compatible = "renesas,du-r8a7742", .data = &rcar_du_r8a7790_info },
> > > { .compatible = "renesas,du-r8a7743", .data = &rzg1_du_r8a7743_info },
> > > { .compatible = "renesas,du-r8a7744", .data = &rzg1_du_r8a7743_info },
> > > { .compatible = "renesas,du-r8a7745", .data = &rzg1_du_r8a7745_info },

--
Regards,

Laurent Pinchart

2020-08-10 08:28:32

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH 6/7] ARM: dts: r8a7742: Add LVDS support

Hi Prabhakar, Laurent,

On Sun, Aug 9, 2020 at 11:30 PM Lad, Prabhakar
<[email protected]> wrote:
> On Sat, Aug 8, 2020 at 10:13 PM Laurent Pinchart
> <[email protected]> wrote:
> > On Fri, Aug 07, 2020 at 06:49:53PM +0100, Lad Prabhakar wrote:
> > > Add LVDS encoder node to r8a7742 SoC DT.
> > >
> > > Signed-off-by: Lad Prabhakar <[email protected]>
> > > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> > > ---
> > > arch/arm/boot/dts/r8a7742.dtsi | 54 ++++++++++++++++++++++++++++++++++
> > > 1 file changed, 54 insertions(+)
> > >
> > > diff --git a/arch/arm/boot/dts/r8a7742.dtsi b/arch/arm/boot/dts/r8a7742.dtsi
> > > index a979a4b3de61..a7e66220d63a 100644
> > > --- a/arch/arm/boot/dts/r8a7742.dtsi
> > > +++ b/arch/arm/boot/dts/r8a7742.dtsi
> > > @@ -1534,11 +1534,65 @@
> > > port@1 {
> > > reg = <1>;
> > > du_out_lvds0: endpoint {
> > > + remote-endpoint = <&lvds0_in>;
> > > };
> > > };
> > > port@2 {
> > > reg = <2>;
> > > du_out_lvds1: endpoint {
> > > + remote-endpoint = <&lvds1_in>;
> > > + };
> > > + };
> > > + };
> > > + };
> > > +
> > > + lvds0: lvds@feb90000 {
> > > + compatible = "renesas,r8a7742-lvds";
> > > + reg = <0 0xfeb90000 0 0x1c>;
> >
> > Isn't 0x14 enough for the size ? 0x1c won't hurt though. Same comment
> > below.

I can fix that while applying.

> Agreed, 0x1c comes from Gen-3 manuals.

All R-Car Gen3 and RZ/G2 .dtsi use 0x14 or 0x20.
All R-Car Gen2 and RZ/G1 .dtsi use 0x1c, but their manual suggests 0x14, too?

Doesn't matter much, as the hardware address decoder probably uses a
multiple of 2, and page mapping granularity is at least 4 KiB anyway.

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

Reviewed-by: Geert Uytterhoeven <[email protected]>
i.e. will queue in renesas-devel for v5.10, with the above fixed.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

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

2020-08-10 08:29:58

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH 0/7] r8a7742: Enable DU and LVDS

Hi Prabhakar,

On Sun, Aug 9, 2020 at 11:44 PM Lad, Prabhakar
<[email protected]> wrote:
> On Sat, Aug 8, 2020 at 9:55 PM Laurent Pinchart
> <[email protected]> wrote:
> > On Fri, Aug 07, 2020 at 06:49:47PM +0100, Lad Prabhakar wrote:
> > > This patch series adds support for DU and LVDS to r8a7742
> > > SoC and enables LCD support on r8a7742-iwg21d-q7 board.
> > >
> > > This patch series applies on top of [1].
> > >
> > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/geert/
> > > renesas-devel.git/log/?h=renesas-arm-dt-for-v5.10
> >
> > The driver changes will need to go through the DRM/KMS tree, and I'd
> > recommend the DT binding changes to go the same route as well. I can
> > handle the rebase when applying, and once the bindings get accept, you
> > can ask Geert to upstream the last 3 patchs. Would that work for you ?
> >
> I'm OK with it as long as Geert is happy. (Fyi I still have bunch of
> patches for G1H)

I'm fine with that. BTW, I use an R-b from Laurent on the DT bindings
as the acceptance criterium, so you're good.

> > > Lad Prabhakar (7):
> > > dt-bindings: display: renesas,du: Document the r8a7742 bindings
> > > drm: rcar-du: Add r8a7742 support
> > > dt-bindings: display: renesas,lvds: Document r8a7742 bindings
> > > drm: rcar-du: lvds: Add r8a7742 support
> > > ARM: dts: r8a7742: Add DU support
> > > ARM: dts: r8a7742: Add LVDS support
> > > ARM: dts: r8a7742-iwg21d-q7: Add LCD support

Gr{oetje,eeting}s,

Geert


--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

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

2020-08-10 08:56:04

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH 5/7] ARM: dts: r8a7742: Add DU support

On Fri, Aug 7, 2020 at 10:22 PM Lad, Prabhakar
<[email protected]> wrote:
> On Fri, Aug 7, 2020 at 8:48 PM Sergei Shtylyov
> <[email protected]> wrote:
> > On 8/7/20 8:49 PM, Lad Prabhakar wrote:
> > > Add du node to r8a7742 SoC DT. Boards that want to enable the DU
> >
> > Both "du" and "DU" on a single line? :-)
> >
> Argh my bad.

No worries, I can replace the former one by "Display Unit (DU)" while
applying.

> > > need to specify the output topology.
> > >
> > > Signed-off-by: Lad Prabhakar <[email protected]>
> > > Reviewed-by: Marian-Cristian Rotariu <[email protected]>

Reviewed-by: Geert Uytterhoeven <[email protected]>
i.e. will queue in renesas-devel for v5.10, with the above fixed.

Gr{oetje,eeting}s,

Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- [email protected]

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

2020-08-11 11:28:03

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH 7/7] ARM: dts: r8a7742-iwg21d-q7: Add LCD support

Hi Prabhakar,

Thank you for the patch.

On Fri, Aug 07, 2020 at 06:49:54PM +0100, Lad Prabhakar wrote:
> The iwg21d comes with a 7" capacitive touch screen, therefore
> add support for it.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> ---
> arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++++++++++
> 1 file changed, 84 insertions(+)
>
> diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> index b3461a61a4bf..cf59fd61e422 100644
> --- a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> +++ b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> @@ -30,6 +30,7 @@
>
> /dts-v1/;
> #include "r8a7742-iwg21m.dtsi"
> +#include <dt-bindings/pwm/pwm.h>
>
> / {
> model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H";
> @@ -52,6 +53,50 @@
> clock-frequency = <26000000>;
> };
>
> + lcd_backlight: backlight {
> + compatible = "pwm-backlight";
> + pwms = <&tpu 2 5000000 0>;
> + brightness-levels = <0 4 8 16 32 64 128 255>;
> + pinctrl-0 = <&backlight_pins>;
> + pinctrl-names = "default";
> + default-brightness-level = <7>;
> + enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;

It's actually a power supply, not an enable GPIO, but it doesn't matter
much, I don't think there's a need to declare a regulator just for the
sake of it.

> + };
> +
> + lvds-receiver {
> + compatible = "ti,ds90cf384a", "lvds-decoder";
> + powerdown-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;

This should be handled as a shared power supply, as it's also needed for
the touch screen. Biju has sent patches for the iwg20d that fixes a
probe issue due to that problem, I think you can just copy the fix.

> +
> + ports {
> + #address-cells = <1>;
> + #size-cells = <0>;
> +
> + port@0 {
> + reg = <0>;
> + lvds_receiver_in: endpoint {
> + remote-endpoint = <&lvds0_out>;
> + };
> + };
> + port@1 {
> + reg = <1>;
> + lvds_receiver_out: endpoint {
> + remote-endpoint = <&panel_in>;
> + };
> + };
> + };
> + };
> +
> + panel {
> + compatible = "edt,etm0700g0dh6";
> + backlight = <&lcd_backlight>;
> +
> + port {
> + panel_in: endpoint {
> + remote-endpoint = <&lvds_receiver_out>;
> + };
> + };
> + };
> +
> reg_1p5v: 1p5v {
> compatible = "regulator-fixed";
> regulator-name = "1P5V";
> @@ -129,12 +174,31 @@
> VDDIO-supply = <&reg_3p3v>;
> VDDD-supply = <&reg_1p5v>;
> };
> +
> + touch: touchpanel@38 {
> + compatible = "edt,edt-ft5406";
> + reg = <0x38>;
> + interrupt-parent = <&gpio0>;
> + interrupts = <24 IRQ_TYPE_EDGE_FALLING>;

Should the reset GPIO also be wired ? It seems to be shared with the
audio codec though, which is annoying.

> + };
> };
>
> &cmt0 {
> status = "okay";
> };
>
> +&du {
> + status = "okay";
> +};
> +
> +&gpio0 {
> + touch-interrupt {
> + gpio-hog;
> + gpios = <24 GPIO_ACTIVE_LOW>;
> + input;
> + };

Is this needed, or does requesting the interrupt in the touch screen
driver configured the GPIO to an input automatically ?

> +};
> +
> &hsusb {
> pinctrl-0 = <&usb0_pins>;
> pinctrl-names = "default";
> @@ -165,6 +229,11 @@
> function = "avb";
> };
>
> + backlight_pins: backlight {
> + groups = "tpu0_to2";
> + function = "tpu0";
> + };
> +
> i2c2_pins: i2c2 {
> groups = "i2c2_b";
> function = "i2c2";
> @@ -208,6 +277,17 @@
> };
> };
>
> +&lvds0 {
> + status = "okay";
> + ports {
> + port@1 {
> + lvds0_out: endpoint {
> + remote-endpoint = <&lvds_receiver_in>;
> + };
> + };
> + };
> +};
> +
> &rcar_sound {
> pinctrl-0 = <&sound_pins>;
> pinctrl-names = "default";
> @@ -261,6 +341,10 @@
> shared-pin;
> };
>
> +&tpu {
> + status = "okay";
> +};
> +
> &usbphy {
> status = "okay";
> };

--
Regards,

Laurent Pinchart

2020-08-13 12:57:06

by Lad, Prabhakar

[permalink] [raw]
Subject: Re: [PATCH 7/7] ARM: dts: r8a7742-iwg21d-q7: Add LCD support

Hi Laurent,

Thank you for the review.

On Tue, Aug 11, 2020 at 12:26 PM Laurent Pinchart
<[email protected]> wrote:
>
> Hi Prabhakar,
>
> Thank you for the patch.
>
> On Fri, Aug 07, 2020 at 06:49:54PM +0100, Lad Prabhakar wrote:
> > The iwg21d comes with a 7" capacitive touch screen, therefore
> > add support for it.
> >
> > Signed-off-by: Lad Prabhakar <[email protected]>
> > Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> > ---
> > arch/arm/boot/dts/r8a7742-iwg21d-q7.dts | 84 +++++++++++++++++++++++++
> > 1 file changed, 84 insertions(+)
> >
> > diff --git a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > index b3461a61a4bf..cf59fd61e422 100644
> > --- a/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > +++ b/arch/arm/boot/dts/r8a7742-iwg21d-q7.dts
> > @@ -30,6 +30,7 @@
> >
> > /dts-v1/;
> > #include "r8a7742-iwg21m.dtsi"
> > +#include <dt-bindings/pwm/pwm.h>
> >
> > / {
> > model = "iWave Systems RainboW-G21D-Qseven board based on RZ/G1H";
> > @@ -52,6 +53,50 @@
> > clock-frequency = <26000000>;
> > };
> >
> > + lcd_backlight: backlight {
> > + compatible = "pwm-backlight";
> > + pwms = <&tpu 2 5000000 0>;
> > + brightness-levels = <0 4 8 16 32 64 128 255>;
> > + pinctrl-0 = <&backlight_pins>;
> > + pinctrl-names = "default";
> > + default-brightness-level = <7>;
> > + enable-gpios = <&gpio3 11 GPIO_ACTIVE_HIGH>;
>
> It's actually a power supply, not an enable GPIO, but it doesn't matter
> much, I don't think there's a need to declare a regulator just for the
> sake of it.
>
Agreed will leave it as is.

> > + };
> > +
> > + lvds-receiver {
> > + compatible = "ti,ds90cf384a", "lvds-decoder";
> > + powerdown-gpios = <&gpio5 28 GPIO_ACTIVE_LOW>;
>
> This should be handled as a shared power supply, as it's also needed for
> the touch screen. Biju has sent patches for the iwg20d that fixes a
> probe issue due to that problem, I think you can just copy the fix.
>
Done.

> > +
> > + ports {
> > + #address-cells = <1>;
> > + #size-cells = <0>;
> > +
> > + port@0 {
> > + reg = <0>;
> > + lvds_receiver_in: endpoint {
> > + remote-endpoint = <&lvds0_out>;
> > + };
> > + };
> > + port@1 {
> > + reg = <1>;
> > + lvds_receiver_out: endpoint {
> > + remote-endpoint = <&panel_in>;
> > + };
> > + };
> > + };
> > + };
> > +
> > + panel {
> > + compatible = "edt,etm0700g0dh6";
> > + backlight = <&lcd_backlight>;
> > +
> > + port {
> > + panel_in: endpoint {
> > + remote-endpoint = <&lvds_receiver_out>;
> > + };
> > + };
> > + };
> > +
> > reg_1p5v: 1p5v {
> > compatible = "regulator-fixed";
> > regulator-name = "1P5V";
> > @@ -129,12 +174,31 @@
> > VDDIO-supply = <&reg_3p3v>;
> > VDDD-supply = <&reg_1p5v>;
> > };
> > +
> > + touch: touchpanel@38 {
> > + compatible = "edt,edt-ft5406";
> > + reg = <0x38>;
> > + interrupt-parent = <&gpio0>;
> > + interrupts = <24 IRQ_TYPE_EDGE_FALLING>;
>
> Should the reset GPIO also be wired ? It seems to be shared with the
> audio codec though, which is annoying.
>
Done.

> > + };
> > };
> >
> > &cmt0 {
> > status = "okay";
> > };
> >
> > +&du {
> > + status = "okay";
> > +};
> > +
> > +&gpio0 {
> > + touch-interrupt {
> > + gpio-hog;
> > + gpios = <24 GPIO_ACTIVE_LOW>;
> > + input;
> > + };
>
> Is this needed, or does requesting the interrupt in the touch screen
> driver configured the GPIO to an input automatically ?
>
Yes this is needed, the touch driver does not configure the pin as
GPIO input without this touch doesn't work.

Cheers,
Prabhakar

2020-08-24 22:21:28

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 1/7] dt-bindings: display: renesas, du: Document the r8a7742 bindings

On Fri, 07 Aug 2020 18:49:48 +0100, Lad Prabhakar wrote:
> Document the RZ/G1H (R8A7742) SoC in the R-Car DU bindings.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> ---
> Documentation/devicetree/bindings/display/renesas,du.txt | 2 ++
> 1 file changed, 2 insertions(+)
>

Acked-by: Rob Herring <[email protected]>

2020-08-24 22:23:10

by Rob Herring (Arm)

[permalink] [raw]
Subject: Re: [PATCH 3/7] dt-bindings: display: renesas, lvds: Document r8a7742 bindings

On Fri, 07 Aug 2020 18:49:50 +0100, Lad Prabhakar wrote:
> Document the RZ/G1H (R8A7742) LVDS bindings.
>
> Signed-off-by: Lad Prabhakar <[email protected]>
> Reviewed-by: Marian-Cristian Rotariu <[email protected]>
> ---
> .../devicetree/bindings/display/bridge/renesas,lvds.txt | 1 +
> 1 file changed, 1 insertion(+)
>

Acked-by: Rob Herring <[email protected]>