cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

renesas,du.yaml (20223B)


      1# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
      2%YAML 1.2
      3---
      4$id: http://devicetree.org/schemas/display/renesas,du.yaml#
      5$schema: http://devicetree.org/meta-schemas/core.yaml#
      6
      7title: Renesas R-Car Display Unit (DU)
      8
      9maintainers:
     10  - Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>
     11
     12description: |
     13  These DT bindings describe the Display Unit embedded in the Renesas R-Car
     14  Gen1, R-Car Gen2, R-Car Gen3, RZ/G1 and RZ/G2 SoCs.
     15
     16properties:
     17  compatible:
     18    enum:
     19      - renesas,du-r8a7742 # for RZ/G1H compatible DU
     20      - renesas,du-r8a7743 # for RZ/G1M compatible DU
     21      - renesas,du-r8a7744 # for RZ/G1N compatible DU
     22      - renesas,du-r8a7745 # for RZ/G1E compatible DU
     23      - renesas,du-r8a77470 # for RZ/G1C compatible DU
     24      - renesas,du-r8a774a1 # for RZ/G2M compatible DU
     25      - renesas,du-r8a774b1 # for RZ/G2N compatible DU
     26      - renesas,du-r8a774c0 # for RZ/G2E compatible DU
     27      - renesas,du-r8a774e1 # for RZ/G2H compatible DU
     28      - renesas,du-r8a7779 # for R-Car H1 compatible DU
     29      - renesas,du-r8a7790 # for R-Car H2 compatible DU
     30      - renesas,du-r8a7791 # for R-Car M2-W compatible DU
     31      - renesas,du-r8a7792 # for R-Car V2H compatible DU
     32      - renesas,du-r8a7793 # for R-Car M2-N compatible DU
     33      - renesas,du-r8a7794 # for R-Car E2 compatible DU
     34      - renesas,du-r8a7795 # for R-Car H3 compatible DU
     35      - renesas,du-r8a7796 # for R-Car M3-W compatible DU
     36      - renesas,du-r8a77961 # for R-Car M3-W+ compatible DU
     37      - renesas,du-r8a77965 # for R-Car M3-N compatible DU
     38      - renesas,du-r8a77970 # for R-Car V3M compatible DU
     39      - renesas,du-r8a77980 # for R-Car V3H compatible DU
     40      - renesas,du-r8a77990 # for R-Car E3 compatible DU
     41      - renesas,du-r8a77995 # for R-Car D3 compatible DU
     42      - renesas,du-r8a779a0 # for R-Car V3U compatible DU
     43
     44  reg:
     45    maxItems: 1
     46
     47  # See compatible-specific constraints below.
     48  clocks: true
     49  clock-names: true
     50  interrupts:
     51    description: Interrupt specifiers, one per DU channel
     52  resets: true
     53  reset-names: true
     54
     55  power-domains:
     56    maxItems: 1
     57
     58  ports:
     59    $ref: /schemas/graph.yaml#/properties/ports
     60    description: |
     61      The connections to the DU output video ports are modeled using the OF
     62      graph bindings specified in Documentation/devicetree/bindings/graph.txt.
     63      The number of ports and their assignment are model-dependent. Each port
     64      shall have a single endpoint.
     65
     66    patternProperties:
     67      "^port@[0-3]$":
     68        $ref: /schemas/graph.yaml#/properties/port
     69        unevaluatedProperties: false
     70
     71    required:
     72      - port@0
     73      - port@1
     74
     75    unevaluatedProperties: false
     76
     77  renesas,cmms:
     78    $ref: "/schemas/types.yaml#/definitions/phandle-array"
     79    items:
     80      maxItems: 1
     81    description:
     82      A list of phandles to the CMM instances present in the SoC, one for each
     83      available DU channel.
     84
     85  renesas,vsps:
     86    $ref: "/schemas/types.yaml#/definitions/phandle-array"
     87    items:
     88      items:
     89        - description: phandle to VSP instance that serves the DU channel
     90        - description: Channel index identifying the LIF instance in that VSP
     91    description:
     92      A list of phandle and channel index tuples to the VSPs that handle the
     93      memory interfaces for the DU channels.
     94
     95required:
     96  - compatible
     97  - reg
     98  - clocks
     99  - interrupts
    100  - ports
    101
    102allOf:
    103  - if:
    104      properties:
    105        compatible:
    106          contains:
    107            const: renesas,du-r8a7779
    108    then:
    109      properties:
    110        clocks:
    111          minItems: 1
    112          items:
    113            - description: Functional clock
    114            - description: DU_DOTCLKIN0 input clock
    115            - description: DU_DOTCLKIN1 input clock
    116
    117        clock-names:
    118          minItems: 1
    119          items:
    120            - const: du.0
    121            - pattern: '^dclkin\.[01]$'
    122            - pattern: '^dclkin\.[01]$'
    123
    124        interrupts:
    125          maxItems: 1
    126
    127        resets:
    128          maxItems: 1
    129
    130        ports:
    131          properties:
    132            port@0:
    133              description: DPAD 0
    134            port@1:
    135              description: DPAD 1
    136            # port@2 is TCON, not supported yet
    137            port@2: false
    138            port@3: false
    139
    140          required:
    141            - port@0
    142            - port@1
    143
    144      required:
    145        - interrupts
    146
    147  - if:
    148      properties:
    149        compatible:
    150          contains:
    151            enum:
    152              - renesas,du-r8a7743
    153              - renesas,du-r8a7744
    154              - renesas,du-r8a7791
    155              - renesas,du-r8a7793
    156    then:
    157      properties:
    158        clocks:
    159          minItems: 2
    160          items:
    161            - description: Functional clock for DU0
    162            - description: Functional clock for DU1
    163            - description: DU_DOTCLKIN0 input clock
    164            - description: DU_DOTCLKIN1 input clock
    165
    166        clock-names:
    167          minItems: 2
    168          items:
    169            - const: du.0
    170            - const: du.1
    171            - pattern: '^dclkin\.[01]$'
    172            - pattern: '^dclkin\.[01]$'
    173
    174        interrupts:
    175          maxItems: 2
    176
    177        resets:
    178          maxItems: 1
    179
    180        reset-names:
    181          items:
    182            - const: du.0
    183
    184        ports:
    185          properties:
    186            port@0:
    187              description: DPAD 0
    188            port@1:
    189              description: LVDS 0
    190            # port@2 is TCON, not supported yet
    191            port@2: false
    192            port@3: false
    193
    194          required:
    195            - port@0
    196            - port@1
    197
    198      required:
    199        - clock-names
    200        - interrupts
    201        - resets
    202        - reset-names
    203
    204  - if:
    205      properties:
    206        compatible:
    207          contains:
    208            enum:
    209              - renesas,du-r8a7745
    210              - renesas,du-r8a7792
    211    then:
    212      properties:
    213        clocks:
    214          minItems: 2
    215          items:
    216            - description: Functional clock for DU0
    217            - description: Functional clock for DU1
    218            - description: DU_DOTCLKIN0 input clock
    219            - description: DU_DOTCLKIN1 input clock
    220
    221        clock-names:
    222          minItems: 2
    223          items:
    224            - const: du.0
    225            - const: du.1
    226            - pattern: '^dclkin\.[01]$'
    227            - pattern: '^dclkin\.[01]$'
    228
    229        interrupts:
    230          maxItems: 2
    231
    232        resets:
    233          maxItems: 1
    234
    235        reset-names:
    236          items:
    237            - const: du.0
    238
    239        ports:
    240          properties:
    241            port@0:
    242              description: DPAD 0
    243            port@1:
    244              description: DPAD 1
    245            port@2: false
    246            port@3: false
    247
    248          required:
    249            - port@0
    250            - port@1
    251
    252      required:
    253        - clock-names
    254        - interrupts
    255        - resets
    256        - reset-names
    257
    258  - if:
    259      properties:
    260        compatible:
    261          contains:
    262            enum:
    263              - renesas,du-r8a7794
    264    then:
    265      properties:
    266        clocks:
    267          minItems: 2
    268          items:
    269            - description: Functional clock for DU0
    270            - description: Functional clock for DU1
    271            - description: DU_DOTCLKIN0 input clock
    272            - description: DU_DOTCLKIN1 input clock
    273
    274        clock-names:
    275          minItems: 2
    276          items:
    277            - const: du.0
    278            - const: du.1
    279            - pattern: '^dclkin\.[01]$'
    280            - pattern: '^dclkin\.[01]$'
    281
    282        interrupts:
    283          maxItems: 2
    284
    285        resets:
    286          maxItems: 1
    287
    288        reset-names:
    289          items:
    290            - const: du.0
    291
    292        ports:
    293          properties:
    294            port@0:
    295              description: DPAD 0
    296            port@1:
    297              description: DPAD 1
    298            # port@2 is TCON, not supported yet
    299            port@2: false
    300            port@3: false
    301
    302          required:
    303            - port@0
    304            - port@1
    305
    306      required:
    307        - clock-names
    308        - interrupts
    309        - resets
    310        - reset-names
    311
    312  - if:
    313      properties:
    314        compatible:
    315          contains:
    316            enum:
    317              - renesas,du-r8a77470
    318    then:
    319      properties:
    320        clocks:
    321          minItems: 2
    322          items:
    323            - description: Functional clock for DU0
    324            - description: Functional clock for DU1
    325            - description: DU_DOTCLKIN0 input clock
    326            - description: DU_DOTCLKIN1 input clock
    327
    328        clock-names:
    329          minItems: 2
    330          items:
    331            - const: du.0
    332            - const: du.1
    333            - pattern: '^dclkin\.[01]$'
    334            - pattern: '^dclkin\.[01]$'
    335
    336        interrupts:
    337          maxItems: 2
    338
    339        resets:
    340          maxItems: 1
    341
    342        reset-names:
    343          items:
    344            - const: du.0
    345
    346        ports:
    347          properties:
    348            port@0:
    349              description: DPAD 0
    350            port@1:
    351              description: DPAD 1
    352            port@2:
    353              description: LVDS 0
    354            # port@3 is DVENC, not supported yet
    355            port@3: false
    356
    357          required:
    358            - port@0
    359            - port@1
    360            - port@2
    361
    362      required:
    363        - clock-names
    364        - interrupts
    365        - resets
    366        - reset-names
    367
    368  - if:
    369      properties:
    370        compatible:
    371          contains:
    372            enum:
    373              - renesas,du-r8a7742
    374              - renesas,du-r8a7790
    375    then:
    376      properties:
    377        clocks:
    378          minItems: 3
    379          items:
    380            - description: Functional clock for DU0
    381            - description: Functional clock for DU1
    382            - description: Functional clock for DU2
    383            - description: DU_DOTCLKIN0 input clock
    384            - description: DU_DOTCLKIN1 input clock
    385            - description: DU_DOTCLKIN2 input clock
    386
    387        clock-names:
    388          minItems: 3
    389          items:
    390            - const: du.0
    391            - const: du.1
    392            - const: du.2
    393            - pattern: '^dclkin\.[012]$'
    394            - pattern: '^dclkin\.[012]$'
    395            - pattern: '^dclkin\.[012]$'
    396
    397        interrupts:
    398          maxItems: 3
    399
    400        resets:
    401          maxItems: 1
    402
    403        reset-names:
    404          items:
    405            - const: du.0
    406
    407        ports:
    408          properties:
    409            port@0:
    410              description: DPAD 0
    411            port@1:
    412              description: LVDS 0
    413            port@2:
    414              description: LVDS 1
    415            # port@3 is TCON, not supported yet
    416            port@3: false
    417
    418          required:
    419            - port@0
    420            - port@1
    421            - port@2
    422
    423      required:
    424        - clock-names
    425        - interrupts
    426        - resets
    427        - reset-names
    428
    429  - if:
    430      properties:
    431        compatible:
    432          contains:
    433            enum:
    434              - renesas,du-r8a7795
    435    then:
    436      properties:
    437        clocks:
    438          minItems: 4
    439          items:
    440            - description: Functional clock for DU0
    441            - description: Functional clock for DU1
    442            - description: Functional clock for DU2
    443            - description: Functional clock for DU4
    444            - description: DU_DOTCLKIN0 input clock
    445            - description: DU_DOTCLKIN1 input clock
    446            - description: DU_DOTCLKIN2 input clock
    447            - description: DU_DOTCLKIN3 input clock
    448
    449        clock-names:
    450          minItems: 4
    451          items:
    452            - const: du.0
    453            - const: du.1
    454            - const: du.2
    455            - const: du.3
    456            - pattern: '^dclkin\.[0123]$'
    457            - pattern: '^dclkin\.[0123]$'
    458            - pattern: '^dclkin\.[0123]$'
    459            - pattern: '^dclkin\.[0123]$'
    460
    461        interrupts:
    462          maxItems: 4
    463
    464        resets:
    465          maxItems: 2
    466
    467        reset-names:
    468          items:
    469            - const: du.0
    470            - const: du.2
    471
    472        ports:
    473          properties:
    474            port@0:
    475              description: DPAD 0
    476            port@1:
    477              description: HDMI 0
    478            port@2:
    479              description: HDMI 1
    480            port@3:
    481              description: LVDS 0
    482
    483          required:
    484            - port@0
    485            - port@1
    486            - port@2
    487            - port@3
    488
    489        renesas,cmms:
    490          minItems: 4
    491
    492        renesas,vsps:
    493          minItems: 4
    494
    495      required:
    496        - clock-names
    497        - interrupts
    498        - resets
    499        - reset-names
    500        - renesas,vsps
    501
    502  - if:
    503      properties:
    504        compatible:
    505          contains:
    506            enum:
    507              - renesas,du-r8a774a1
    508              - renesas,du-r8a7796
    509              - renesas,du-r8a77961
    510    then:
    511      properties:
    512        clocks:
    513          minItems: 3
    514          items:
    515            - description: Functional clock for DU0
    516            - description: Functional clock for DU1
    517            - description: Functional clock for DU2
    518            - description: DU_DOTCLKIN0 input clock
    519            - description: DU_DOTCLKIN1 input clock
    520            - description: DU_DOTCLKIN2 input clock
    521
    522        clock-names:
    523          minItems: 3
    524          items:
    525            - const: du.0
    526            - const: du.1
    527            - const: du.2
    528            - pattern: '^dclkin\.[012]$'
    529            - pattern: '^dclkin\.[012]$'
    530            - pattern: '^dclkin\.[012]$'
    531
    532        interrupts:
    533          maxItems: 3
    534
    535        resets:
    536          maxItems: 2
    537
    538        reset-names:
    539          items:
    540            - const: du.0
    541            - const: du.2
    542
    543        ports:
    544          properties:
    545            port@0:
    546              description: DPAD 0
    547            port@1:
    548              description: HDMI 0
    549            port@2:
    550              description: LVDS 0
    551            port@3: false
    552
    553          required:
    554            - port@0
    555            - port@1
    556            - port@2
    557
    558        renesas,cmms:
    559          minItems: 3
    560
    561        renesas,vsps:
    562          minItems: 3
    563
    564      required:
    565        - clock-names
    566        - interrupts
    567        - resets
    568        - reset-names
    569        - renesas,vsps
    570
    571  - if:
    572      properties:
    573        compatible:
    574          contains:
    575            enum:
    576              - renesas,du-r8a774b1
    577              - renesas,du-r8a774e1
    578              - renesas,du-r8a77965
    579    then:
    580      properties:
    581        clocks:
    582          minItems: 3
    583          items:
    584            - description: Functional clock for DU0
    585            - description: Functional clock for DU1
    586            - description: Functional clock for DU3
    587            - description: DU_DOTCLKIN0 input clock
    588            - description: DU_DOTCLKIN1 input clock
    589            - description: DU_DOTCLKIN3 input clock
    590
    591        clock-names:
    592          minItems: 3
    593          items:
    594            - const: du.0
    595            - const: du.1
    596            - const: du.3
    597            - pattern: '^dclkin\.[013]$'
    598            - pattern: '^dclkin\.[013]$'
    599            - pattern: '^dclkin\.[013]$'
    600
    601        interrupts:
    602          maxItems: 3
    603
    604        resets:
    605          maxItems: 2
    606
    607        reset-names:
    608          items:
    609            - const: du.0
    610            - const: du.3
    611
    612        ports:
    613          properties:
    614            port@0:
    615              description: DPAD 0
    616            port@1:
    617              description: HDMI 0
    618            port@2:
    619              description: LVDS 0
    620            port@3: false
    621
    622          required:
    623            - port@0
    624            - port@1
    625            - port@2
    626
    627        renesas,cmms:
    628          minItems: 3
    629
    630        renesas,vsps:
    631          minItems: 3
    632
    633      required:
    634        - clock-names
    635        - interrupts
    636        - resets
    637        - reset-names
    638        - renesas,vsps
    639
    640  - if:
    641      properties:
    642        compatible:
    643          contains:
    644            enum:
    645              - renesas,du-r8a77970
    646              - renesas,du-r8a77980
    647    then:
    648      properties:
    649        clocks:
    650          minItems: 1
    651          items:
    652            - description: Functional clock for DU0
    653            - description: DU_DOTCLKIN0 input clock
    654
    655        clock-names:
    656          minItems: 1
    657          items:
    658            - const: du.0
    659            - const: dclkin.0
    660
    661        interrupts:
    662          maxItems: 1
    663
    664        resets:
    665          maxItems: 1
    666
    667        reset-names:
    668          items:
    669            - const: du.0
    670
    671        ports:
    672          properties:
    673            port@0:
    674              description: DPAD 0
    675            port@1:
    676              description: LVDS 0
    677            port@2: false
    678            port@3: false
    679
    680          required:
    681            - port@0
    682            - port@1
    683
    684        renesas,vsps:
    685          minItems: 1
    686
    687      required:
    688        - clock-names
    689        - interrupts
    690        - resets
    691        - reset-names
    692        - renesas,vsps
    693
    694  - if:
    695      properties:
    696        compatible:
    697          contains:
    698            enum:
    699              - renesas,du-r8a774c0
    700              - renesas,du-r8a77990
    701              - renesas,du-r8a77995
    702    then:
    703      properties:
    704        clocks:
    705          minItems: 2
    706          items:
    707            - description: Functional clock for DU0
    708            - description: Functional clock for DU1
    709            - description: DU_DOTCLKIN0 input clock
    710            - description: DU_DOTCLKIN1 input clock
    711
    712        clock-names:
    713          minItems: 2
    714          items:
    715            - const: du.0
    716            - const: du.1
    717            - pattern: '^dclkin\.[01]$'
    718            - pattern: '^dclkin\.[01]$'
    719
    720        interrupts:
    721          maxItems: 2
    722
    723        resets:
    724          maxItems: 1
    725
    726        reset-names:
    727          items:
    728            - const: du.0
    729
    730        ports:
    731          properties:
    732            port@0:
    733              description: DPAD 0
    734            port@1:
    735              description: LVDS 0
    736            port@2:
    737              description: LVDS 1
    738            # port@3 is TCON, not supported yet
    739            port@3: false
    740
    741          required:
    742            - port@0
    743            - port@1
    744            - port@2
    745
    746        renesas,cmms:
    747          minItems: 2
    748
    749        renesas,vsps:
    750          minItems: 2
    751
    752      required:
    753        - clock-names
    754        - interrupts
    755        - resets
    756        - reset-names
    757        - renesas,vsps
    758
    759  - if:
    760      properties:
    761        compatible:
    762          contains:
    763            enum:
    764              - renesas,du-r8a779a0
    765    then:
    766      properties:
    767        clocks:
    768          items:
    769            - description: Functional clock
    770
    771        clock-names:
    772          items:
    773            - const: du.0
    774
    775        interrupts:
    776          maxItems: 2
    777
    778        resets:
    779          maxItems: 1
    780
    781        reset-names:
    782          items:
    783            - const: du.0
    784
    785        ports:
    786          properties:
    787            port@0:
    788              description: DSI 0
    789            port@1:
    790              description: DSI 1
    791            port@2: false
    792            port@3: false
    793
    794          required:
    795            - port@0
    796            - port@1
    797
    798        renesas,vsps:
    799          minItems: 2
    800
    801      required:
    802        - clock-names
    803        - interrupts
    804        - resets
    805        - reset-names
    806        - renesas,vsps
    807
    808additionalProperties: false
    809
    810examples:
    811  # R-Car H3 ES2.0 DU
    812  - |
    813    #include <dt-bindings/clock/renesas-cpg-mssr.h>
    814    #include <dt-bindings/interrupt-controller/arm-gic.h>
    815
    816    display@feb00000 {
    817        compatible = "renesas,du-r8a7795";
    818        reg = <0xfeb00000 0x80000>;
    819        interrupts = <GIC_SPI 256 IRQ_TYPE_LEVEL_HIGH>,
    820                     <GIC_SPI 268 IRQ_TYPE_LEVEL_HIGH>,
    821                     <GIC_SPI 269 IRQ_TYPE_LEVEL_HIGH>,
    822                     <GIC_SPI 270 IRQ_TYPE_LEVEL_HIGH>;
    823        clocks = <&cpg CPG_MOD 724>,
    824                 <&cpg CPG_MOD 723>,
    825                 <&cpg CPG_MOD 722>,
    826                 <&cpg CPG_MOD 721>;
    827        clock-names = "du.0", "du.1", "du.2", "du.3";
    828        resets = <&cpg 724>, <&cpg 722>;
    829        reset-names = "du.0", "du.2";
    830
    831        renesas,cmms = <&cmm0>, <&cmm1>, <&cmm2>, <&cmm3>;
    832        renesas,vsps = <&vspd0 0>, <&vspd1 0>, <&vspd2 0>, <&vspd0 1>;
    833
    834        ports {
    835            #address-cells = <1>;
    836            #size-cells = <0>;
    837
    838            port@0 {
    839                reg = <0>;
    840                endpoint {
    841                    remote-endpoint = <&adv7123_in>;
    842                };
    843            };
    844            port@1 {
    845                reg = <1>;
    846                endpoint {
    847                    remote-endpoint = <&dw_hdmi0_in>;
    848                };
    849            };
    850            port@2 {
    851                reg = <2>;
    852                endpoint {
    853                    remote-endpoint = <&dw_hdmi1_in>;
    854                };
    855            };
    856            port@3 {
    857                reg = <3>;
    858                endpoint {
    859                    remote-endpoint = <&lvds0_in>;
    860                };
    861            };
    862        };
    863    };
    864
    865...