Thread (4 messages) 4 messages, 4 authors, 2026-01-21

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
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help