The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/device-tree/Bindings/media/qcom,sdm845-venus.yaml

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

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

Cache object: 6d5750bf686f2308c39045308e4b7b5f


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.