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

qcom,sc7280-venus.yaml (3611B)


      1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
      2
      3%YAML 1.2
      4---
      5$id: "http://devicetree.org/schemas/media/qcom,sc7280-venus.yaml#"
      6$schema: "http://devicetree.org/meta-schemas/core.yaml#"
      7
      8title: Qualcomm Venus video encode and decode accelerators
      9
     10maintainers:
     11  - Stanimir Varbanov <stanimir.varbanov@linaro.org>
     12
     13description: |
     14  The Venus Iris2 IP is a video encode and decode accelerator present
     15  on Qualcomm platforms
     16
     17properties:
     18  compatible:
     19    const: qcom,sc7280-venus
     20
     21  reg:
     22    maxItems: 1
     23
     24  interrupts:
     25    maxItems: 1
     26
     27  power-domains:
     28    minItems: 2
     29    maxItems: 3
     30
     31  power-domain-names:
     32    minItems: 2
     33    items:
     34      - const: venus
     35      - const: vcodec0
     36      - const: cx
     37
     38  clocks:
     39    maxItems: 5
     40
     41  clock-names:
     42    items:
     43      - const: core
     44      - const: bus
     45      - const: iface
     46      - const: vcodec_core
     47      - const: vcodec_bus
     48
     49  iommus:
     50    maxItems: 2
     51
     52  memory-region:
     53    maxItems: 1
     54
     55  interconnects:
     56    maxItems: 2
     57
     58  interconnect-names:
     59    items:
     60      - const: cpu-cfg
     61      - const: video-mem
     62
     63  video-decoder:
     64    type: object
     65
     66    properties:
     67      compatible:
     68        const: venus-decoder
     69
     70    required:
     71      - compatible
     72
     73    additionalProperties: false
     74
     75  video-encoder:
     76    type: object
     77
     78    properties:
     79      compatible:
     80        const: venus-encoder
     81
     82    required:
     83      - compatible
     84
     85    additionalProperties: false
     86
     87  video-firmware:
     88    type: object
     89
     90    description: |
     91      Firmware subnode is needed when the platform does not
     92      have TrustZone.
     93
     94    properties:
     95      iommus:
     96        maxItems: 1
     97
     98    required:
     99      - iommus
    100
    101required:
    102  - compatible
    103  - reg
    104  - interrupts
    105  - power-domains
    106  - power-domain-names
    107  - clocks
    108  - clock-names
    109  - iommus
    110  - memory-region
    111  - video-decoder
    112  - video-encoder
    113
    114additionalProperties: false
    115
    116examples:
    117  - |
    118        #include <dt-bindings/interrupt-controller/arm-gic.h>
    119        #include <dt-bindings/clock/qcom,videocc-sc7280.h>
    120        #include <dt-bindings/interconnect/qcom,sc7280.h>
    121        #include <dt-bindings/power/qcom-rpmpd.h>
    122
    123        venus: video-codec@aa00000 {
    124                compatible = "qcom,sc7280-venus";
    125                reg = <0x0aa00000 0xd0600>;
    126                interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
    127
    128                clocks = <&videocc VIDEO_CC_MVSC_CORE_CLK>,
    129                         <&videocc VIDEO_CC_MVSC_CTL_AXI_CLK>,
    130                         <&videocc VIDEO_CC_VENUS_AHB_CLK>,
    131                         <&videocc VIDEO_CC_MVS0_CORE_CLK>,
    132                         <&videocc VIDEO_CC_MVS0_AXI_CLK>;
    133                clock-names = "core", "bus", "iface",
    134                              "vcodec_core", "vcodec_bus";
    135
    136                power-domains = <&videocc MVSC_GDSC>,
    137                                <&videocc MVS0_GDSC>,
    138                                <&rpmhpd SC7280_CX>;
    139                power-domain-names = "venus", "vcodec0", "cx";
    140
    141                interconnects = <&gem_noc MASTER_APPSS_PROC 0 &cnoc2 SLAVE_VENUS_CFG 0>,
    142                                <&mmss_noc MASTER_VIDEO_P0 0 &mc_virt SLAVE_EBI1 0>;
    143                interconnect-names = "cpu-cfg", "video-mem";
    144
    145                iommus = <&apps_smmu 0x2180 0x20>,
    146                         <&apps_smmu 0x2184 0x20>;
    147
    148                memory-region = <&video_mem>;
    149
    150                video-decoder {
    151                        compatible = "venus-decoder";
    152                };
    153
    154                video-encoder {
    155                        compatible = "venus-encoder";
    156                };
    157
    158                video-firmware {
    159                        iommus = <&apps_smmu 0x21a2 0x0>;
    160                };
    161        };