2022-11-17 12:41:13

by Tomi Valkeinen

[permalink] [raw]
Subject: [PATCH v1 0/8] Renesas V4H DSI & DP output support

Hi,

These add support for DSI on V4H SoC (r8a779g0) and DP for Whitehawk
board.

The last patch is a hack, but needed to get the DSI working. It is still
unclear what the register write does, and as that patch is needed to get
the DSI working, this series is not ready yet. But all the rest of the
patches are ready for review.

Tomi

Tomi Valkeinen (8):
dt-bindings: display: renesas,du: Provide bindings for r8a779g0
dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0
clk: renesas: r8a779g0: Add display related clocks
arm64: dts: renesas: r8a779g0: Add display related data
arm64: dts: renesas: white-hawk-cpu: Add DP output support
drm: rcar-du: Add r8a779g0 support
drm: rcar-du: dsi: Add r8A779g0 support
HACK: drm: rcar-du: dsi: use-extal-clk hack

.../display/bridge/renesas,dsi-csi2-tx.yaml | 3 +-
.../bindings/display/renesas,du.yaml | 2 +
.../dts/renesas/r8a779g0-white-hawk-cpu.dtsi | 94 ++++
arch/arm64/boot/dts/renesas/r8a779g0.dtsi | 129 +++++
drivers/clk/renesas/r8a779g0-cpg-mssr.c | 14 +
drivers/gpu/drm/rcar-du/rcar_du_drv.c | 22 +
drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c | 488 ++++++++++++++----
drivers/gpu/drm/rcar-du/rcar_mipi_dsi_regs.h | 6 +-
8 files changed, 651 insertions(+), 107 deletions(-)

--
2.34.1



2022-11-17 12:41:16

by Tomi Valkeinen

[permalink] [raw]
Subject: Re: [PATCH v1 0/8] Renesas V4H DSI & DP output support

On 17/11/2022 14:25, Tomi Valkeinen wrote:
> Hi,
>
> These add support for DSI on V4H SoC (r8a779g0) and DP for Whitehawk
> board.
>
> The last patch is a hack, but needed to get the DSI working. It is still
> unclear what the register write does, and as that patch is needed to get
> the DSI working, this series is not ready yet. But all the rest of the
> patches are ready for review.

And I forgot to mention, these are based on:

git://git.kernel.org/pub/scm/linux/kernel/git/geert/renesas-drivers.git master
(2c980642d64882b4e373b0317dd7bd45c1c34d80)

Tomi

>
> Tomi
>
> Tomi Valkeinen (8):
> dt-bindings: display: renesas,du: Provide bindings for r8a779g0
> dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0
> clk: renesas: r8a779g0: Add display related clocks
> arm64: dts: renesas: r8a779g0: Add display related data
> arm64: dts: renesas: white-hawk-cpu: Add DP output support
> drm: rcar-du: Add r8a779g0 support
> drm: rcar-du: dsi: Add r8A779g0 support
> HACK: drm: rcar-du: dsi: use-extal-clk hack
>
> .../display/bridge/renesas,dsi-csi2-tx.yaml | 3 +-
> .../bindings/display/renesas,du.yaml | 2 +
> .../dts/renesas/r8a779g0-white-hawk-cpu.dtsi | 94 ++++
> arch/arm64/boot/dts/renesas/r8a779g0.dtsi | 129 +++++
> drivers/clk/renesas/r8a779g0-cpg-mssr.c | 14 +
> drivers/gpu/drm/rcar-du/rcar_du_drv.c | 22 +
> drivers/gpu/drm/rcar-du/rcar_mipi_dsi.c | 488 ++++++++++++++----
> drivers/gpu/drm/rcar-du/rcar_mipi_dsi_regs.h | 6 +-
> 8 files changed, 651 insertions(+), 107 deletions(-)
>


2022-11-17 12:41:25

by Tomi Valkeinen

[permalink] [raw]
Subject: [PATCH v1 2/8] dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0

From: Tomi Valkeinen <[email protected]>

Extend the Renesas DSI display bindings to support the r8a779g0 V4H.

Signed-off-by: Tomi Valkeinen <[email protected]>
---
.../bindings/display/bridge/renesas,dsi-csi2-tx.yaml | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
index afeeb967393d..bc3101f77e5a 100644
--- a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
+++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
@@ -11,13 +11,14 @@ maintainers:

description: |
This binding describes the MIPI DSI/CSI-2 encoder embedded in the Renesas
- R-Car V3U SoC. The encoder can operate in either DSI or CSI-2 mode, with up
+ R-Car V3U/V4H SoC. The encoder can operate in either DSI or CSI-2 mode, with up
to four data lanes.

