brintos

brintos / linux-shallow public Read only

0
0
Text · 3.0 KiB · f66033a Raw
144 lines · yaml
1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)2%YAML 1.23---4$id: http://devicetree.org/schemas/media/qcom,sm8250-venus.yaml#5$schema: http://devicetree.org/meta-schemas/core.yaml#6 7title: Qualcomm SM8250 Venus video encode and decode accelerators8 9maintainers:10  - Stanimir Varbanov <stanimir.varbanov@linaro.org>11 12description: |13  The Venus IP is a video encode and decode accelerator present14  on Qualcomm platforms15 16allOf:17  - $ref: qcom,venus-common.yaml#18 19properties:20  compatible:21    const: qcom,sm8250-venus22 23  power-domains:24    minItems: 225    maxItems: 326 27  power-domain-names:28    minItems: 229    items:30      - const: venus31      - const: vcodec032      - const: mx33 34  clocks:35    maxItems: 336 37  clock-names:38    items:39      - const: iface40      - const: core41      - const: vcodec0_core42 43  iommus:44    maxItems: 145 46  interconnects:47    maxItems: 248 49  interconnect-names:50    items:51      - const: cpu-cfg52      - const: video-mem53 54  operating-points-v2: true55  opp-table:56    type: object57 58  resets:59    maxItems: 260 61  reset-names:62    items:63      - const: bus64      - const: core65 66  video-decoder:67    type: object68 69    properties:70      compatible:71        const: venus-decoder72 73    required:74      - compatible75 76    additionalProperties: false77 78  video-encoder:79    type: object80 81    properties:82      compatible:83        const: venus-encoder84 85    required:86      - compatible87 88    additionalProperties: false89 90required:91  - compatible92  - power-domain-names93  - interconnects94  - interconnect-names95  - iommus96  - resets97  - reset-names98  - video-decoder99  - video-encoder100 101unevaluatedProperties: false102 103examples:104  - |105    #include <dt-bindings/interrupt-controller/arm-gic.h>106    #include <dt-bindings/clock/qcom,videocc-sm8250.h>107    #include <dt-bindings/interconnect/qcom,sm8250.h>108    #include <dt-bindings/clock/qcom,gcc-sm8250.h>109    #include <dt-bindings/power/qcom,rpmhpd.h>110 111    venus: video-codec@aa00000 {112        compatible = "qcom,sm8250-venus";113        reg = <0x0aa00000 0xff000>;114        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;115        power-domains = <&videocc MVS0C_GDSC>,116                        <&videocc MVS0_GDSC>,117                        <&rpmhpd RPMHPD_MX>;118        power-domain-names = "venus", "vcodec0", "mx";119 120        clocks = <&gcc GCC_VIDEO_AXI0_CLK>,121                 <&videocc VIDEO_CC_MVS0C_CLK>,122                 <&videocc VIDEO_CC_MVS0_CLK>;123        clock-names = "iface", "core", "vcodec0_core";124 125        interconnects = <&gem_noc MASTER_AMPSS_M0 &config_noc SLAVE_VENUS_CFG>,126                        <&mmss_noc MASTER_VIDEO_P0 &mc_virt SLAVE_EBI_CH0>;127        interconnect-names = "cpu-cfg", "video-mem";128 129        iommus = <&apps_smmu 0x2100 0x0400>;130        memory-region = <&video_mem>;131 132        resets = <&gcc GCC_VIDEO_AXI0_CLK_ARES>,133                 <&videocc VIDEO_CC_MVS0C_CLK_ARES>;134        reset-names = "bus", "core";135 136        video-decoder {137            compatible = "venus-decoder";138        };139 140        video-encoder {141            compatible = "venus-encoder";142        };143    };144