Re: [PATCH v6 1/6] dt-bindings: display: verisilicon,dc: add support for nuvoton,ma35d1-dcu

From: Icenowy Zheng

Date: Wed Sep 09 2026 - 01:49:50 EST


在 2026-09-08二的 17:28 +0800,Joey Lu写道:
> Add the Nuvoton MA35D1 DCUltraLite (nuvoton,ma35d1-dcu) to the
> binding.
> The DCUltraLite uses only four clocks (core, axi, ahb, pix0) and one
> reset (core), with a single output port.
>
> The MA35D1 clock controller gates the core, AXI and AHB clocks with a
> single bit, but each remains a distinct clock line feeding the IP
> with
> its own rate constraints, so all four must still be listed
> individually
> in the devicetree; core, axi and ahb happen to share the same clock
> phandle.

This is weird, but I must admit that we're limited by the Common Clock
Framework here, so I cannot give a better solution either.

Anyway let's settle with the current result.

>
> Move the clocks/clock-names minItems to 4 and resets/reset-names
> minItems to 1 at the top level, since that is the lowest count any
> supported variant needs.  Add an allOf/if block that tightens the
> constraint back up to the fixed 5-clock/3-reset topology required by
> the existing thead,th1520-dc8200 compatible, and another one that
> caps
> the new nuvoton,ma35d1-dcu compatible at the 4-clock/1-reset count it
> actually wires up.
>
> Signed-off-by: Joey Lu <a0987203069@xxxxxxxxx>
> ---
>  .../bindings/display/verisilicon,dc.yaml      | 44
> +++++++++++++++++++
>  1 file changed, 44 insertions(+)
>
> diff --git
> a/Documentation/devicetree/bindings/display/verisilicon,dc.yaml
> b/Documentation/devicetree/bindings/display/verisilicon,dc.yaml
> index 919a900122012..773966677d0f4 100644
> --- a/Documentation/devicetree/bindings/display/verisilicon,dc.yaml
> +++ b/Documentation/devicetree/bindings/display/verisilicon,dc.yaml
> @@ -17,6 +17,7 @@ properties:
>      items:
>        - enum:
>            - thead,th1520-dc8200
> +          - nuvoton,ma35d1-dcu
>        - const: verisilicon,dc # DC IPs have discoverable ID/revision
> registers
>  
>    reg:
> @@ -26,6 +27,7 @@ properties:
>      maxItems: 1
>  
>    clocks:
> +    minItems: 4
>      items:
>        - description: DC Core clock
>        - description: DMA AXI bus clock
> @@ -34,6 +36,7 @@ properties:
>        - description: Pixel clock of output 1
>  
>    clock-names:
> +    minItems: 4
>      items:
>        - const: core
>        - const: axi
> @@ -42,12 +45,14 @@ properties:
>        - const: pix1
>  
>    resets:
> +    minItems: 1
>      items:
>        - description: DC Core reset
>        - description: DMA AXI bus reset
>        - description: Configuration AHB bus reset
>  
>    reset-names:
> +    minItems: 1
>      items:
>        - const: core
>        - const: axi
> @@ -79,6 +84,45 @@ required:
>    - reset-names
>    - ports
>  
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: thead,th1520-dc8200
> +    then:
> +      properties:
> +        clocks:
> +          minItems: 5
> +
> +        clock-names:
> +          minItems: 5
> +
> +        resets:
> +          minItems: 3
> +
> +        reset-names:
> +          minItems: 3
> +
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: nuvoton,ma35d1-dcu
> +    then:
> +      properties:
> +        clocks:
> +          maxItems: 4
> +
> +        clock-names:
> +          maxItems: 4
> +
> +        resets:
> +          maxItems: 1
> +
> +        reset-names:
> +          maxItems: 1

Maybe it's reasonable to restrict max port count to 1 for MA35D1?
Although I am not sure about how to do this...

Thanks,
Icenowy

> +
>  additionalProperties: false
>  
>  examples: