Hi Laurent,
On Mon, 12 Jan 2026 at 18:50, Laurent Pinchart
<[email protected]> wrote:
> On Mon, Jan 12, 2026 at 05:02:40PM +0100, Geert Uytterhoeven wrote:
> > Some TDA998x variants (e.g. TDA19988) have an OSC_IN pin, to connect
> > an external oscillator circuit or clock source.
> >
> > Signed-off-by: Geert Uytterhoeven <[email protected]>
> > ---
> > This fixes "make dtbs_check":
> >
> > arch/arm64/boot/dts/renesas/r8a774c0-ek874-mipi-2.1.dtb: tda19988@70
> > (nxp,tda998x): Unevaluated properties are not allowed ('clocks' was
> > unexpected)
> > from schema $id:
> > http://devicetree.org/schemas/display/bridge/nxp,tda998x.yaml
> > arch/arm64/boot/dts/renesas/r8a774c0-cat874.dtb: tda19988@70
> > (nxp,tda998x): Unevaluated properties are not allowed ('clocks' was
> > unexpected)
> > from schema $id:
> > http://devicetree.org/schemas/display/bridge/nxp,tda998x.yaml
> > arch/arm64/boot/dts/renesas/r8a774c0-ek874.dtb: tda19988@70
> > (nxp,tda998x): Unevaluated properties are not allowed ('clocks' was
> > unexpected)
> > from schema $id:
> > http://devicetree.org/schemas/display/bridge/nxp,tda998x.yaml
> > arch/arm64/boot/dts/renesas/r8a774c0-ek874-idk-2121wr.dtb: tda19988@70
> > (nxp,tda998x): Unevaluated properties are not allowed ('clocks' was
> > unexpected)
> > from schema $id:
> > http://devicetree.org/schemas/display/bridge/nxp,tda998x.yaml
> >
> > This patch can be considered v3 of "[PATCH v2 2/3] [RFC] arm64: dts:
> > renesas: cat874: Drop bogus clocks property"[1], as the pin is actually
> > connected to a clock source on that board. On BeagleBone Black, it is
> > also connected to a clock source, but not described in DT.
> >
> > The linux driver does not use this clock directly, but I suspect[2] the
> > use of this pin is controlled through the AP_ENA register value, as
> > specified in the second cell of the the audio-ports property.
> >
> > [1]
> > https://lore.kernel.org/97b949cddd7e30e9c05873800330dccd3483b12b.1663165552.git.geert+rene...@glider.be
> > [2] I do not have access to the programming manual.
> > ---
> > .../devicetree/bindings/display/bridge/nxp,tda998x.yaml | 3 +++
> > 1 file changed, 3 insertions(+)
> >
> > diff --git
> > a/Documentation/devicetree/bindings/display/bridge/nxp,tda998x.yaml
> > b/Documentation/devicetree/bindings/display/bridge/nxp,tda998x.yaml
> > index 3fce9e698ea1d2dd..1205c8e9de329bbc 100644
> > --- a/Documentation/devicetree/bindings/display/bridge/nxp,tda998x.yaml
> > +++ b/Documentation/devicetree/bindings/display/bridge/nxp,tda998x.yaml
> > @@ -19,6 +19,9 @@ properties:
> > interrupts:
> > maxItems: 1
> >
> > + clocks:
> > + maxItems: 1
> > +
>
> I wonder if we should add a compatible string for the variants with a
> clock pin, to let drivers manage the clock.
I am not sure if that is necessary, as the clock is optional, and thus
devm_clk_get_optional() can just be added to the driver.
> If the clock does not need to be controlled, an alternative would be to
I think the driver should control the clock. Currently it works by
accident, as on (at least) cat874 and boneblack the external clock is
a fixed clock that is always running.
A simple solution would be to use e.g. devm_clk_get_optional_enabled().
A more complex solution would probably involve using the AP_ENA
register value. Anyone who has the programming manual for tda998x?
> drop the clocks property from
> arch/arm64/boot/dts/renesas/r8a774c0-cat874.dts.
Cfr. my RFC v2 linked above[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