On Sat, Oct 11, 2025 at 06:51:18PM +0200, Marek Vasut wrote:
> Freescale i.MX95 Display Controller is implemented as construction set of
> building blocks with unified concept and standardized interfaces. Document
> all new processing units present in i.MX95.
>
> Signed-off-by: Marek Vasut <[email protected]>
> ---
> Cc: Abel Vesa <[email protected]>
> Cc: Conor Dooley <[email protected]>
> Cc: Fabio Estevam <[email protected]>
> Cc: Krzysztof Kozlowski <[email protected]>
> Cc: Laurent Pinchart <[email protected]>
> Cc: Liu Ying <[email protected]>
> Cc: Lucas Stach <[email protected]>
> Cc: Peng Fan <[email protected]>
> Cc: Pengutronix Kernel Team <[email protected]>
> Cc: Rob Herring <[email protected]>
> Cc: Shawn Guo <[email protected]>
> Cc: Thomas Zimmermann <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> ---
>  .../imx/fsl,imx8qxp-dc-constframe.yaml        |  4 +-
>  .../imx/fsl,imx8qxp-dc-display-engine.yaml    | 45 +++++++++++++---
>  .../display/imx/fsl,imx8qxp-dc-extdst.yaml    |  4 +-
>  .../display/imx/fsl,imx8qxp-dc-fetchunit.yaml |  1 +
>  .../display/imx/fsl,imx8qxp-dc-framegen.yaml  | 13 ++++-
>  .../imx/fsl,imx8qxp-dc-layerblend.yaml        |  4 +-
>  .../imx/fsl,imx8qxp-dc-pixel-engine.yaml      | 52 +++++++++++++++---
>  .../display/imx/fsl,imx8qxp-dc-tcon.yaml      |  5 +-
>  .../bindings/display/imx/fsl,imx8qxp-dc.yaml  | 53 ++++++++++++++++---
>  9 files changed, 153 insertions(+), 28 deletions(-)
>
> diff --git 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml
>  
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml
> index 94f6785636085..3a585b3b9a789 100644
> --- 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml
> +++ 
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-constframe.yaml
> @@ -18,7 +18,9 @@ maintainers:
>
...
>
>      properties:
>        compatible:
> -        const: fsl,imx8qxp-dc-framegen
> +        enum:
> +          - fsl,imx8qxp-dc-framegen
> +          - fsl,imx95-dc-framegen
>
>    "^gammacor@[0-9a-f]+$":
>      type: object
> @@ -90,13 +102,15 @@ patternProperties:
>        compatible:
>          const: fsl,imx8qxp-dc-signature
>
> -  "^tcon@[0-9a-f]+$":
> +  "^tcon(@[0-9a-f]+)?$":

why here allow no address unit tcon?

Frank

>      type: object
>      additionalProperties: true
>
>      properties:
>        compatible:
> -        const: fsl,imx8qxp-dc-tcon
> +        enum:
> +          - fsl,imx8qxp-dc-tcon
> +          - fsl,imx95-dc-tcon
>
...
> diff --git 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml 
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml
> index 9d1dc3a9de90e..dd83ac669478b 100644
> --- 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml
> +++ 
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-framegen.yaml
> @@ -16,18 +16,27 @@ maintainers:
>
>  properties:
>    compatible:
> -    const: fsl,imx8qxp-dc-framegen
> +    enum:
> +      - fsl,imx8qxp-dc-framegen
> +      - fsl,imx95-dc-framegen
>
>    reg:
>      maxItems: 1
>
>    clocks:
> -    maxItems: 1
> +    minItems: 1
> +    maxItems: 6
> +
> +  clock-names:
> +    minItems: 1
> +    maxItems: 6
>
>    interrupts:
> +    minItems: 6
>      maxItems: 8
>
>    interrupt-names:
> +    minItems: 6

Need if branch to keep the same restriction for exited compatible string

