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,sm8250-venus.yaml (3481B)


      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,sm8250-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 IP is a video encode and decode accelerator present
     15  on Qualcomm platforms
     16
     17properties:
     18  compatible:
     19    const: qcom,sm8250-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: mx
     37
     38  clocks:
     39    maxItems: 3
     40
     41  clock-names:
     42    items:
     43      - const: iface
     44      - const: core
     45      - const: vcodec0_core
     46
     47  iommus:
     48    maxItems: 1
     49
     50  memory-region:
     51    maxItems: 1
     52
     53  interconnects:
     54    maxItems: 2
     55
     56  interconnect-names:
     57    items:
     58      - const: cpu-cfg
     59      - const: video-mem
     60
     61  resets:
     62    maxItems: 2
     63
     64  reset-names:
     65    items:
     66      - const: bus
     67      - const: core
     68
     69  video-decoder:
     70    type: object
     71
     72    properties:
     73      compatible:
     74        const: venus-decoder
     75
     76    required:
     77      - compatible
     78
     79    additionalProperties: false
     80
     81  video-encoder:
     82    type: object
     83
     84    properties:
     85      compatible:
     86        const: venus-encoder
     87
     88    required:
     89      - compatible
     90
     91    additionalProperties: false
     92
     93  video-firmware:
     94    type: object
     95
     96    description: |
     97      Firmware subnode is needed when the platform does not
     98      have TrustZone.
     99
    100    properties:
    101      iommus:
    102        maxItems: 1
    103
    104    required:
    105      - iommus
    106
    107required:
    108  - compatible
    109  - reg
    110  - interrupts
    111  - power-domains
    112  - power-domain-names
    113  - clocks
    114  - clock-names
    115  - interconnects
    116  - interconnect-names
    117  - iommus
    118  - memory-region
    119  - resets
    120  - reset-names
    121  - video-decoder
    122  - video-encoder
    123
    124additionalProperties: false
    125
    126examples:
    127  - |
    128        #include <dt-bindings/interrupt-controller/arm-gic.h>
    129        #include <dt-bindings/clock/qcom,videocc-sm8250.h>
    130        #include <dt-bindings/interconnect/qcom,sm8250.h>
    131        #include <dt-bindings/clock/qcom,gcc-sm8250.h>
    132        #include <dt-bindings/power/qcom-rpmpd.h>
    133
    134        venus: video-codec@aa00000 {
    135            compatible = "qcom,sm8250-venus";
    136            reg = <0x0aa00000 0xff000>;
    137            interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
    138            power-domains = <&videocc MVS0C_GDSC>,
    139                            <&videocc MVS0_GDSC>,
    140                            <&rpmhpd SM8250_MX>;
    141            power-domain-names = "venus", "vcodec0", "mx";
    142
    143            clocks = <&gcc GCC_VIDEO_AXI0_CLK>,
    144                     <&videocc VIDEO_CC_MVS0C_CLK>,
    145                     <&videocc VIDEO_CC_MVS0_CLK>;
    146            clock-names = "iface", "core", "vcodec0_core";
    147
    148            interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_VENUS_CFG>,
    149                            <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI_CH0>;
    150            interconnect-names = "cpu-cfg", "video-mem";
    151
    152            iommus = <&apps_smmu 0x2100 0x0400>;
    153            memory-region = <&video_mem>;
    154
    155            resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>,
    156                     <&videocc VIDEO_CC_MVS0C_CLK_ARES>;
    157            reset-names = "bus", "core";
    158
    159            video-decoder {
    160                compatible = "venus-decoder";
    161            };
    162
    163            video-encoder {
    164                compatible = "venus-encoder";
    165            };
    166        };