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/mediatek,vcodec-encoder.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-only OR BSD-2-Clause)
    2 
    3 %YAML 1.2
    4 ---
    5 $id: http://devicetree.org/schemas/media/mediatek,vcodec-encoder.yaml#
    6 $schema: http://devicetree.org/meta-schemas/core.yaml#
    7 
    8 title: Mediatek Video Encode Accelerator
    9 
   10 maintainers:
   11   - Yunfei Dong <yunfei.dong@mediatek.com>
   12 
   13 description: |+
   14   Mediatek Video Encode is the video encode hardware present in Mediatek
   15   SoCs which supports high resolution encoding functionalities.
   16 
   17 properties:
   18   compatible:
   19     enum:
   20       - mediatek,mt8173-vcodec-enc-vp8
   21       - mediatek,mt8173-vcodec-enc
   22       - mediatek,mt8183-vcodec-enc
   23       - mediatek,mt8192-vcodec-enc
   24       - mediatek,mt8195-vcodec-enc
   25 
   26   reg:
   27     maxItems: 1
   28 
   29   interrupts:
   30     maxItems: 1
   31 
   32   clocks:
   33     minItems: 1
   34     maxItems: 5
   35 
   36   clock-names:
   37     minItems: 1
   38     maxItems: 5
   39 
   40   assigned-clocks: true
   41 
   42   assigned-clock-parents: true
   43 
   44   iommus:
   45     minItems: 1
   46     maxItems: 32
   47     description: |
   48       List of the hardware port in respective IOMMU block for current Socs.
   49       Refer to bindings/iommu/mediatek,iommu.yaml.
   50 
   51   dma-ranges:
   52     maxItems: 1
   53     description: |
   54       Describes the physical address space of IOMMU maps to memory.
   55 
   56   mediatek,vpu:
   57     $ref: /schemas/types.yaml#/definitions/phandle
   58     description:
   59       Describes point to vpu.
   60 
   61   mediatek,scp:
   62     $ref: /schemas/types.yaml#/definitions/phandle
   63     description:
   64       Describes point to scp.
   65 
   66   power-domains:
   67     maxItems: 1
   68 
   69 required:
   70   - compatible
   71   - reg
   72   - interrupts
   73   - clocks
   74   - clock-names
   75   - iommus
   76   - assigned-clocks
   77   - assigned-clock-parents
   78 
   79 allOf:
   80   - if:
   81       properties:
   82         compatible:
   83           contains:
   84             enum:
   85               - mediatek,mt8183-vcodec-enc
   86               - mediatek,mt8192-vcodec-enc
   87 
   88     then:
   89       required:
   90         - mediatek,scp
   91 
   92   - if:
   93       properties:
   94         compatible:
   95           contains:
   96             enum:
   97               - mediatek,mt8173-vcodec-enc-vp8
   98               - mediatek,mt8173-vcodec-enc
   99 
  100     then:
  101       required:
  102         - mediatek,vpu
  103 
  104   - if:
  105       properties:
  106         compatible:
  107           enum:
  108             - mediatek,mt8173-vcodec-enc
  109             - mediatek,mt8192-vcodec-enc
  110 
  111     then:
  112       properties:
  113         clock:
  114           items:
  115             minItems: 1
  116             maxItems: 1
  117         clock-names:
  118           items:
  119             - const: venc_sel
  120     else:  # for vp8 hw decoder
  121       properties:
  122         clock:
  123           items:
  124             minItems: 1
  125             maxItems: 1
  126         clock-names:
  127           items:
  128             - const: venc_lt_sel
  129 
  130 additionalProperties: false
  131 
  132 examples:
  133   - |
  134     #include <dt-bindings/interrupt-controller/arm-gic.h>
  135     #include <dt-bindings/clock/mt8173-clk.h>
  136     #include <dt-bindings/memory/mt8173-larb-port.h>
  137     #include <dt-bindings/interrupt-controller/irq.h>
  138 
  139     vcodec_enc_avc: vcodec@18002000 {
  140       compatible = "mediatek,mt8173-vcodec-enc";
  141       reg = <0x18002000 0x1000>;
  142       interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
  143       iommus = <&iommu M4U_PORT_VENC_RCPU>,
  144              <&iommu M4U_PORT_VENC_REC>,
  145              <&iommu M4U_PORT_VENC_BSDMA>,
  146              <&iommu M4U_PORT_VENC_SV_COMV>,
  147              <&iommu M4U_PORT_VENC_RD_COMV>,
  148              <&iommu M4U_PORT_VENC_CUR_LUMA>,
  149              <&iommu M4U_PORT_VENC_CUR_CHROMA>,
  150              <&iommu M4U_PORT_VENC_REF_LUMA>,
  151              <&iommu M4U_PORT_VENC_REF_CHROMA>,
  152              <&iommu M4U_PORT_VENC_NBM_RDMA>,
  153              <&iommu M4U_PORT_VENC_NBM_WDMA>;
  154       mediatek,vpu = <&vpu>;
  155       clocks = <&topckgen CLK_TOP_VENC_SEL>;
  156       clock-names = "venc_sel";
  157       assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>;
  158       assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL>;
  159     };
  160 
  161     vcodec_enc_vp8: vcodec@19002000 {
  162       compatible = "mediatek,mt8173-vcodec-enc-vp8";
  163       reg =  <0x19002000 0x1000>;       /* VENC_LT_SYS */
  164       interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_LOW>;
  165       iommus = <&iommu M4U_PORT_VENC_RCPU_SET2>,
  166              <&iommu M4U_PORT_VENC_REC_FRM_SET2>,
  167              <&iommu M4U_PORT_VENC_BSDMA_SET2>,
  168              <&iommu M4U_PORT_VENC_SV_COMA_SET2>,
  169              <&iommu M4U_PORT_VENC_RD_COMA_SET2>,
  170              <&iommu M4U_PORT_VENC_CUR_LUMA_SET2>,
  171              <&iommu M4U_PORT_VENC_CUR_CHROMA_SET2>,
  172              <&iommu M4U_PORT_VENC_REF_LUMA_SET2>,
  173              <&iommu M4U_PORT_VENC_REC_CHROMA_SET2>;
  174       mediatek,vpu = <&vpu>;
  175       clocks = <&topckgen CLK_TOP_VENC_LT_SEL>;
  176       clock-names = "venc_lt_sel";
  177       assigned-clocks = <&topckgen CLK_TOP_VENC_LT_SEL>;
  178       assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL_370P5>;
  179     };

Cache object: 1c5075d307c450a5918946711ad2b31c


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