>      items:
>        - const: int0
>        - const: int1
> diff --git 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml
>  
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml
> index 2a6ab8a0ed7fc..6565b7acf47e4 100644
> --- 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml
> +++ 
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-layerblend.yaml
> @@ -13,7 +13,9 @@ maintainers:
>
>  properties:
>    compatible:
> -    const: fsl,imx8qxp-dc-layerblend
> +    enum:
> +      - fsl,imx8qxp-dc-layerblend
> +      - fsl,imx95-dc-layerblend
>
>    reg:
>      maxItems: 2
...
> diff --git 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml
>  
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml
> index 633443a6cc380..2d0ee83e30b25 100644
> --- 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml
> +++ 
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-pixel-engine.yaml
> @@ -17,19 +17,28 @@ maintainers:
>
>  properties:
>    compatible:
> -    const: fsl,imx8qxp-dc-pixel-engine
> +    oneOf:
> +      - const: fsl,imx8qxp-dc-pixel-engine
> +      - items:
> +          - const: fsl,imx95-dc-pixel-engine
> +          - const: fsl,imx8qxp-dc-pixel-engine
>
>    reg:
>      maxItems: 1
>
>    clocks:
> -    maxItems: 1
> +    minItems: 1
> +    maxItems: 2
> +
> +  clock-names:
> +    minItems: 1
> +    maxItems: 2
>
>    "#address-cells":
> -    const: 1
> +    enum: [1, 2]
>
>    "#size-cells":
> -    const: 1
> +    enum: [1, 2]
>
>    ranges: true
>
...
>
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: fsl,imx95-dc-pixel-engine
> +    then:
> +      properties:
> +        "#address-cells":
> +          const: 2
> +        "#size-cells":
> +          const: 2
> +    else:
> +      properties:
> +        "#address-cells":
> +          const: 1
> +        "#size-cells":
> +          const: 1


Need keep the same restriction for clocks and clock-names.

> +
>  additionalProperties: false
>
>  examples:
> diff --git 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml 
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml
> index 7a3b77ea92c73..1f935b342f461 100644
> --- a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml
> +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc-tcon.yaml
> @@ -15,7 +15,9 @@ maintainers:
>
>  properties:
>    compatible:
> -    const: fsl,imx8qxp-dc-tcon
> +    enum:
> +      - fsl,imx8qxp-dc-tcon
> +      - fsl,imx95-dc-tcon
>
>    reg:
>      maxItems: 1
> @@ -26,7 +28,6 @@ properties:
>
>  required:
>    - compatible
> -  - reg
>    - port
>
>  additionalProperties: false
> diff --git 
> a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml 
> b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml
> index 0a72f9f0b5fda..1e8f559acb4de 100644
> --- a/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml
> +++ b/Documentation/devicetree/bindings/display/imx/fsl,imx8qxp-dc.yaml
> @@ -48,13 +48,20 @@ maintainers:
>
>  properties:
>    compatible:
> -    const: fsl,imx8qxp-dc
> +    enum:
> +      - fsl,imx8qxp-dc
> +      - fsl,imx95-dc
>
>    reg:
>      maxItems: 1
>
>    clocks:
> -    maxItems: 1
> +    minItems: 1
> +    maxItems: 6
> +
> +  clock-names:
> +    minItems: 1
> +    maxItems: 6
>
>    resets:
>      maxItems: 2
> @@ -68,10 +75,15 @@ properties:
>      maxItems: 1
>
>    "#address-cells":
> -    const: 1
> +    enum: [1, 2]
>
>    "#size-cells":
> -    const: 1
> +    enum: [1, 2]
> +
> +  fsl,syscon:
> +    $ref: /schemas/types.yaml#/definitions/phandle
> +    description: |
> +      A phandle which points to Control and Status Registers (CSR) module.

Why need this one? is it possible to abstract it to standard interface,
like phy, clock, reset ...

Frank
>
>    ranges: true
>
> @@ -90,7 +102,9 @@ patternProperties:
>
>      properties:
>        compatible:
> -        const: fsl,imx8qxp-dc-display-engine
> +        enum:
> +          - fsl,imx8qxp-dc-display-engine
> +          - fsl,imx95-dc-display-engine
>
>    "^interrupt-controller@[0-9a-f]+$":
>      type: object
> @@ -98,7 +112,9 @@ patternProperties:
>
>      properties:
>        compatible:
> -        const: fsl,imx8qxp-dc-intc
> +        enum:
> +          - fsl,imx8qxp-dc-intc
> +          - fsl,imx95-dc-intc
>
>    "^pixel-engine@[0-9a-f]+$":
>      type: object
> @@ -106,7 +122,11 @@ patternProperties:
>
>      properties:
>        compatible:
> -        const: fsl,imx8qxp-dc-pixel-engine
> +        oneOf:
> +          - const: fsl,imx8qxp-dc-pixel-engine
> +          - items:
> +              - const: fsl,imx95-dc-pixel-engine
> +              - const: fsl,imx8qxp-dc-pixel-engine
>
>    "^pmu@[0-9a-f]+$":
>      type: object
> @@ -125,6 +145,25 @@ required:
>    - "#size-cells"
>    - ranges
>
> +allOf:
> +  - if:
> +      properties:
> +        compatible:
> +          contains:
> +            const: fsl,imx95-dc
> +    then:
> +      properties:
> +        "#address-cells":
> +          const: 2
> +        "#size-cells":
> +          const: 2
> +    else:
> +      properties:
> +        "#address-cells":
> +          const: 1
> +        "#size-cells":
> +          const: 1
> +
>  additionalProperties: false
>
>  examples:
> --
> 2.51.0
>

Reply via email to