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,sdm845-venus-v2.yaml (3311B)


      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,sdm845-venus-v2.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 IP is a video encode and decode accelerator present
     15  on Qualcomm platforms
     16
     17properties:
     18  compatible:
     19    const: qcom,sdm845-venus-v2
     20
     21  reg:
     22    maxItems: 1
     23
     24  interrupts:
     25    maxItems: 1
     26
     27  power-domains:
     28    minItems: 3
     29    maxItems: 4
     30
     31  power-domain-names:
     32    minItems: 3
     33    items:
     34      - const: venus
     35      - const: vcodec0
     36      - const: vcodec1
     37      - const: cx
     38
     39  clocks:
     40    maxItems: 7
     41
     42  clock-names:
     43    items:
     44      - const: core
     45      - const: iface
     46      - const: bus
     47      - const: vcodec0_core
     48      - const: vcodec0_bus
     49      - const: vcodec1_core
     50      - const: vcodec1_bus
     51
     52  iommus:
     53    maxItems: 2
     54
     55  memory-region:
     56    maxItems: 1
     57
     58  video-core0:
     59    type: object
     60
     61    properties:
     62      compatible:
     63        const: venus-decoder
     64
     65    required:
     66      - compatible
     67
     68    additionalProperties: false
     69
     70  video-core1:
     71    type: object
     72
     73    properties:
     74      compatible:
     75        const: venus-encoder
     76
     77    required:
     78      - compatible
     79
     80    additionalProperties: false
     81
     82  video-firmware:
     83    type: object
     84
     85    description: |
     86      Firmware subnode is needed when the platform does not
     87      have TrustZone.
     88
     89    properties:
     90      iommus:
     91        maxItems: 1
     92
     93    required:
     94      - iommus
     95
     96required:
     97  - compatible
     98  - reg
     99  - interrupts
    100  - power-domains
    101  - power-domain-names
    102  - clocks
    103  - clock-names
    104  - iommus
    105  - memory-region
    106  - video-core0
    107  - video-core1
    108
    109additionalProperties: false
    110
    111examples:
    112  - |
    113        #include <dt-bindings/interrupt-controller/arm-gic.h>
    114        #include <dt-bindings/clock/qcom,videocc-sdm845.h>
    115
    116        video-codec@aa00000 {
    117                compatible = "qcom,sdm845-venus-v2";
    118                reg = <0x0aa00000 0xff000>;
    119                interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
    120                clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
    121                         <&videocc VIDEO_CC_VENUS_AHB_CLK>,
    122                         <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>,
    123                         <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
    124                         <&videocc VIDEO_CC_VCODEC0_AXI_CLK>,
    125                         <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
    126                         <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
    127                clock-names = "core", "iface", "bus",
    128                              "vcodec0_core", "vcodec0_bus",
    129                              "vcodec1_core", "vcodec1_bus";
    130                power-domains = <&videocc VENUS_GDSC>,
    131                                <&videocc VCODEC0_GDSC>,
    132                                <&videocc VCODEC1_GDSC>;
    133                power-domain-names = "venus", "vcodec0", "vcodec1";
    134                iommus = <&apps_smmu 0x10a0 0x8>,
    135                         <&apps_smmu 0x10b0 0x0>;
    136                memory-region = <&venus_mem>;
    137
    138                video-core0 {
    139                        compatible = "venus-decoder";
    140                };
    141
    142                video-core1 {
    143                        compatible = "venus-encoder";
    144                };
    145        };