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,sdm660-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,sdm660-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   - AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
   13 
   14 description: |
   15   The Venus IP is a video encode and decode accelerator present
   16   on Qualcomm platforms
   17 
   18 properties:
   19   compatible:
   20     const: qcom,sdm660-venus
   21 
   22   reg:
   23     maxItems: 1
   24 
   25   clocks:
   26     maxItems: 4
   27 
   28   clock-names:
   29     items:
   30       - const: core
   31       - const: iface
   32       - const: bus
   33       - const: bus_throttle
   34 
   35   interconnects:
   36     maxItems: 2
   37 
   38   interconnect-names:
   39     items:
   40       - const: cpu-cfg
   41       - const: video-mem
   42 
   43   interrupts:
   44     maxItems: 1
   45 
   46   iommus:
   47     maxItems: 20
   48 
   49   memory-region:
   50     maxItems: 1
   51 
   52   power-domains:
   53     maxItems: 1
   54 
   55   video-decoder:
   56     type: object
   57 
   58     properties:
   59       compatible:
   60         const: venus-decoder
   61 
   62       clocks:
   63         maxItems: 1
   64 
   65       clock-names:
   66         items:
   67           - const: vcodec0_core
   68 
   69       power-domains:
   70         maxItems: 1
   71 
   72     required:
   73       - compatible
   74       - clocks
   75       - clock-names
   76       - power-domains
   77 
   78     additionalProperties: false
   79 
   80   video-encoder:
   81     type: object
   82 
   83     properties:
   84       compatible:
   85         const: venus-encoder
   86 
   87       clocks:
   88         maxItems: 1
   89 
   90       clock-names:
   91         items:
   92           - const: vcodec0_core
   93 
   94       power-domains:
   95         maxItems: 1
   96 
   97     required:
   98       - compatible
   99       - clocks
  100       - clock-names
  101       - power-domains
  102 
  103     additionalProperties: false
  104 
  105   video-firmware:
  106     type: object
  107 
  108     description: |
  109       Firmware subnode is needed when the platform does not
  110       have TrustZone.
  111 
  112     properties:
  113       iommus:
  114         maxItems: 1
  115 
  116     required:
  117       - iommus
  118 
  119 required:
  120   - compatible
  121   - reg
  122   - clocks
  123   - clock-names
  124   - interrupts
  125   - iommus
  126   - memory-region
  127   - power-domains
  128   - video-decoder
  129   - video-encoder
  130 
  131 additionalProperties: false
  132 
  133 examples:
  134   - |
  135         #include <dt-bindings/clock/qcom,mmcc-sdm660.h>
  136         #include <dt-bindings/interrupt-controller/arm-gic.h>
  137 
  138         video-codec@cc00000 {
  139                 compatible = "qcom,sdm660-venus";
  140                 reg = <0x0cc00000 0xff000>;
  141                 clocks = <&mmcc VIDEO_CORE_CLK>,
  142                          <&mmcc VIDEO_AHB_CLK>,
  143                          <&mmcc VIDEO_AXI_CLK>,
  144                          <&mmcc THROTTLE_VIDEO_AXI_CLK>;
  145                 clock-names = "core", "iface", "bus", "bus_throttle";
  146                 interconnects = <&gnoc 0 &mnoc 13>,
  147                                 <&mnoc 4 &bimc 5>;
  148                 interconnect-names = "cpu-cfg", "video-mem";
  149                 interrupts = <GIC_SPI 287 IRQ_TYPE_LEVEL_HIGH>;
  150                 iommus = <&mmss_smmu 0x400>,
  151                          <&mmss_smmu 0x401>,
  152                          <&mmss_smmu 0x40a>,
  153                          <&mmss_smmu 0x407>,
  154                          <&mmss_smmu 0x40e>,
  155                          <&mmss_smmu 0x40f>,
  156                          <&mmss_smmu 0x408>,
  157                          <&mmss_smmu 0x409>,
  158                          <&mmss_smmu 0x40b>,
  159                          <&mmss_smmu 0x40c>,
  160                          <&mmss_smmu 0x40d>,
  161                          <&mmss_smmu 0x410>,
  162                          <&mmss_smmu 0x421>,
  163                          <&mmss_smmu 0x428>,
  164                          <&mmss_smmu 0x429>,
  165                          <&mmss_smmu 0x42b>,
  166                          <&mmss_smmu 0x42c>,
  167                          <&mmss_smmu 0x42d>,
  168                          <&mmss_smmu 0x411>,
  169                          <&mmss_smmu 0x431>;
  170                 memory-region = <&venus_region>;
  171                 power-domains = <&mmcc VENUS_GDSC>;
  172 
  173                 video-decoder {
  174                         compatible = "venus-decoder";
  175                         clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
  176                         clock-names = "vcodec0_core";
  177                         power-domains = <&mmcc VENUS_CORE0_GDSC>;
  178                 };
  179 
  180                 video-encoder {
  181                         compatible = "venus-encoder";
  182                         clocks = <&mmcc VIDEO_SUBCORE0_CLK>;
  183                         clock-names = "vcodec0_core";
  184                         power-domains = <&mmcc VENUS_CORE0_GDSC>;
  185                 };
  186         };

Cache object: f1200e228355927e253d337a1d7eafb0


[ 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.