199d66127SLaurent Pinchart# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
299d66127SLaurent Pinchart%YAML 1.2
399d66127SLaurent Pinchart---
499d66127SLaurent Pinchart$id: http://devicetree.org/schemas/display/renesas,du.yaml#
599d66127SLaurent Pinchart$schema: http://devicetree.org/meta-schemas/core.yaml#
699d66127SLaurent Pinchart
799d66127SLaurent Pincharttitle: Renesas R-Car Display Unit (DU)
899d66127SLaurent Pinchart
999d66127SLaurent Pinchartmaintainers:
1099d66127SLaurent Pinchart  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
1199d66127SLaurent Pinchart
1299d66127SLaurent Pinchartdescription: |
1399d66127SLaurent Pinchart  These DT bindings describe the Display Unit embedded in the Renesas R-Car
1499d66127SLaurent Pinchart  Gen1, R-Car Gen2, R-Car Gen3, RZ/G1 and RZ/G2 SoCs.
1599d66127SLaurent Pinchart
1699d66127SLaurent Pinchartproperties:
1799d66127SLaurent Pinchart  compatible:
1899d66127SLaurent Pinchart    enum:
1999d66127SLaurent Pinchart      - renesas,du-r8a7742 # for RZ/G1H compatible DU
2099d66127SLaurent Pinchart      - renesas,du-r8a7743 # for RZ/G1M compatible DU
2199d66127SLaurent Pinchart      - renesas,du-r8a7744 # for RZ/G1N compatible DU
2299d66127SLaurent Pinchart      - renesas,du-r8a7745 # for RZ/G1E compatible DU
2399d66127SLaurent Pinchart      - renesas,du-r8a77470 # for RZ/G1C compatible DU
2499d66127SLaurent Pinchart      - renesas,du-r8a774a1 # for RZ/G2M compatible DU
2599d66127SLaurent Pinchart      - renesas,du-r8a774b1 # for RZ/G2N compatible DU
2699d66127SLaurent Pinchart      - renesas,du-r8a774c0 # for RZ/G2E compatible DU
2799d66127SLaurent Pinchart      - renesas,du-r8a774e1 # for RZ/G2H compatible DU
2899d66127SLaurent Pinchart      - renesas,du-r8a7779 # for R-Car H1 compatible DU
2999d66127SLaurent Pinchart      - renesas,du-r8a7790 # for R-Car H2 compatible DU
3099d66127SLaurent Pinchart      - renesas,du-r8a7791 # for R-Car M2-W compatible DU
3199d66127SLaurent Pinchart      - renesas,du-r8a7792 # for R-Car V2H compatible DU
3299d66127SLaurent Pinchart      - renesas,du-r8a7793 # for R-Car M2-N compatible DU
3399d66127SLaurent Pinchart      - renesas,du-r8a7794 # for R-Car E2 compatible DU
3499d66127SLaurent Pinchart      - renesas,du-r8a7795 # for R-Car H3 compatible DU
3599d66127SLaurent Pinchart      - renesas,du-r8a7796 # for R-Car M3-W compatible DU
3699d66127SLaurent Pinchart      - renesas,du-r8a77961 # for R-Car M3-W+ compatible DU
3799d66127SLaurent Pinchart      - renesas,du-r8a77965 # for R-Car M3-N compatible DU
3899d66127SLaurent Pinchart      - renesas,du-r8a77970 # for R-Car V3M compatible DU
3999d66127SLaurent Pinchart      - renesas,du-r8a77980 # for R-Car V3H compatible DU
4099d66127SLaurent Pinchart      - renesas,du-r8a77990 # for R-Car E3 compatible DU
4199d66127SLaurent Pinchart      - renesas,du-r8a77995 # for R-Car D3 compatible DU
42458dc64eSKieran Bingham      - renesas,du-r8a779a0 # for R-Car V3U compatible DU
439456578dSTomi Valkeinen      - renesas,du-r8a779g0 # for R-Car V4H compatible DU
4499d66127SLaurent Pinchart
4599d66127SLaurent Pinchart  reg:
4699d66127SLaurent Pinchart    maxItems: 1
4799d66127SLaurent Pinchart
4899d66127SLaurent Pinchart  # See compatible-specific constraints below.
4999d66127SLaurent Pinchart  clocks: true
5099d66127SLaurent Pinchart  clock-names: true
5199d66127SLaurent Pinchart  interrupts:
5299d66127SLaurent Pinchart    description: Interrupt specifiers, one per DU channel
5399d66127SLaurent Pinchart  resets: true
5499d66127SLaurent Pinchart  reset-names: true
5599d66127SLaurent Pinchart
56970aa72cSGeert Uytterhoeven  power-domains:
57970aa72cSGeert Uytterhoeven    maxItems: 1
58970aa72cSGeert Uytterhoeven
5999d66127SLaurent Pinchart  ports:
60bae4cbe1SRob Herring    $ref: /schemas/graph.yaml#/properties/ports
6199d66127SLaurent Pinchart    description: |
6299d66127SLaurent Pinchart      The connections to the DU output video ports are modeled using the OF
6399d66127SLaurent Pinchart      graph bindings specified in Documentation/devicetree/bindings/graph.txt.
6499d66127SLaurent Pinchart      The number of ports and their assignment are model-dependent. Each port
6599d66127SLaurent Pinchart      shall have a single endpoint.
6699d66127SLaurent Pinchart
6799d66127SLaurent Pinchart    patternProperties:
6899d66127SLaurent Pinchart      "^port@[0-3]$":
6999d66127SLaurent Pinchart        $ref: /schemas/graph.yaml#/properties/port
7099d66127SLaurent Pinchart        unevaluatedProperties: false
7199d66127SLaurent Pinchart
7299d66127SLaurent Pinchart    required:
7399d66127SLaurent Pinchart      - port@0
7499d66127SLaurent Pinchart      - port@1
7599d66127SLaurent Pinchart
7699d66127SLaurent Pinchart    unevaluatedProperties: false
7799d66127SLaurent Pinchart
7899d66127SLaurent Pinchart  renesas,cmms:
79*4334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle-array
8039bd2b6aSRob Herring    items:
8139bd2b6aSRob Herring      maxItems: 1
8299d66127SLaurent Pinchart    description:
8399d66127SLaurent Pinchart      A list of phandles to the CMM instances present in the SoC, one for each
8499d66127SLaurent Pinchart      available DU channel.
8599d66127SLaurent Pinchart
8699d66127SLaurent Pinchart  renesas,vsps:
87*4334aec0SRob Herring    $ref: /schemas/types.yaml#/definitions/phandle-array
8839bd2b6aSRob Herring    items:
8939bd2b6aSRob Herring      items:
9039bd2b6aSRob Herring        - description: phandle to VSP instance that serves the DU channel
9139bd2b6aSRob Herring        - description: Channel index identifying the LIF instance in that VSP
9299d66127SLaurent Pinchart    description:
9399d66127SLaurent Pinchart      A list of phandle and channel index tuples to the VSPs that handle the
9439bd2b6aSRob Herring      memory interfaces for the DU channels.
9599d66127SLaurent Pinchart
9699d66127SLaurent Pinchartrequired:
9799d66127SLaurent Pinchart  - compatible
9899d66127SLaurent Pinchart  - reg
9999d66127SLaurent Pinchart  - clocks
10099d66127SLaurent Pinchart  - interrupts
10199d66127SLaurent Pinchart  - ports
10299d66127SLaurent Pinchart
10399d66127SLaurent PinchartallOf:
10499d66127SLaurent Pinchart  - if:
10599d66127SLaurent Pinchart      properties:
10699d66127SLaurent Pinchart        compatible:
10799d66127SLaurent Pinchart          contains:
10899d66127SLaurent Pinchart            const: renesas,du-r8a7779
10999d66127SLaurent Pinchart    then:
11099d66127SLaurent Pinchart      properties:
11199d66127SLaurent Pinchart        clocks:
11299d66127SLaurent Pinchart          minItems: 1
11399d66127SLaurent Pinchart          items:
11499d66127SLaurent Pinchart            - description: Functional clock
11599d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
11699d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
11799d66127SLaurent Pinchart
11899d66127SLaurent Pinchart        clock-names:
11999d66127SLaurent Pinchart          minItems: 1
12099d66127SLaurent Pinchart          items:
12199d66127SLaurent Pinchart            - const: du.0
12299d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
12399d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
12499d66127SLaurent Pinchart
12599d66127SLaurent Pinchart        interrupts:
12699d66127SLaurent Pinchart          maxItems: 1
12799d66127SLaurent Pinchart
12899d66127SLaurent Pinchart        resets:
12999d66127SLaurent Pinchart          maxItems: 1
13099d66127SLaurent Pinchart
13199d66127SLaurent Pinchart        ports:
13299d66127SLaurent Pinchart          properties:
13399d66127SLaurent Pinchart            port@0:
13499d66127SLaurent Pinchart              description: DPAD 0
13599d66127SLaurent Pinchart            port@1:
13699d66127SLaurent Pinchart              description: DPAD 1
13799d66127SLaurent Pinchart            # port@2 is TCON, not supported yet
13899d66127SLaurent Pinchart            port@2: false
13999d66127SLaurent Pinchart            port@3: false
14099d66127SLaurent Pinchart
14199d66127SLaurent Pinchart          required:
14299d66127SLaurent Pinchart            - port@0
14399d66127SLaurent Pinchart            - port@1
14499d66127SLaurent Pinchart
14599d66127SLaurent Pinchart      required:
14699d66127SLaurent Pinchart        - interrupts
14799d66127SLaurent Pinchart
14899d66127SLaurent Pinchart  - if:
14999d66127SLaurent Pinchart      properties:
15099d66127SLaurent Pinchart        compatible:
15199d66127SLaurent Pinchart          contains:
15299d66127SLaurent Pinchart            enum:
15399d66127SLaurent Pinchart              - renesas,du-r8a7743
15499d66127SLaurent Pinchart              - renesas,du-r8a7744
15599d66127SLaurent Pinchart              - renesas,du-r8a7791
15699d66127SLaurent Pinchart              - renesas,du-r8a7793
15799d66127SLaurent Pinchart    then:
15899d66127SLaurent Pinchart      properties:
15999d66127SLaurent Pinchart        clocks:
16099d66127SLaurent Pinchart          minItems: 2
16199d66127SLaurent Pinchart          items:
16299d66127SLaurent Pinchart            - description: Functional clock for DU0
16399d66127SLaurent Pinchart            - description: Functional clock for DU1
16499d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
16599d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
16699d66127SLaurent Pinchart
16799d66127SLaurent Pinchart        clock-names:
16899d66127SLaurent Pinchart          minItems: 2
16999d66127SLaurent Pinchart          items:
17099d66127SLaurent Pinchart            - const: du.0
17199d66127SLaurent Pinchart            - const: du.1
17299d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
17399d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
17499d66127SLaurent Pinchart
17599d66127SLaurent Pinchart        interrupts:
17699d66127SLaurent Pinchart          maxItems: 2
17799d66127SLaurent Pinchart
17899d66127SLaurent Pinchart        resets:
17999d66127SLaurent Pinchart          maxItems: 1
18099d66127SLaurent Pinchart
18199d66127SLaurent Pinchart        reset-names:
18299d66127SLaurent Pinchart          items:
18399d66127SLaurent Pinchart            - const: du.0
18499d66127SLaurent Pinchart
18599d66127SLaurent Pinchart        ports:
18699d66127SLaurent Pinchart          properties:
18799d66127SLaurent Pinchart            port@0:
18899d66127SLaurent Pinchart              description: DPAD 0
18999d66127SLaurent Pinchart            port@1:
19099d66127SLaurent Pinchart              description: LVDS 0
19199d66127SLaurent Pinchart            # port@2 is TCON, not supported yet
19299d66127SLaurent Pinchart            port@2: false
19399d66127SLaurent Pinchart            port@3: false
19499d66127SLaurent Pinchart
19599d66127SLaurent Pinchart          required:
19699d66127SLaurent Pinchart            - port@0
19799d66127SLaurent Pinchart            - port@1
19899d66127SLaurent Pinchart
19999d66127SLaurent Pinchart      required:
20099d66127SLaurent Pinchart        - clock-names
20199d66127SLaurent Pinchart        - interrupts
20299d66127SLaurent Pinchart        - resets
20399d66127SLaurent Pinchart        - reset-names
20499d66127SLaurent Pinchart
20599d66127SLaurent Pinchart  - if:
20699d66127SLaurent Pinchart      properties:
20799d66127SLaurent Pinchart        compatible:
20899d66127SLaurent Pinchart          contains:
20999d66127SLaurent Pinchart            enum:
21099d66127SLaurent Pinchart              - renesas,du-r8a7745
21199d66127SLaurent Pinchart              - renesas,du-r8a7792
21299d66127SLaurent Pinchart    then:
21399d66127SLaurent Pinchart      properties:
21499d66127SLaurent Pinchart        clocks:
21599d66127SLaurent Pinchart          minItems: 2
21699d66127SLaurent Pinchart          items:
21799d66127SLaurent Pinchart            - description: Functional clock for DU0
21899d66127SLaurent Pinchart            - description: Functional clock for DU1
21999d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
22099d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
22199d66127SLaurent Pinchart
22299d66127SLaurent Pinchart        clock-names:
22399d66127SLaurent Pinchart          minItems: 2
22499d66127SLaurent Pinchart          items:
22599d66127SLaurent Pinchart            - const: du.0
22699d66127SLaurent Pinchart            - const: du.1
22799d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
22899d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
22999d66127SLaurent Pinchart
23099d66127SLaurent Pinchart        interrupts:
23199d66127SLaurent Pinchart          maxItems: 2
23299d66127SLaurent Pinchart
23399d66127SLaurent Pinchart        resets:
23499d66127SLaurent Pinchart          maxItems: 1
23599d66127SLaurent Pinchart
23699d66127SLaurent Pinchart        reset-names:
23799d66127SLaurent Pinchart          items:
23899d66127SLaurent Pinchart            - const: du.0
23999d66127SLaurent Pinchart
24099d66127SLaurent Pinchart        ports:
24199d66127SLaurent Pinchart          properties:
24299d66127SLaurent Pinchart            port@0:
24399d66127SLaurent Pinchart              description: DPAD 0
24499d66127SLaurent Pinchart            port@1:
24599d66127SLaurent Pinchart              description: DPAD 1
24699d66127SLaurent Pinchart            port@2: false
24799d66127SLaurent Pinchart            port@3: false
24899d66127SLaurent Pinchart
24999d66127SLaurent Pinchart          required:
25099d66127SLaurent Pinchart            - port@0
25199d66127SLaurent Pinchart            - port@1
25299d66127SLaurent Pinchart
25399d66127SLaurent Pinchart      required:
25499d66127SLaurent Pinchart        - clock-names
25599d66127SLaurent Pinchart        - interrupts
25699d66127SLaurent Pinchart        - resets
25799d66127SLaurent Pinchart        - reset-names
25899d66127SLaurent Pinchart
25999d66127SLaurent Pinchart  - if:
26099d66127SLaurent Pinchart      properties:
26199d66127SLaurent Pinchart        compatible:
26299d66127SLaurent Pinchart          contains:
26399d66127SLaurent Pinchart            enum:
26499d66127SLaurent Pinchart              - renesas,du-r8a7794
26599d66127SLaurent Pinchart    then:
26699d66127SLaurent Pinchart      properties:
26799d66127SLaurent Pinchart        clocks:
26899d66127SLaurent Pinchart          minItems: 2
26999d66127SLaurent Pinchart          items:
27099d66127SLaurent Pinchart            - description: Functional clock for DU0
27199d66127SLaurent Pinchart            - description: Functional clock for DU1
27299d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
27399d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
27499d66127SLaurent Pinchart
27599d66127SLaurent Pinchart        clock-names:
27699d66127SLaurent Pinchart          minItems: 2
27799d66127SLaurent Pinchart          items:
27899d66127SLaurent Pinchart            - const: du.0
27999d66127SLaurent Pinchart            - const: du.1
28099d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
28199d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
28299d66127SLaurent Pinchart
28399d66127SLaurent Pinchart        interrupts:
28499d66127SLaurent Pinchart          maxItems: 2
28599d66127SLaurent Pinchart
28699d66127SLaurent Pinchart        resets:
28799d66127SLaurent Pinchart          maxItems: 1
28899d66127SLaurent Pinchart
28999d66127SLaurent Pinchart        reset-names:
29099d66127SLaurent Pinchart          items:
29199d66127SLaurent Pinchart            - const: du.0
29299d66127SLaurent Pinchart
29399d66127SLaurent Pinchart        ports:
29499d66127SLaurent Pinchart          properties:
29599d66127SLaurent Pinchart            port@0:
29699d66127SLaurent Pinchart              description: DPAD 0
29799d66127SLaurent Pinchart            port@1:
29899d66127SLaurent Pinchart              description: DPAD 1
29999d66127SLaurent Pinchart            # port@2 is TCON, not supported yet
30099d66127SLaurent Pinchart            port@2: false
30199d66127SLaurent Pinchart            port@3: false
30299d66127SLaurent Pinchart
30399d66127SLaurent Pinchart          required:
30499d66127SLaurent Pinchart            - port@0
30599d66127SLaurent Pinchart            - port@1
30699d66127SLaurent Pinchart
30799d66127SLaurent Pinchart      required:
30899d66127SLaurent Pinchart        - clock-names
30999d66127SLaurent Pinchart        - interrupts
31099d66127SLaurent Pinchart        - resets
31199d66127SLaurent Pinchart        - reset-names
31299d66127SLaurent Pinchart
31399d66127SLaurent Pinchart  - if:
31499d66127SLaurent Pinchart      properties:
31599d66127SLaurent Pinchart        compatible:
31699d66127SLaurent Pinchart          contains:
31799d66127SLaurent Pinchart            enum:
31899d66127SLaurent Pinchart              - renesas,du-r8a77470
31999d66127SLaurent Pinchart    then:
32099d66127SLaurent Pinchart      properties:
32199d66127SLaurent Pinchart        clocks:
32299d66127SLaurent Pinchart          minItems: 2
32399d66127SLaurent Pinchart          items:
32499d66127SLaurent Pinchart            - description: Functional clock for DU0
32599d66127SLaurent Pinchart            - description: Functional clock for DU1
32699d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
32799d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
32899d66127SLaurent Pinchart
32999d66127SLaurent Pinchart        clock-names:
33099d66127SLaurent Pinchart          minItems: 2
33199d66127SLaurent Pinchart          items:
33299d66127SLaurent Pinchart            - const: du.0
33399d66127SLaurent Pinchart            - const: du.1
33499d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
33599d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
33699d66127SLaurent Pinchart
33799d66127SLaurent Pinchart        interrupts:
33899d66127SLaurent Pinchart          maxItems: 2
33999d66127SLaurent Pinchart
34099d66127SLaurent Pinchart        resets:
34199d66127SLaurent Pinchart          maxItems: 1
34299d66127SLaurent Pinchart
34399d66127SLaurent Pinchart        reset-names:
34499d66127SLaurent Pinchart          items:
34599d66127SLaurent Pinchart            - const: du.0
34699d66127SLaurent Pinchart
34799d66127SLaurent Pinchart        ports:
34899d66127SLaurent Pinchart          properties:
34999d66127SLaurent Pinchart            port@0:
35099d66127SLaurent Pinchart              description: DPAD 0
35199d66127SLaurent Pinchart            port@1:
35299d66127SLaurent Pinchart              description: DPAD 1
35399d66127SLaurent Pinchart            port@2:
35499d66127SLaurent Pinchart              description: LVDS 0
35599d66127SLaurent Pinchart            # port@3 is DVENC, not supported yet
35699d66127SLaurent Pinchart            port@3: false
35799d66127SLaurent Pinchart
35899d66127SLaurent Pinchart          required:
35999d66127SLaurent Pinchart            - port@0
36099d66127SLaurent Pinchart            - port@1
36199d66127SLaurent Pinchart            - port@2
36299d66127SLaurent Pinchart
36399d66127SLaurent Pinchart      required:
36499d66127SLaurent Pinchart        - clock-names
36599d66127SLaurent Pinchart        - interrupts
36699d66127SLaurent Pinchart        - resets
36799d66127SLaurent Pinchart        - reset-names
36899d66127SLaurent Pinchart
36999d66127SLaurent Pinchart  - if:
37099d66127SLaurent Pinchart      properties:
37199d66127SLaurent Pinchart        compatible:
37299d66127SLaurent Pinchart          contains:
37399d66127SLaurent Pinchart            enum:
37499d66127SLaurent Pinchart              - renesas,du-r8a7742
37599d66127SLaurent Pinchart              - renesas,du-r8a7790
37699d66127SLaurent Pinchart    then:
37799d66127SLaurent Pinchart      properties:
37899d66127SLaurent Pinchart        clocks:
37999d66127SLaurent Pinchart          minItems: 3
38099d66127SLaurent Pinchart          items:
38199d66127SLaurent Pinchart            - description: Functional clock for DU0
38299d66127SLaurent Pinchart            - description: Functional clock for DU1
38399d66127SLaurent Pinchart            - description: Functional clock for DU2
38499d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
38599d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
38699d66127SLaurent Pinchart            - description: DU_DOTCLKIN2 input clock
38799d66127SLaurent Pinchart
38899d66127SLaurent Pinchart        clock-names:
38999d66127SLaurent Pinchart          minItems: 3
39099d66127SLaurent Pinchart          items:
39199d66127SLaurent Pinchart            - const: du.0
39299d66127SLaurent Pinchart            - const: du.1
39399d66127SLaurent Pinchart            - const: du.2
39499d66127SLaurent Pinchart            - pattern: '^dclkin\.[012]$'
39599d66127SLaurent Pinchart            - pattern: '^dclkin\.[012]$'
39699d66127SLaurent Pinchart            - pattern: '^dclkin\.[012]$'
39799d66127SLaurent Pinchart
39899d66127SLaurent Pinchart        interrupts:
39999d66127SLaurent Pinchart          maxItems: 3
40099d66127SLaurent Pinchart
40199d66127SLaurent Pinchart        resets:
40299d66127SLaurent Pinchart          maxItems: 1
40399d66127SLaurent Pinchart
40499d66127SLaurent Pinchart        reset-names:
40599d66127SLaurent Pinchart          items:
40699d66127SLaurent Pinchart            - const: du.0
40799d66127SLaurent Pinchart
40899d66127SLaurent Pinchart        ports:
40999d66127SLaurent Pinchart          properties:
41099d66127SLaurent Pinchart            port@0:
41199d66127SLaurent Pinchart              description: DPAD 0
41299d66127SLaurent Pinchart            port@1:
41399d66127SLaurent Pinchart              description: LVDS 0
41499d66127SLaurent Pinchart            port@2:
41599d66127SLaurent Pinchart              description: LVDS 1
41699d66127SLaurent Pinchart            # port@3 is TCON, not supported yet
41799d66127SLaurent Pinchart            port@3: false
41899d66127SLaurent Pinchart
41999d66127SLaurent Pinchart          required:
42099d66127SLaurent Pinchart            - port@0
42199d66127SLaurent Pinchart            - port@1
42299d66127SLaurent Pinchart            - port@2
42399d66127SLaurent Pinchart
42499d66127SLaurent Pinchart      required:
42599d66127SLaurent Pinchart        - clock-names
42699d66127SLaurent Pinchart        - interrupts
42799d66127SLaurent Pinchart        - resets
42899d66127SLaurent Pinchart        - reset-names
42999d66127SLaurent Pinchart
43099d66127SLaurent Pinchart  - if:
43199d66127SLaurent Pinchart      properties:
43299d66127SLaurent Pinchart        compatible:
43399d66127SLaurent Pinchart          contains:
43499d66127SLaurent Pinchart            enum:
43599d66127SLaurent Pinchart              - renesas,du-r8a7795
43699d66127SLaurent Pinchart    then:
43799d66127SLaurent Pinchart      properties:
43899d66127SLaurent Pinchart        clocks:
43999d66127SLaurent Pinchart          minItems: 4
44099d66127SLaurent Pinchart          items:
44199d66127SLaurent Pinchart            - description: Functional clock for DU0
44299d66127SLaurent Pinchart            - description: Functional clock for DU1
44399d66127SLaurent Pinchart            - description: Functional clock for DU2
44499d66127SLaurent Pinchart            - description: Functional clock for DU4
44599d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
44699d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
44799d66127SLaurent Pinchart            - description: DU_DOTCLKIN2 input clock
44899d66127SLaurent Pinchart            - description: DU_DOTCLKIN3 input clock
44999d66127SLaurent Pinchart
45099d66127SLaurent Pinchart        clock-names:
45199d66127SLaurent Pinchart          minItems: 4
45299d66127SLaurent Pinchart          items:
45399d66127SLaurent Pinchart            - const: du.0
45499d66127SLaurent Pinchart            - const: du.1
45599d66127SLaurent Pinchart            - const: du.2
45699d66127SLaurent Pinchart            - const: du.3
45799d66127SLaurent Pinchart            - pattern: '^dclkin\.[0123]$'
45899d66127SLaurent Pinchart            - pattern: '^dclkin\.[0123]$'
45999d66127SLaurent Pinchart            - pattern: '^dclkin\.[0123]$'
46099d66127SLaurent Pinchart            - pattern: '^dclkin\.[0123]$'
46199d66127SLaurent Pinchart
46299d66127SLaurent Pinchart        interrupts:
46399d66127SLaurent Pinchart          maxItems: 4
46499d66127SLaurent Pinchart
46599d66127SLaurent Pinchart        resets:
46699d66127SLaurent Pinchart          maxItems: 2
46799d66127SLaurent Pinchart
46899d66127SLaurent Pinchart        reset-names:
46999d66127SLaurent Pinchart          items:
47099d66127SLaurent Pinchart            - const: du.0
47199d66127SLaurent Pinchart            - const: du.2
47299d66127SLaurent Pinchart
47399d66127SLaurent Pinchart        ports:
47499d66127SLaurent Pinchart          properties:
47599d66127SLaurent Pinchart            port@0:
47699d66127SLaurent Pinchart              description: DPAD 0
47799d66127SLaurent Pinchart            port@1:
47899d66127SLaurent Pinchart              description: HDMI 0
47999d66127SLaurent Pinchart            port@2:
48099d66127SLaurent Pinchart              description: HDMI 1
48199d66127SLaurent Pinchart            port@3:
48299d66127SLaurent Pinchart              description: LVDS 0
48399d66127SLaurent Pinchart
48499d66127SLaurent Pinchart          required:
48599d66127SLaurent Pinchart            - port@0
48699d66127SLaurent Pinchart            - port@1
48799d66127SLaurent Pinchart            - port@2
48899d66127SLaurent Pinchart            - port@3
48999d66127SLaurent Pinchart
49099d66127SLaurent Pinchart        renesas,cmms:
49199d66127SLaurent Pinchart          minItems: 4
49299d66127SLaurent Pinchart
49399d66127SLaurent Pinchart        renesas,vsps:
49499d66127SLaurent Pinchart          minItems: 4
49599d66127SLaurent Pinchart
49699d66127SLaurent Pinchart      required:
49799d66127SLaurent Pinchart        - clock-names
49899d66127SLaurent Pinchart        - interrupts
49999d66127SLaurent Pinchart        - resets
50099d66127SLaurent Pinchart        - reset-names
50199d66127SLaurent Pinchart        - renesas,vsps
50299d66127SLaurent Pinchart
50399d66127SLaurent Pinchart  - if:
50499d66127SLaurent Pinchart      properties:
50599d66127SLaurent Pinchart        compatible:
50699d66127SLaurent Pinchart          contains:
50799d66127SLaurent Pinchart            enum:
50899d66127SLaurent Pinchart              - renesas,du-r8a774a1
50999d66127SLaurent Pinchart              - renesas,du-r8a7796
51099d66127SLaurent Pinchart              - renesas,du-r8a77961
51199d66127SLaurent Pinchart    then:
51299d66127SLaurent Pinchart      properties:
51399d66127SLaurent Pinchart        clocks:
51499d66127SLaurent Pinchart          minItems: 3
51599d66127SLaurent Pinchart          items:
51699d66127SLaurent Pinchart            - description: Functional clock for DU0
51799d66127SLaurent Pinchart            - description: Functional clock for DU1
51899d66127SLaurent Pinchart            - description: Functional clock for DU2
51999d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
52099d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
52199d66127SLaurent Pinchart            - description: DU_DOTCLKIN2 input clock
52299d66127SLaurent Pinchart
52399d66127SLaurent Pinchart        clock-names:
52499d66127SLaurent Pinchart          minItems: 3
52599d66127SLaurent Pinchart          items:
52699d66127SLaurent Pinchart            - const: du.0
52799d66127SLaurent Pinchart            - const: du.1
52899d66127SLaurent Pinchart            - const: du.2
52999d66127SLaurent Pinchart            - pattern: '^dclkin\.[012]$'
53099d66127SLaurent Pinchart            - pattern: '^dclkin\.[012]$'
53199d66127SLaurent Pinchart            - pattern: '^dclkin\.[012]$'
53299d66127SLaurent Pinchart
53399d66127SLaurent Pinchart        interrupts:
53499d66127SLaurent Pinchart          maxItems: 3
53599d66127SLaurent Pinchart
53699d66127SLaurent Pinchart        resets:
53799d66127SLaurent Pinchart          maxItems: 2
53899d66127SLaurent Pinchart
53999d66127SLaurent Pinchart        reset-names:
54099d66127SLaurent Pinchart          items:
54199d66127SLaurent Pinchart            - const: du.0
54299d66127SLaurent Pinchart            - const: du.2
54399d66127SLaurent Pinchart
54499d66127SLaurent Pinchart        ports:
54599d66127SLaurent Pinchart          properties:
54699d66127SLaurent Pinchart            port@0:
54799d66127SLaurent Pinchart              description: DPAD 0
54899d66127SLaurent Pinchart            port@1:
54999d66127SLaurent Pinchart              description: HDMI 0
55099d66127SLaurent Pinchart            port@2:
55199d66127SLaurent Pinchart              description: LVDS 0
55299d66127SLaurent Pinchart            port@3: false
55399d66127SLaurent Pinchart
55499d66127SLaurent Pinchart          required:
55599d66127SLaurent Pinchart            - port@0
55699d66127SLaurent Pinchart            - port@1
55799d66127SLaurent Pinchart            - port@2
55899d66127SLaurent Pinchart
55999d66127SLaurent Pinchart        renesas,cmms:
56099d66127SLaurent Pinchart          minItems: 3
56199d66127SLaurent Pinchart
56299d66127SLaurent Pinchart        renesas,vsps:
56399d66127SLaurent Pinchart          minItems: 3
56499d66127SLaurent Pinchart
56599d66127SLaurent Pinchart      required:
56699d66127SLaurent Pinchart        - clock-names
56799d66127SLaurent Pinchart        - interrupts
56899d66127SLaurent Pinchart        - resets
56999d66127SLaurent Pinchart        - reset-names
57099d66127SLaurent Pinchart        - renesas,vsps
57199d66127SLaurent Pinchart
57299d66127SLaurent Pinchart  - if:
57399d66127SLaurent Pinchart      properties:
57499d66127SLaurent Pinchart        compatible:
57599d66127SLaurent Pinchart          contains:
57699d66127SLaurent Pinchart            enum:
57799d66127SLaurent Pinchart              - renesas,du-r8a774b1
57899d66127SLaurent Pinchart              - renesas,du-r8a774e1
57999d66127SLaurent Pinchart              - renesas,du-r8a77965
58099d66127SLaurent Pinchart    then:
58199d66127SLaurent Pinchart      properties:
58299d66127SLaurent Pinchart        clocks:
58399d66127SLaurent Pinchart          minItems: 3
58499d66127SLaurent Pinchart          items:
58599d66127SLaurent Pinchart            - description: Functional clock for DU0
58699d66127SLaurent Pinchart            - description: Functional clock for DU1
58799d66127SLaurent Pinchart            - description: Functional clock for DU3
58899d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
58999d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
59099d66127SLaurent Pinchart            - description: DU_DOTCLKIN3 input clock
59199d66127SLaurent Pinchart
59299d66127SLaurent Pinchart        clock-names:
59399d66127SLaurent Pinchart          minItems: 3
59499d66127SLaurent Pinchart          items:
59599d66127SLaurent Pinchart            - const: du.0
59699d66127SLaurent Pinchart            - const: du.1
59799d66127SLaurent Pinchart            - const: du.3
59899d66127SLaurent Pinchart            - pattern: '^dclkin\.[013]$'
59999d66127SLaurent Pinchart            - pattern: '^dclkin\.[013]$'
60099d66127SLaurent Pinchart            - pattern: '^dclkin\.[013]$'
60199d66127SLaurent Pinchart
60299d66127SLaurent Pinchart        interrupts:
60399d66127SLaurent Pinchart          maxItems: 3
60499d66127SLaurent Pinchart
60599d66127SLaurent Pinchart        resets:
60699d66127SLaurent Pinchart          maxItems: 2
60799d66127SLaurent Pinchart
60899d66127SLaurent Pinchart        reset-names:
60999d66127SLaurent Pinchart          items:
61099d66127SLaurent Pinchart            - const: du.0
61199d66127SLaurent Pinchart            - const: du.3
61299d66127SLaurent Pinchart
61399d66127SLaurent Pinchart        ports:
61499d66127SLaurent Pinchart          properties:
61599d66127SLaurent Pinchart            port@0:
61699d66127SLaurent Pinchart              description: DPAD 0
61799d66127SLaurent Pinchart            port@1:
61899d66127SLaurent Pinchart              description: HDMI 0
61999d66127SLaurent Pinchart            port@2:
62099d66127SLaurent Pinchart              description: LVDS 0
62199d66127SLaurent Pinchart            port@3: false
62299d66127SLaurent Pinchart
62399d66127SLaurent Pinchart          required:
62499d66127SLaurent Pinchart            - port@0
62599d66127SLaurent Pinchart            - port@1
62699d66127SLaurent Pinchart            - port@2
62799d66127SLaurent Pinchart
62899d66127SLaurent Pinchart        renesas,cmms:
62999d66127SLaurent Pinchart          minItems: 3
63099d66127SLaurent Pinchart
63199d66127SLaurent Pinchart        renesas,vsps:
63299d66127SLaurent Pinchart          minItems: 3
63399d66127SLaurent Pinchart
63499d66127SLaurent Pinchart      required:
63599d66127SLaurent Pinchart        - clock-names
63699d66127SLaurent Pinchart        - interrupts
63799d66127SLaurent Pinchart        - resets
63899d66127SLaurent Pinchart        - reset-names
63999d66127SLaurent Pinchart        - renesas,vsps
64099d66127SLaurent Pinchart
64199d66127SLaurent Pinchart  - if:
64299d66127SLaurent Pinchart      properties:
64399d66127SLaurent Pinchart        compatible:
64499d66127SLaurent Pinchart          contains:
64599d66127SLaurent Pinchart            enum:
64699d66127SLaurent Pinchart              - renesas,du-r8a77970
64799d66127SLaurent Pinchart              - renesas,du-r8a77980
64899d66127SLaurent Pinchart    then:
64999d66127SLaurent Pinchart      properties:
65099d66127SLaurent Pinchart        clocks:
65199d66127SLaurent Pinchart          minItems: 1
65299d66127SLaurent Pinchart          items:
65399d66127SLaurent Pinchart            - description: Functional clock for DU0
65499d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
65599d66127SLaurent Pinchart
65699d66127SLaurent Pinchart        clock-names:
65799d66127SLaurent Pinchart          minItems: 1
65899d66127SLaurent Pinchart          items:
65999d66127SLaurent Pinchart            - const: du.0
66099d66127SLaurent Pinchart            - const: dclkin.0
66199d66127SLaurent Pinchart
66299d66127SLaurent Pinchart        interrupts:
66399d66127SLaurent Pinchart          maxItems: 1
66499d66127SLaurent Pinchart
66599d66127SLaurent Pinchart        resets:
66699d66127SLaurent Pinchart          maxItems: 1
66799d66127SLaurent Pinchart
66899d66127SLaurent Pinchart        reset-names:
66999d66127SLaurent Pinchart          items:
67099d66127SLaurent Pinchart            - const: du.0
67199d66127SLaurent Pinchart
67299d66127SLaurent Pinchart        ports:
67399d66127SLaurent Pinchart          properties:
67499d66127SLaurent Pinchart            port@0:
67599d66127SLaurent Pinchart              description: DPAD 0
67699d66127SLaurent Pinchart            port@1:
67799d66127SLaurent Pinchart              description: LVDS 0
67899d66127SLaurent Pinchart            port@2: false
67999d66127SLaurent Pinchart            port@3: false
68099d66127SLaurent Pinchart
68199d66127SLaurent Pinchart          required:
68299d66127SLaurent Pinchart            - port@0
68399d66127SLaurent Pinchart            - port@1
68499d66127SLaurent Pinchart
68599d66127SLaurent Pinchart        renesas,vsps:
68699d66127SLaurent Pinchart          minItems: 1
68799d66127SLaurent Pinchart
68899d66127SLaurent Pinchart      required:
68999d66127SLaurent Pinchart        - clock-names
69099d66127SLaurent Pinchart        - interrupts
69199d66127SLaurent Pinchart        - resets
69299d66127SLaurent Pinchart        - reset-names
69399d66127SLaurent Pinchart        - renesas,vsps
69499d66127SLaurent Pinchart
69599d66127SLaurent Pinchart  - if:
69699d66127SLaurent Pinchart      properties:
69799d66127SLaurent Pinchart        compatible:
69899d66127SLaurent Pinchart          contains:
69999d66127SLaurent Pinchart            enum:
70099d66127SLaurent Pinchart              - renesas,du-r8a774c0
70199d66127SLaurent Pinchart              - renesas,du-r8a77990
70299d66127SLaurent Pinchart              - renesas,du-r8a77995
70399d66127SLaurent Pinchart    then:
70499d66127SLaurent Pinchart      properties:
70599d66127SLaurent Pinchart        clocks:
70699d66127SLaurent Pinchart          minItems: 2
70799d66127SLaurent Pinchart          items:
70899d66127SLaurent Pinchart            - description: Functional clock for DU0
70999d66127SLaurent Pinchart            - description: Functional clock for DU1
71099d66127SLaurent Pinchart            - description: DU_DOTCLKIN0 input clock
71199d66127SLaurent Pinchart            - description: DU_DOTCLKIN1 input clock
71299d66127SLaurent Pinchart
71399d66127SLaurent Pinchart        clock-names:
71499d66127SLaurent Pinchart          minItems: 2
71599d66127SLaurent Pinchart          items:
71699d66127SLaurent Pinchart            - const: du.0
71799d66127SLaurent Pinchart            - const: du.1
71899d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
71999d66127SLaurent Pinchart            - pattern: '^dclkin\.[01]$'
72099d66127SLaurent Pinchart
72199d66127SLaurent Pinchart        interrupts:
72299d66127SLaurent Pinchart          maxItems: 2
72399d66127SLaurent Pinchart
72499d66127SLaurent Pinchart        resets:
72599d66127SLaurent Pinchart          maxItems: 1
72699d66127SLaurent Pinchart
72799d66127SLaurent Pinchart        reset-names:
72899d66127SLaurent Pinchart          items:
72999d66127SLaurent Pinchart            - const: du.0
73099d66127SLaurent Pinchart
73199d66127SLaurent Pinchart        ports:
73299d66127SLaurent Pinchart          properties:
73399d66127SLaurent Pinchart            port@0:
73499d66127SLaurent Pinchart              description: DPAD 0
73599d66127SLaurent Pinchart            port@1:
73699d66127SLaurent Pinchart              description: LVDS 0
73799d66127SLaurent Pinchart            port@2:
73899d66127SLaurent Pinchart              description: LVDS 1
73999d66127SLaurent Pinchart            # port@3 is TCON, not supported yet
74099d66127SLaurent Pinchart            port@3: false
74199d66127SLaurent Pinchart
74299d66127SLaurent Pinchart          required:
74399d66127SLaurent Pinchart            - port@0
74499d66127SLaurent Pinchart            - port@1
74599d66127SLaurent Pinchart            - port@2
74699d66127SLaurent Pinchart
74799d66127SLaurent Pinchart        renesas,cmms:
74899d66127SLaurent Pinchart          minItems: 2
74999d66127SLaurent Pinchart
75099d66127SLaurent Pinchart        renesas,vsps:
75199d66127SLaurent Pinchart          minItems: 2
75299d66127SLaurent Pinchart
75399d66127SLaurent Pinchart      required:
75499d66127SLaurent Pinchart        - clock-names
75599d66127SLaurent Pinchart        - interrupts
75699d66127SLaurent Pinchart        - resets
75799d66127SLaurent Pinchart        - reset-names
75899d66127SLaurent Pinchart        - renesas,vsps
75999d66127SLaurent Pinchart
760458dc64eSKieran Bingham  - if:
761458dc64eSKieran Bingham      properties:
762458dc64eSKieran Bingham        compatible:
763458dc64eSKieran Bingham          contains:
764458dc64eSKieran Bingham            enum:
765458dc64eSKieran Bingham              - renesas,du-r8a779a0
7669456578dSTomi Valkeinen              - renesas,du-r8a779g0
767458dc64eSKieran Bingham    then:
768458dc64eSKieran Bingham      properties:
769458dc64eSKieran Bingham        clocks:
770458dc64eSKieran Bingham          items:
771458dc64eSKieran Bingham            - description: Functional clock
772458dc64eSKieran Bingham
773458dc64eSKieran Bingham        clock-names:
774458dc64eSKieran Bingham          items:
775458dc64eSKieran Bingham            - const: du.0
776458dc64eSKieran Bingham
777458dc64eSKieran Bingham        interrupts:
778458dc64eSKieran Bingham          maxItems: 2
779458dc64eSKieran Bingham
780458dc64eSKieran Bingham        resets:
781458dc64eSKieran Bingham          maxItems: 1
782458dc64eSKieran Bingham
783458dc64eSKieran Bingham        reset-names:
784458dc64eSKieran Bingham          items:
785458dc64eSKieran Bingham            - const: du.0
786458dc64eSKieran Bingham
787458dc64eSKieran Bingham        ports:
788458dc64eSKieran Bingham          properties:
789458dc64eSKieran Bingham            port@0:
790458dc64eSKieran Bingham              description: DSI 0
791458dc64eSKieran Bingham            port@1:
792458dc64eSKieran Bingham              description: DSI 1
793458dc64eSKieran Bingham            port@2: false
794458dc64eSKieran Bingham            port@3: false
795458dc64eSKieran Bingham
796458dc64eSKieran Bingham          required:
797458dc64eSKieran Bingham            - port@0
798458dc64eSKieran Bingham            - port@1
799458dc64eSKieran Bingham
800458dc64eSKieran Bingham        renesas,vsps:
801458dc64eSKieran Bingham          minItems: 2
802458dc64eSKieran Bingham
803458dc64eSKieran Bingham      required:
804458dc64eSKieran Bingham        - clock-names
805458dc64eSKieran Bingham        - interrupts
806458dc64eSKieran Bingham        - resets
807458dc64eSKieran Bingham        - reset-names
808458dc64eSKieran Bingham        - renesas,vsps
809458dc64eSKieran Bingham
81099d66127SLaurent PinchartadditionalProperties: false
81199d66127SLaurent Pinchart
81299d66127SLaurent Pinchartexamples:
81399d66127SLaurent Pinchart  # R-Car H3 ES2.0 DU
81499d66127SLaurent Pinchart  - |
81599d66127SLaurent Pinchart    #include <dt-bindings/clock/renesas-cpg-mssr.h>
81699d66127SLaurent Pinchart    #include <dt-bindings/interrupt-controller/arm-gic.h>
81799d66127SLaurent Pinchart
81899d66127SLaurent Pinchart    display@feb00000 {
81999d66127SLaurent Pinchart        compatible = "renesas,du-r8a7795";
82099d66127SLaurent Pinchart        reg = <0xfeb00000 0x80000>;
82199d66127SLaurent Pinchart        interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
82299d66127SLaurent Pinchart                     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
82399d66127SLaurent Pinchart                     <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
82499d66127SLaurent Pinchart                     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
82599d66127SLaurent Pinchart        clocks = <&cpg CPG_MOD 724>,
82699d66127SLaurent Pinchart                 <&cpg CPG_MOD 723>,
82799d66127SLaurent Pinchart                 <&cpg CPG_MOD 722>,
82899d66127SLaurent Pinchart                 <&cpg CPG_MOD 721>;
82999d66127SLaurent Pinchart        clock-names = "du.0", "du.1", "du.2", "du.3";
83099d66127SLaurent Pinchart        resets = <&cpg 724>, <&cpg 722>;
83199d66127SLaurent Pinchart        reset-names = "du.0", "du.2";
83299d66127SLaurent Pinchart
83399d66127SLaurent Pinchart        renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>, <&cmm3>;
83499d66127SLaurent Pinchart        renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;
83599d66127SLaurent Pinchart
83699d66127SLaurent Pinchart        ports {
83799d66127SLaurent Pinchart            #address-cells = <1>;
83899d66127SLaurent Pinchart            #size-cells = <0>;
83999d66127SLaurent Pinchart
84099d66127SLaurent Pinchart            port@0 {
84199d66127SLaurent Pinchart                reg = <0>;
84299d66127SLaurent Pinchart                endpoint {
84399d66127SLaurent Pinchart                    remote-endpoint = <&adv7123_in>;
84499d66127SLaurent Pinchart                };
84599d66127SLaurent Pinchart            };
84699d66127SLaurent Pinchart            port@1 {
84799d66127SLaurent Pinchart                reg = <1>;
84899d66127SLaurent Pinchart                endpoint {
84999d66127SLaurent Pinchart                    remote-endpoint = <&dw_hdmi0_in>;
85099d66127SLaurent Pinchart                };
85199d66127SLaurent Pinchart            };
85299d66127SLaurent Pinchart            port@2 {
85399d66127SLaurent Pinchart                reg = <2>;
85499d66127SLaurent Pinchart                endpoint {
85599d66127SLaurent Pinchart                    remote-endpoint = <&dw_hdmi1_in>;
85699d66127SLaurent Pinchart                };
85799d66127SLaurent Pinchart            };
85899d66127SLaurent Pinchart            port@3 {
85999d66127SLaurent Pinchart                reg = <3>;
86099d66127SLaurent Pinchart                endpoint {
86199d66127SLaurent Pinchart                    remote-endpoint = <&lvds0_in>;
86299d66127SLaurent Pinchart                };
86399d66127SLaurent Pinchart            };
86499d66127SLaurent Pinchart        };
86599d66127SLaurent Pinchart    };
86699d66127SLaurent Pinchart
86799d66127SLaurent Pinchart...
868