RE: [PATCH 2/3] power: sequencing: Add Renesas RZ/G3L Power Ready driver

From: Biju Das

Date: Wed Jul 29 2026 - 10:50:42 EST


Hi Bartosz Golaszewski,

> -----Original Message-----
> From: Bartosz Golaszewski <brgl@xxxxxxxxxx>
> Sent: 29 July 2026 14:09
> Subject: Re: [PATCH 2/3] power: sequencing: Add Renesas RZ/G3L Power Ready driver
>
> On Tue, 28 Jul 2026 16:38:00 +0200, Biju Das <biju.das.jz@xxxxxxxxxxxxxx> said:
> > Hi Bartosz Golaszewski,
> >
> > Thanks for the feedback.
> >
> >> -----Original Message-----
> >> From: Bartosz Golaszewski <brgl@xxxxxxxxxx>
> >> Sent: 28 July 2026 15:22
> >> Subject: Re: [PATCH 2/3] power: sequencing: Add Renesas RZ/G3L Power
> >> Ready driver
> >>
> >> On Tue, 28 Jul 2026 13:55:22 +0200, Biju Das <biju.das.jz@xxxxxxxxxxxxxx> said:
> >> > Hi Bartosz Golaszewski,
> >> >
> >> >> -----Original Message-----
> >> >> From: Bartosz Golaszewski <brgl@xxxxxxxxxx>
> >> >> Sent: 28 July 2026 12:35
> >> >> Subject: Re: [PATCH 2/3] power: sequencing: Add Renesas RZ/G3L
> >> >> Power Ready driver
> >> >>
> >> >> On Tue, 28 Jul 2026 11:17:58 +0200, Biju Das <biju.das.jz@xxxxxxxxxxxxxx> said:
> >> >> > Hi Bartosz Golaszewski,
> >> >> >
> >> >> > Thanks for the feedback.
> >> >> >
> >> >>
> >> >> ...
> >> >>
> >> >> >> > +
> >> >> >> > +static int pwrseq_rzg3l_pwrrdy_match(struct pwrseq_device *pwrseq,
> >> >> >> > + struct device *dev) {
> >> >> >> > + return PWRSEQ_MATCH_OK;
> >> >> >>
> >> >> >> When I see an always-tru match() callback, it always raises an alarm bell.
> >> >> >> Typically, I'd expect there to be some validation of the consumer happening.
> >> >> >>
> >> >> >> Please at least provide an explanation of why it's ok.
> >> >> >
> >> >> > Without the match function the driver is not probing.
> >> >> >
> >> >>
> >> >> Yes, that's expected.
> >> >>
> >> >> > sysc(driver) ->powerseq(driver) ->{DSI,CSI,USB}(driver) there is
> >> >> > no property that I can match here as the resource is a register
> >> >> > on the SYSC IP and powerseq driver is instantiated by the SYSC driver.
> >> >> >
> >> >> > Maybe I can provide a comment here saying that??
> >> >> > "No DT property to match here, so it is OK always"
> >> >> >
> >> >>
> >> >> So the sysc is the parent of the pwrseq provider and the CSI, DSI
> >> >> and USB drivers are the consumers of the pwrseq descriptor? The
> >> >> latter are children of the platform bus, am I getting this right?
> >> >> Can you point me to the device tree that
> >> describes it?
> >> >
> >> > Yes,
> >> >
> >> > Please see [1], [2], [3]
> >> >
> >> > [1] sysc node
> >> >
> >> > [2] phyrst node (I planned to remove renesas,sysc-pwrrdy in the
> >> > next version as it is going to use pwrseq)
> >> >
> >> > [3] dsi node (I planned to remove renesas,sysc-pwrrdy in the next
> >> > version as it is going to use pwrseq)
> >> >
> >> > [1]
> >> > https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
> >> > /tr
> >> > ee/arch/arm64/boot/dts/renesas/r9a08g046.dtsi?h=next-20260727#n609
> >> >
> >> > [2]
> >> > https://lore.kernel.org/all/TY3PR01MB11346FA21EFADC8A3D53D81BE86CF2
> >> > @TY
> >> > 3PR01MB11346.jpnprd01.prod.outlook.com/T/#mf24ae1363925a97c840b275c
> >> > 108
> >> > a9b72942c40bc
> >> >
> >> > [3]
> >> > https://lore.kernel.org/all/20260704093433.273672-1-biju.das.jz@bp.
> >> > ren
> >> > esas.com/T/#m31c6711b5403c5a387b22467bb88371df73ae2b1
> >> >
> >> >
> >> > Cheers,
> >> > Biju
> >> >
> >>
>
> Please wrap your emails at 80 characters as per the mailing list etiquette.

OK.

>
> >> Then it seems you have a phandle from the DSI node to the sysc node:
> >>
> >> renesas,sysc-pwrrdy = <&sysc 0xd70 0x2>;
> >
> > But this is no more required after modelling the pwrrdy signal as powerseq driver.
> >
>
> So can you show me what the actual DT nodes and connections look like?
>
> >>
> >> In match() you can check if that phandle leads to the sysc device
> >> who's the parent of the power sequencer device and return MATCH_OK if it is.
> >
> > As per the DT maintainer Krzysztof Kozlowski, we should not use random phandles for pwrrdy signal.
> >
> > Also, I confirm that this property is unnecessary if we model it as Power sequencer.
> >
> > From ABI, point now only matters is the pwrseq_target_data.name in the
> > power sequence driver and consumers.
> >
> > dsi->pwrseq = devm_pwrseq_get(dsi->dev, "dsi-pwrrdy");
> > priv->pwrseq = devm_pwrseq_get(dev, "usb-pwrrdy");
> >
> > From the experience, I don't think, DT maintainers will allow to
> > define a vendor property just for the driver match.
> >
>
> You pointed me to the node so I assumed this is what it will look like. I don't have the full context in
> my head.

My bad. Sorry for that, Today I have posted power sequence consumer drivers with DT.

> I still prefer there to be some connection and validation of the pwrseq consumer so I'm inquiring about
> the architecture.

OK.

>
> Please respond with the relevant DT nodes' final form.

Here it is. Please find the relevant DT nodes usbphy-ctrl [1] and dsi [2]

[1] https://lore.kernel.org/all/20260729115022.222340-9-biju.das.jz@xxxxxxxxxxxxxx/
[2] https://lore.kernel.org/all/20260729125516.230757-14-biju.das.jz@xxxxxxxxxxxxxx/

Cheers,
Biju