properties:
compatible:
enum:
- renesas,r8a779a0-dsi-csi2-tx # for V3U
+ - renesas,r8a779g0-dsi-csi2-tx # for V4H

reg:
maxItems: 1
--
2.34.1


2022-11-17 14:10:48

by Kieran Bingham

[permalink] [raw]
Subject: Re: [PATCH v1 2/8] dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0

Quoting Tomi Valkeinen (2022-11-17 12:25:41)
> From: Tomi Valkeinen <[email protected]>
>
> Extend the Renesas DSI display bindings to support the r8a779g0 V4H.
>
> Signed-off-by: Tomi Valkeinen <[email protected]>
> ---
> .../bindings/display/bridge/renesas,dsi-csi2-tx.yaml | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> index afeeb967393d..bc3101f77e5a 100644
> --- a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> @@ -11,13 +11,14 @@ maintainers:
>
> description: |
> This binding describes the MIPI DSI/CSI-2 encoder embedded in the Renesas
> - R-Car V3U SoC. The encoder can operate in either DSI or CSI-2 mode, with up
> + R-Car V3U/V4H SoC. The encoder can operate in either DSI or CSI-2 mode, with up

That's 81 chars I think ... so perhaps the 'up' should go 'down' a line
... but hey it's one char, I don't care too much, but I can't resist an
up/down reference :D

Reviewed-by: Kieran Bingham <[email protected]>

> to four data lanes.
>
> properties:
> compatible:
> enum:
> - renesas,r8a779a0-dsi-csi2-tx # for V3U
> + - renesas,r8a779g0-dsi-csi2-tx # for V4H
>
> reg:
> maxItems: 1
> --
> 2.34.1
>

2022-11-17 15:29:26

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v1 2/8] dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0

Hi Tomi,

On Thu, Nov 17, 2022 at 1:26 PM Tomi Valkeinen
<[email protected]> wrote:
> From: Tomi Valkeinen <[email protected]>
>
> Extend the Renesas DSI display bindings to support the r8a779g0 V4H.
>
> Signed-off-by: Tomi Valkeinen <[email protected]>
> ---
> .../bindings/display/bridge/renesas,dsi-csi2-tx.yaml | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> index afeeb967393d..bc3101f77e5a 100644
> --- a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> @@ -11,13 +11,14 @@ maintainers:
>
> description: |
> This binding describes the MIPI DSI/CSI-2 encoder embedded in the Renesas
> - R-Car V3U SoC. The encoder can operate in either DSI or CSI-2 mode, with up
> + R-Car V3U/V4H SoC. The encoder can operate in either DSI or CSI-2 mode, with up

Perhaps "R-Car Gen4 SoCs", so we stay within 80 chars, and don't have
to update this when the next member of the family is around the block?

Is there anything that might be SoC-specific?
If not, perhaps the time is ripe for a family-specific compatible value?

> to four data lanes.
>
> properties:
> compatible:
> enum:
> - renesas,r8a779a0-dsi-csi2-tx # for V3U
> + - renesas,r8a779g0-dsi-csi2-tx # for V4H
>
> reg:
> maxItems: 1

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

2022-11-17 19:29:01

by Krzysztof Kozlowski

[permalink] [raw]
Subject: Re: [PATCH v1 2/8] dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0

On 17/11/2022 13:25, Tomi Valkeinen wrote:
> From: Tomi Valkeinen <[email protected]>
>
> Extend the Renesas DSI display bindings to support the r8a779g0 V4H.
>
> Signed-off-by: Tomi Valkeinen <[email protected]>


Acked-by: Krzysztof Kozlowski <[email protected]>

Best regards,
Krzysztof


2022-11-22 03:25:01

by Laurent Pinchart

[permalink] [raw]
Subject: Re: [PATCH v1 2/8] dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0

On Thu, Nov 17, 2022 at 04:14:21PM +0100, Geert Uytterhoeven wrote:
> On Thu, Nov 17, 2022 at 1:26 PM Tomi Valkeinen wrote:
> > From: Tomi Valkeinen <[email protected]>
> >
> > Extend the Renesas DSI display bindings to support the r8a779g0 V4H.
> >
> > Signed-off-by: Tomi Valkeinen <[email protected]>
> > ---
> > .../bindings/display/bridge/renesas,dsi-csi2-tx.yaml | 3 ++-
> > 1 file changed, 2 insertions(+), 1 deletion(-)
> >
> > diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> > index afeeb967393d..bc3101f77e5a 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> > @@ -11,13 +11,14 @@ maintainers:
> >
> > description: |
> > This binding describes the MIPI DSI/CSI-2 encoder embedded in the Renesas
> > - R-Car V3U SoC. The encoder can operate in either DSI or CSI-2 mode, with up
> > + R-Car V3U/V4H SoC. The encoder can operate in either DSI or CSI-2 mode, with up
>
> Perhaps "R-Car Gen4 SoCs", so we stay within 80 chars, and don't have
> to update this when the next member of the family is around the block?

