Back to home page

OSCL-LXR

 
 

    


0001 # SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
0002 
0003 %YAML 1.2
0004 ---
0005 $id: "http://devicetree.org/schemas/media/qcom,msm8916-venus.yaml#"
0006 $schema: "http://devicetree.org/meta-schemas/core.yaml#"
0007 
0008 title: Qualcomm Venus video encode and decode accelerators
0009 
0010 maintainers:
0011   - Stanimir Varbanov <stanimir.varbanov@linaro.org>
0012 
0013 description: |
0014   The Venus IP is a video encode and decode accelerator present
0015   on Qualcomm platforms
0016 
0017 properties:
0018   compatible:
0019     const: qcom,msm8916-venus
0020 
0021   reg:
0022     maxItems: 1
0023 
0024   interrupts:
0025     maxItems: 1
0026 
0027   power-domains:
0028     maxItems: 1
0029 
0030   clocks:
0031     maxItems: 3
0032 
0033   clock-names:
0034     items:
0035       - const: core
0036       - const: iface
0037       - const: bus
0038 
0039   iommus:
0040     maxItems: 1
0041 
0042   memory-region:
0043     maxItems: 1
0044 
0045   video-decoder:
0046     type: object
0047 
0048     properties:
0049       compatible:
0050         const: "venus-decoder"
0051 
0052     required:
0053       - compatible
0054 
0055     additionalProperties: false
0056 
0057   video-encoder:
0058     type: object
0059 
0060     properties:
0061       compatible:
0062         const: "venus-encoder"
0063 
0064     required:
0065       - compatible
0066 
0067     additionalProperties: false
0068 
0069   video-firmware:
0070     type: object
0071 
0072     description: |
0073       Firmware subnode is needed when the platform does not
0074       have TrustZone.
0075 
0076     properties:
0077       iommus:
0078         maxItems: 1
0079 
0080     required:
0081       - iommus
0082 
0083 required:
0084   - compatible
0085   - reg
0086   - interrupts
0087   - power-domains
0088   - clocks
0089   - clock-names
0090   - iommus
0091   - memory-region
0092   - video-decoder
0093   - video-encoder
0094 
0095 additionalProperties: false
0096 
0097 examples:
0098   - |
0099         #include <dt-bindings/interrupt-controller/arm-gic.h>
0100         #include <dt-bindings/clock/qcom,gcc-msm8916.h>
0101 
0102         video-codec@1d00000 {
0103                 compatible = "qcom,msm8916-venus";
0104                 reg = <0x01d00000 0xff000>;
0105                 interrupts = <GIC_SPI 44 IRQ_TYPE_LEVEL_HIGH>;
0106                 clocks = <&gcc GCC_VENUS0_VCODEC0_CLK>,
0107                         <&gcc GCC_VENUS0_AHB_CLK>,
0108                         <&gcc GCC_VENUS0_AXI_CLK>;
0109                 clock-names = "core", "iface", "bus";
0110                 power-domains = <&gcc VENUS_GDSC>;
0111                 iommus = <&apps_iommu 5>;
0112                 memory-region = <&venus_mem>;
0113 
0114                 video-decoder {
0115                         compatible = "venus-decoder";
0116                 };
0117 
0118                 video-encoder {
0119                         compatible = "venus-encoder";
0120                 };
0121         };