Hi Biju,

On Thu, 15 Jan 2026 at 08:48, Biju Das <[email protected]> wrote:
> > From: Geert Uytterhoeven <[email protected]>
> > On Wed, 3 Dec 2025 at 14:42, Tommaso Merciai 
> > <[email protected]> wrote:
> > > On Wed, Dec 03, 2025 at 09:23:53AM +0100, Krzysztof Kozlowski wrote:
> > > > On Wed, Nov 26, 2025 at 03:07:22PM +0100, Tommaso Merciai wrote:
> > > > > The RZ/G3E Soc has 2 LCD controller (LCDC), contain a Frame
> > > > > Compression Processor (FCPVD), a Video Signal Processor (VSPD),
> > > > > Video Signal Processor (VSPD), and Display Unit (DU).
> > > > >
> > > > >  - LCDC0 supports DSI and LVDS (single or dual-channel) outputs.
> > > > >  - LCDC1 supports DSI, LVDS (single-channel), and RGB outputs.
> > > > >
> > > > > Add then two new SoC-specific compatible strings 
> > > > > 'renesas,r9a09g047-du0'
> > > > > and 'renesas,r9a09g047-du1'.
> > > >
> > > > LCDC0/1 but compatibles du0/du1...
> > > >
> > > > What are the differences between DU0 and DU1? Just different
> > > > outputs? Is the programming model the same?
> > >
> > > The hardware configurations are different: these are two distinct 
> > > hardware blocks.
> > >
> > > Based on the block diagrams shown in Figures 9.4-2 (LCDC1) and 9.4-1
> > > (LCDC0), the only difference concerns the output, but this variation
> > > is internal to the hardware blocks themselves.
> > > Therefore, LCDC0 and LCDC1 are not identical blocks, and their
> > > programming models differ as a result.
> > >
> > > In summary, although most of the internal functions are the same, the
> > > two blocks have output signals connected to different components within 
> > > the SoC.
> > > This requires different hardware configurations and inevitably leads
> > > to different programming models for LCDC0 and LCDC1.
> >
> > Isn't that merely an SoC integration issue?
> > Are there any differences in programming LCDC0 or LCDC1 for the common 
> > output types supported by both
> > (single channel LVDS and 4-lane MIPI-DSI)?
>
> Dual LVDS case, dot clock from LCDC0 is used in both LCDC's.

For the single dual-channel LVDS output on LCDC0, or for using two
independent LVDS outputs on both instances? How is this handled?
Don't you need a companion property to link them together?

Is this similar to dual-channel LVDS on R-Car E3 and RZ/G2E?
On these SoCs we have a single combined device node for all DU instances
(which comes with its own set of issues, e.g. Runtime PM and Clock
Domain handling).

> Standalone LVDS and DSI the programming flow is same.

OK.

> > Of there are no such differences, both instances should use the same 
> > compatible value.
>
> Then we need to use a property called display-id, to describe the supported
> output types in bindings, right??
>
> Display-id=0 {LVDS, DSI)

LVDS twice?

> Display-id=1 {LVDS, DSI, DPI)

Not necessarily: if this is purely different SoC integration per
instance, describing all possible options is fine.

But I'd like to defer to Laurent for the details...

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

Reply via email to