Sounds good.

> Is there anything that might be SoC-specific?
> If not, perhaps the time is ripe for a family-specific compatible value?

That's hard to tell, I have little visibility into what surprises other
SoCs will bring :-S

> > to four data lanes.
> >
> > properties:
> > compatible:
> > enum:
> > - renesas,r8a779a0-dsi-csi2-tx # for V3U
> > + - renesas,r8a779g0-dsi-csi2-tx # for V4H

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

> >
> > reg:
> > maxItems: 1

--
Regards,

Laurent Pinchart

2022-11-22 08:28:00

by Tomi Valkeinen

[permalink] [raw]
Subject: Re: [PATCH v1 2/8] dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0

On 17/11/2022 17:14, Geert Uytterhoeven wrote:
> Hi Tomi,
>
> On Thu, Nov 17, 2022 at 1:26 PM Tomi Valkeinen
> <[email protected]> wrote:
>> From: Tomi Valkeinen <[email protected]>
>>
>> Extend the Renesas DSI display bindings to support the r8a779g0 V4H.
>>
>> Signed-off-by: Tomi Valkeinen <[email protected]>
>> ---
>> .../bindings/display/bridge/renesas,dsi-csi2-tx.yaml | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
>> index afeeb967393d..bc3101f77e5a 100644
>> --- a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
>> +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
>> @@ -11,13 +11,14 @@ maintainers:
>>
>> description: |
>> This binding describes the MIPI DSI/CSI-2 encoder embedded in the Renesas
>> - R-Car V3U SoC. The encoder can operate in either DSI or CSI-2 mode, with up
>> + R-Car V3U/V4H SoC. The encoder can operate in either DSI or CSI-2 mode, with up
>
> Perhaps "R-Car Gen4 SoCs", so we stay within 80 chars, and don't have
> to update this when the next member of the family is around the block?

Is V3U gen 4? Or do you mean "R-Car V3U and Gen 4 SoCs"?

> Is there anything that might be SoC-specific?
> If not, perhaps the time is ripe for a family-specific compatible value?

At least v3u and v4h DSIs are slightly different. Well, the DSI IP block
itself looks the same, but the PLL and PHY are different.

Tomi

2022-11-22 10:46:11

by Geert Uytterhoeven

[permalink] [raw]
Subject: Re: [PATCH v1 2/8] dt-bindings: display: bridge: renesas,dsi-csi2-tx: Add r8a779g0

Hi Tomi,

On Tue, Nov 22, 2022 at 9:20 AM Tomi Valkeinen
<[email protected]> wrote:
> On 17/11/2022 17:14, Geert Uytterhoeven wrote:
> > On Thu, Nov 17, 2022 at 1:26 PM Tomi Valkeinen
> > <[email protected]> wrote:
> >> From: Tomi Valkeinen <[email protected]>
> >>
> >> Extend the Renesas DSI display bindings to support the r8a779g0 V4H.
> >>
> >> Signed-off-by: Tomi Valkeinen <[email protected]>
> >> ---
> >> .../bindings/display/bridge/renesas,dsi-csi2-tx.yaml | 3 ++-
> >> 1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> >> index afeeb967393d..bc3101f77e5a 100644
> >> --- a/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> >> +++ b/Documentation/devicetree/bindings/display/bridge/renesas,dsi-csi2-tx.yaml
> >> @@ -11,13 +11,14 @@ maintainers:
> >>
> >> description: |
> >> This binding describes the MIPI DSI/CSI-2 encoder embedded in the Renesas
> >> - R-Car V3U SoC. The encoder can operate in either DSI or CSI-2 mode, with up
> >> + R-Car V3U/V4H SoC. The encoder can operate in either DSI or CSI-2 mode, with up
> >
> > Perhaps "R-Car Gen4 SoCs", so we stay within 80 chars, and don't have
> > to update this when the next member of the family is around the block?
>
> Is V3U gen 4? Or do you mean "R-Car V3U and Gen 4 SoCs"?

Despite the name, R-Car V3U is the first member of the R-Car Gen4 family...
https://www.renesas.com/us/en/products/automotive-products/automotive-system-chips-socs/r-car-v3u-best-class-r-car-v3u-asil-d-system-chip-automated-driving

> > Is there anything that might be SoC-specific?
> > If not, perhaps the time is ripe for a family-specific compatible value?
>
> At least v3u and v4h DSIs are slightly different. Well, the DSI IP block
> itself looks the same, but the PLL and PHY are different.

I noticed, when I saw the dsi-csi2 driver changes.
So no family-specific compatible value is needed.

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