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,vin.yaml (10412B)


      1# SPDX-License-Identifier: GPL-2.0-only
      2# Copyright (C) 2020 Renesas Electronics Corp.
      3%YAML 1.2
      4---
      5$id: http://devicetree.org/schemas/media/renesas,vin.yaml#
      6$schema: http://devicetree.org/meta-schemas/core.yaml#
      7
      8title: Renesas R-Car Video Input (VIN)
      9
     10maintainers:
     11  - Niklas Söderlund <niklas.soderlund@ragnatech.se>
     12
     13description:
     14  The R-Car Video Input (VIN) device provides video input capabilities for the
     15  Renesas R-Car family of devices.
     16
     17  Each VIN instance has a single parallel input that supports RGB and YUV video,
     18  with both external synchronization and BT.656 synchronization for the latter.
     19  Depending on the instance the VIN input is connected to external SoC pins, or
     20  on Gen3 and RZ/G2 platforms to a CSI-2 receiver.
     21
     22properties:
     23  compatible:
     24    oneOf:
     25      - items:
     26          - enum:
     27              - renesas,vin-r8a7742  # RZ/G1H
     28              - renesas,vin-r8a7743  # RZ/G1M
     29              - renesas,vin-r8a7744  # RZ/G1N
     30              - renesas,vin-r8a7745  # RZ/G1E
     31              - renesas,vin-r8a77470 # RZ/G1C
     32              - renesas,vin-r8a7790  # R-Car H2
     33              - renesas,vin-r8a7791  # R-Car M2-W
     34              - renesas,vin-r8a7792  # R-Car V2H
     35              - renesas,vin-r8a7793  # R-Car M2-N
     36              - renesas,vin-r8a7794  # R-Car E2
     37          - const: renesas,rcar-gen2-vin # Generic R-Car Gen2 or RZ/G1
     38
     39      - items:
     40          - enum:
     41              - renesas,vin-r8a774a1 # RZ/G2M
     42              - renesas,vin-r8a774b1 # RZ/G2N
     43              - renesas,vin-r8a774c0 # RZ/G2E
     44              - renesas,vin-r8a774e1 # RZ/G2H
     45              - renesas,vin-r8a7778  # R-Car M1
     46              - renesas,vin-r8a7779  # R-Car H1
     47              - renesas,vin-r8a7795  # R-Car H3
     48              - renesas,vin-r8a7796  # R-Car M3-W
     49              - renesas,vin-r8a77961 # R-Car M3-W+
     50              - renesas,vin-r8a77965 # R-Car M3-N
     51              - renesas,vin-r8a77970 # R-Car V3M
     52              - renesas,vin-r8a77980 # R-Car V3H
     53              - renesas,vin-r8a77990 # R-Car E3
     54              - renesas,vin-r8a77995 # R-Car D3
     55              - renesas,vin-r8a779a0 # R-Car V3U
     56
     57  reg:
     58    maxItems: 1
     59
     60  interrupts:
     61    maxItems: 1
     62
     63  clocks:
     64    maxItems: 1
     65
     66  power-domains:
     67    maxItems: 1
     68
     69  resets:
     70    maxItems: 1
     71
     72  #The per-board settings for Gen2 and RZ/G1 platforms:
     73  port:
     74    $ref: /schemas/graph.yaml#/$defs/port-base
     75    unevaluatedProperties: false
     76    description:
     77      A node containing a parallel input
     78
     79    properties:
     80      endpoint:
     81        $ref: video-interfaces.yaml#
     82        unevaluatedProperties: false
     83
     84        properties:
     85          hsync-active:
     86            description:
     87              If both HSYNC and VSYNC polarities are not specified, embedded
     88              synchronization is selected.
     89            default: 1
     90
     91          vsync-active:
     92            description:
     93              If both HSYNC and VSYNC polarities are not specified, embedded
     94              synchronization is selected.
     95            default: 1
     96
     97          field-active-even: true
     98
     99          bus-width: true
    100
    101          data-shift: true
    102
    103          data-enable-active:
    104            description: Polarity of CLKENB signal
    105            default: 1
    106
    107          pclk-sample: true
    108
    109          data-active: true
    110
    111  #The per-board settings for Gen3 and RZ/G2 platforms:
    112  renesas,id:
    113    description: VIN channel number
    114    $ref: /schemas/types.yaml#/definitions/uint32
    115    minimum: 0
    116    maximum: 31
    117
    118  ports:
    119    $ref: /schemas/graph.yaml#/properties/ports
    120
    121    properties:
    122      port@0:
    123        $ref: /schemas/graph.yaml#/$defs/port-base
    124        unevaluatedProperties: false
    125        description:
    126          Input port node, single endpoint describing a parallel input source.
    127
    128        properties:
    129          endpoint:
    130            $ref: video-interfaces.yaml#
    131            unevaluatedProperties: false
    132
    133            properties:
    134              hsync-active:
    135                description:
    136                  If both HSYNC and VSYNC polarities are not specified, embedded
    137                  synchronization is selected.
    138                default: 1
    139
    140              vsync-active:
    141                description:
    142                  If both HSYNC and VSYNC polarities are not specified, embedded
    143                  synchronization is selected.
    144                default: 1
    145
    146              field-active-even: true
    147
    148              bus-width: true
    149
    150              data-shift: true
    151
    152              data-enable-active:
    153                description: Polarity of CLKENB signal
    154                default: 1
    155
    156              pclk-sample: true
    157
    158              data-active: true
    159
    160      port@1:
    161        $ref: /schemas/graph.yaml#/properties/port
    162        description:
    163          Input port node, multiple endpoints describing all the R-Car CSI-2
    164          modules connected the VIN.
    165
    166        properties:
    167          endpoint@0:
    168            $ref: /schemas/graph.yaml#/properties/endpoint
    169            description: Endpoint connected to CSI20.
    170
    171          endpoint@1:
    172            $ref: /schemas/graph.yaml#/properties/endpoint
    173            description: Endpoint connected to CSI21.
    174
    175          endpoint@2:
    176            $ref: /schemas/graph.yaml#/properties/endpoint
    177            description: Endpoint connected to CSI40.
    178
    179          endpoint@3:
    180            $ref: /schemas/graph.yaml#/properties/endpoint
    181            description: Endpoint connected to CSI41.
    182
    183        anyOf:
    184          - required:
    185              - endpoint@0
    186          - required:
    187              - endpoint@1
    188          - required:
    189              - endpoint@2
    190          - required:
    191              - endpoint@3
    192
    193      port@2:
    194        $ref: /schemas/graph.yaml#/properties/port
    195        description:
    196          Input port node, multiple endpoints describing all the R-Car ISP
    197          modules connected the VIN.
    198
    199        properties:
    200          endpoint@0:
    201            $ref: /schemas/graph.yaml#/properties/endpoint
    202            description: Endpoint connected to ISP0.
    203
    204          endpoint@1:
    205            $ref: /schemas/graph.yaml#/properties/endpoint
    206            description: Endpoint connected to ISP1.
    207
    208          endpoint@2:
    209            $ref: /schemas/graph.yaml#/properties/endpoint
    210            description: Endpoint connected to ISP2.
    211
    212          endpoint@3:
    213            $ref: /schemas/graph.yaml#/properties/endpoint
    214            description: Endpoint connected to ISP3.
    215
    216required:
    217  - compatible
    218  - reg
    219  - interrupts
    220  - clocks
    221  - power-domains
    222
    223allOf:
    224  - if:
    225      not:
    226        properties:
    227          compatible:
    228            contains:
    229              enum:
    230                - renesas,vin-r8a7778
    231                - renesas,vin-r8a7779
    232    then:
    233      required:
    234        - resets
    235
    236  - if:
    237      properties:
    238        compatible:
    239          contains:
    240            enum:
    241              - renesas,vin-r8a7778
    242              - renesas,vin-r8a7779
    243              - renesas,rcar-gen2-vin
    244    then:
    245      required:
    246        - port
    247    else:
    248      required:
    249        - renesas,id
    250        - ports
    251
    252additionalProperties: false
    253
    254examples:
    255  # Device node example for Gen2 platform
    256  - |
    257    #include <dt-bindings/clock/r8a7790-cpg-mssr.h>
    258    #include <dt-bindings/interrupt-controller/arm-gic.h>
    259    #include <dt-bindings/power/r8a7790-sysc.h>
    260
    261    vin1: vin@e6ef1000 {
    262            compatible = "renesas,vin-r8a7790",
    263                         "renesas,rcar-gen2-vin";
    264            reg = <0xe6ef1000 0x1000>;
    265            interrupts = <GIC_SPI 189 IRQ_TYPE_LEVEL_HIGH>;
    266            clocks = <&cpg CPG_MOD 810>;
    267            power-domains = <&sysc R8A7790_PD_ALWAYS_ON>;
    268            resets = <&cpg 810>;
    269
    270            port {
    271                    vin1ep0: endpoint {
    272                            remote-endpoint = <&adv7180>;
    273                            bus-width = <8>;
    274                    };
    275            };
    276    };
    277
    278  # Device node example for Gen3 platform with only CSI-2
    279  - |
    280    #include <dt-bindings/clock/r8a7795-cpg-mssr.h>
    281    #include <dt-bindings/interrupt-controller/arm-gic.h>
    282    #include <dt-bindings/power/r8a7795-sysc.h>
    283
    284    vin0: video@e6ef0000 {
    285            compatible = "renesas,vin-r8a7795";
    286            reg = <0xe6ef0000 0x1000>;
    287            interrupts = <GIC_SPI 188 IRQ_TYPE_LEVEL_HIGH>;
    288            clocks = <&cpg CPG_MOD 811>;
    289            power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
    290            resets = <&cpg 811>;
    291            renesas,id = <0>;
    292
    293            ports {
    294                    #address-cells = <1>;
    295                    #size-cells = <0>;
    296
    297                    port@1 {
    298                            #address-cells = <1>;
    299                            #size-cells = <0>;
    300
    301                            reg = <1>;
    302
    303                            vin0csi20: endpoint@0 {
    304                                    reg = <0>;
    305                                    remote-endpoint= <&csi20vin0>;
    306                            };
    307                            vin0csi40: endpoint@2 {
    308                                    reg = <2>;
    309                                    remote-endpoint= <&csi40vin0>;
    310                            };
    311                    };
    312            };
    313    };
    314
    315  # Device node example for Gen3 platform with CSI-2 and parallel
    316  - |
    317    #include <dt-bindings/clock/r8a77970-cpg-mssr.h>
    318    #include <dt-bindings/interrupt-controller/arm-gic.h>
    319    #include <dt-bindings/power/r8a77970-sysc.h>
    320
    321    vin2: video@e6ef2000 {
    322            compatible = "renesas,vin-r8a77970";
    323            reg = <0xe6ef2000 0x1000>;
    324            interrupts = <GIC_SPI 190 IRQ_TYPE_LEVEL_HIGH>;
    325            clocks = <&cpg CPG_MOD 809>;
    326            power-domains = <&sysc R8A77970_PD_ALWAYS_ON>;
    327            resets = <&cpg 809>;
    328            renesas,id = <2>;
    329
    330            ports {
    331                    #address-cells = <1>;
    332                    #size-cells = <0>;
    333
    334                    port@0 {
    335                            reg = <0>;
    336
    337                            vin2_in: endpoint {
    338                                    remote-endpoint = <&adv7612_out>;
    339                                    hsync-active = <0>;
    340                                    vsync-active = <0>;
    341                            };
    342                    };
    343
    344                    port@1 {
    345                            #address-cells = <1>;
    346                            #size-cells = <0>;
    347
    348                            reg = <1>;
    349
    350                            vin2csi40: endpoint@2 {
    351                                    reg = <2>;
    352                                    remote-endpoint = <&csi40vin2>;
    353                            };
    354                    };
    355            };
    356    };