Re: [PATCH] dt-bindings: display: bridge: nxp,tda998x: Add missing clocks
From: Geert Uytterhoeven <geert@linux-m68k.org>
Date: 2026-01-13 08:43:40
Also in:
dri-devel, linux-omap, linux-renesas-soc
Hi Laurent, On Mon, 12 Jan 2026 at 18:50, Laurent Pinchart [off-list ref] wrote:
On Mon, Jan 12, 2026 at 05:02:40PM +0100, Geert Uytterhoeven wrote:quoted
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 <geert+renesas@glider.be> --- 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+renesas@glider.be (local) [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 -- geert@linux-m68k.org
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