File Index
Files and directories
Sign in
FILE

qcom,sdm845-venus.yaml

File preview with syntax highlighting.

linux-6.19.14/Documentation/devicetree/bindings/media/qcom,sdm845-venus.yaml YAML
  1# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
  2%YAML 1.2
  3---
  4$id: http://devicetree.org/schemas/media/qcom,sdm845-venus.yaml#
  5$schema: http://devicetree.org/meta-schemas/core.yaml#
  6
  7title: Qualcomm SDM845 Venus video encode and decode accelerators
  8
  9maintainers:
 10  - Stanimir Varbanov <stanimir.varbanov@linaro.org>
 11
 12description: |
 13  The Venus IP is a video encode and decode accelerator present
 14  on Qualcomm platforms
 15
 16allOf:
 17  - $ref: qcom,venus-common.yaml#
 18
 19properties:
 20  compatible:
 21    const: qcom,sdm845-venus
 22
 23  power-domains:
 24    maxItems: 1
 25
 26  clocks:
 27    maxItems: 3
 28
 29  clock-names:
 30    items:
 31      - const: core
 32      - const: iface
 33      - const: bus
 34
 35  iommus:
 36    maxItems: 2
 37
 38  video-core0:
 39    type: object
 40
 41    properties:
 42      compatible:
 43        const: venus-decoder
 44
 45      clocks:
 46        maxItems: 2
 47
 48      clock-names:
 49        items:
 50          - const: core
 51          - const: bus
 52
 53      power-domains:
 54        maxItems: 1
 55
 56    required:
 57      - compatible
 58      - clocks
 59      - clock-names
 60      - power-domains
 61
 62    additionalProperties: false
 63
 64  video-core1:
 65    type: object
 66
 67    properties:
 68      compatible:
 69        const: venus-encoder
 70
 71      clocks:
 72        maxItems: 2
 73
 74      clock-names:
 75        items:
 76          - const: core
 77          - const: bus
 78
 79      power-domains:
 80        maxItems: 1
 81
 82    required:
 83      - compatible
 84      - clocks
 85      - clock-names
 86      - power-domains
 87
 88    additionalProperties: false
 89
 90required:
 91  - compatible
 92  - iommus
 93  - video-core0
 94  - video-core1
 95
 96unevaluatedProperties: false
 97
 98examples:
 99  - |
100    #include <dt-bindings/interrupt-controller/arm-gic.h>
101    #include <dt-bindings/clock/qcom,videocc-sdm845.h>
102
103    video-codec@aa00000 {
104        compatible = "qcom,sdm845-venus";
105        reg = <0x0aa00000 0xff000>;
106        interrupts = <GIC_SPI 174 IRQ_TYPE_LEVEL_HIGH>;
107        clocks = <&videocc VIDEO_CC_VENUS_CTL_CORE_CLK>,
108                 <&videocc VIDEO_CC_VENUS_AHB_CLK>,
109                 <&videocc VIDEO_CC_VENUS_CTL_AXI_CLK>;
110        clock-names = "core", "iface", "bus";
111        power-domains = <&videocc VENUS_GDSC>;
112        iommus = <&apps_smmu 0x10a0 0x8>,
113                 <&apps_smmu 0x10b0 0x0>;
114        memory-region = <&venus_mem>;
115
116        video-core0 {
117            compatible = "venus-decoder";
118            clocks = <&videocc VIDEO_CC_VCODEC0_CORE_CLK>,
119                     <&videocc VIDEO_CC_VCODEC0_AXI_CLK>;
120            clock-names = "core", "bus";
121            power-domains = <&videocc VCODEC0_GDSC>;
122        };
123
124        video-core1 {
125            compatible = "venus-encoder";
126            clocks = <&videocc VIDEO_CC_VCODEC1_CORE_CLK>,
127                     <&videocc VIDEO_CC_VCODEC1_AXI_CLK>;
128            clock-names = "core", "bus";
129            power-domains = <&videocc VCODEC1_GDSC>;
130        };
131    };
~/ Read-only file preview.