19cdd70ceSYunfei Dong# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause) 29cdd70ceSYunfei Dong 39cdd70ceSYunfei Dong%YAML 1.2 49cdd70ceSYunfei Dong--- 59cdd70ceSYunfei Dong$id: http://devicetree.org/schemas/media/mediatek,vcodec-encoder.yaml# 69cdd70ceSYunfei Dong$schema: http://devicetree.org/meta-schemas/core.yaml# 79cdd70ceSYunfei Dong 89cdd70ceSYunfei Dongtitle: Mediatek Video Encode Accelerator 99cdd70ceSYunfei Dong 109cdd70ceSYunfei Dongmaintainers: 119cdd70ceSYunfei Dong - Yunfei Dong <yunfei.dong@mediatek.com> 129cdd70ceSYunfei Dong 139cdd70ceSYunfei Dongdescription: |+ 149cdd70ceSYunfei Dong Mediatek Video Encode is the video encode hardware present in Mediatek 159cdd70ceSYunfei Dong SoCs which supports high resolution encoding functionalities. 169cdd70ceSYunfei Dong 179cdd70ceSYunfei Dongproperties: 189cdd70ceSYunfei Dong compatible: 199cdd70ceSYunfei Dong enum: 209cdd70ceSYunfei Dong - mediatek,mt8173-vcodec-enc-vp8 219cdd70ceSYunfei Dong - mediatek,mt8173-vcodec-enc 229cdd70ceSYunfei Dong - mediatek,mt8183-vcodec-enc 23e9164d27SIrui Wang - mediatek,mt8188-vcodec-enc 249cdd70ceSYunfei Dong - mediatek,mt8192-vcodec-enc 259cdd70ceSYunfei Dong - mediatek,mt8195-vcodec-enc 269cdd70ceSYunfei Dong 279cdd70ceSYunfei Dong reg: 289cdd70ceSYunfei Dong maxItems: 1 299cdd70ceSYunfei Dong 309cdd70ceSYunfei Dong interrupts: 319cdd70ceSYunfei Dong maxItems: 1 329cdd70ceSYunfei Dong 339cdd70ceSYunfei Dong clocks: 349cdd70ceSYunfei Dong minItems: 1 359cdd70ceSYunfei Dong maxItems: 5 369cdd70ceSYunfei Dong 379cdd70ceSYunfei Dong clock-names: 389cdd70ceSYunfei Dong minItems: 1 399cdd70ceSYunfei Dong maxItems: 5 409cdd70ceSYunfei Dong 419cdd70ceSYunfei Dong assigned-clocks: true 429cdd70ceSYunfei Dong 439cdd70ceSYunfei Dong assigned-clock-parents: true 449cdd70ceSYunfei Dong 459cdd70ceSYunfei Dong iommus: 469cdd70ceSYunfei Dong minItems: 1 479cdd70ceSYunfei Dong maxItems: 32 489cdd70ceSYunfei Dong description: | 499cdd70ceSYunfei Dong List of the hardware port in respective IOMMU block for current Socs. 509cdd70ceSYunfei Dong Refer to bindings/iommu/mediatek,iommu.yaml. 519cdd70ceSYunfei Dong 529cdd70ceSYunfei Dong dma-ranges: 539cdd70ceSYunfei Dong maxItems: 1 549cdd70ceSYunfei Dong description: | 559cdd70ceSYunfei Dong Describes the physical address space of IOMMU maps to memory. 569cdd70ceSYunfei Dong 579cdd70ceSYunfei Dong mediatek,vpu: 589cdd70ceSYunfei Dong $ref: /schemas/types.yaml#/definitions/phandle 599cdd70ceSYunfei Dong description: 609cdd70ceSYunfei Dong Describes point to vpu. 619cdd70ceSYunfei Dong 629cdd70ceSYunfei Dong mediatek,scp: 639cdd70ceSYunfei Dong $ref: /schemas/types.yaml#/definitions/phandle 649cdd70ceSYunfei Dong description: 659cdd70ceSYunfei Dong Describes point to scp. 669cdd70ceSYunfei Dong 67a5e9e202SNícolas F. R. A. Prado power-domains: 68a5e9e202SNícolas F. R. A. Prado maxItems: 1 69a5e9e202SNícolas F. R. A. Prado 70*26475355SIrui Wang "#address-cells": 71*26475355SIrui Wang const: 2 72*26475355SIrui Wang 73*26475355SIrui Wang "#size-cells": 74*26475355SIrui Wang const: 2 75*26475355SIrui Wang 769cdd70ceSYunfei Dongrequired: 779cdd70ceSYunfei Dong - compatible 789cdd70ceSYunfei Dong - reg 799cdd70ceSYunfei Dong - interrupts 809cdd70ceSYunfei Dong - clocks 819cdd70ceSYunfei Dong - clock-names 829cdd70ceSYunfei Dong - iommus 839cdd70ceSYunfei Dong - assigned-clocks 849cdd70ceSYunfei Dong - assigned-clock-parents 859cdd70ceSYunfei Dong 869cdd70ceSYunfei DongallOf: 879cdd70ceSYunfei Dong - if: 889cdd70ceSYunfei Dong properties: 899cdd70ceSYunfei Dong compatible: 909cdd70ceSYunfei Dong contains: 919cdd70ceSYunfei Dong enum: 929cdd70ceSYunfei Dong - mediatek,mt8183-vcodec-enc 93*26475355SIrui Wang - mediatek,mt8188-vcodec-enc 949cdd70ceSYunfei Dong - mediatek,mt8192-vcodec-enc 95*26475355SIrui Wang - mediatek,mt8195-vcodec-enc 969cdd70ceSYunfei Dong 979cdd70ceSYunfei Dong then: 989cdd70ceSYunfei Dong required: 999cdd70ceSYunfei Dong - mediatek,scp 1009cdd70ceSYunfei Dong 1019cdd70ceSYunfei Dong - if: 1029cdd70ceSYunfei Dong properties: 1039cdd70ceSYunfei Dong compatible: 1049cdd70ceSYunfei Dong contains: 1059cdd70ceSYunfei Dong enum: 1069cdd70ceSYunfei Dong - mediatek,mt8173-vcodec-enc-vp8 1079cdd70ceSYunfei Dong - mediatek,mt8173-vcodec-enc 1089cdd70ceSYunfei Dong 1099cdd70ceSYunfei Dong then: 1109cdd70ceSYunfei Dong required: 1119cdd70ceSYunfei Dong - mediatek,vpu 1129cdd70ceSYunfei Dong 1139cdd70ceSYunfei Dong - if: 1149cdd70ceSYunfei Dong properties: 1159cdd70ceSYunfei Dong compatible: 1169cdd70ceSYunfei Dong enum: 1179cdd70ceSYunfei Dong - mediatek,mt8173-vcodec-enc 118*26475355SIrui Wang - mediatek,mt8188-vcodec-enc 1199cdd70ceSYunfei Dong - mediatek,mt8192-vcodec-enc 120*26475355SIrui Wang - mediatek,mt8195-vcodec-enc 1219cdd70ceSYunfei Dong 1229cdd70ceSYunfei Dong then: 1239cdd70ceSYunfei Dong properties: 1249cdd70ceSYunfei Dong clock: 1259cdd70ceSYunfei Dong items: 1269cdd70ceSYunfei Dong minItems: 1 1279cdd70ceSYunfei Dong maxItems: 1 1289cdd70ceSYunfei Dong clock-names: 1299cdd70ceSYunfei Dong items: 1309cdd70ceSYunfei Dong - const: venc_sel 131*26475355SIrui Wang else: # for vp8 hw encoder 1329cdd70ceSYunfei Dong properties: 1339cdd70ceSYunfei Dong clock: 1349cdd70ceSYunfei Dong items: 1359cdd70ceSYunfei Dong minItems: 1 1369cdd70ceSYunfei Dong maxItems: 1 1379cdd70ceSYunfei Dong clock-names: 1389cdd70ceSYunfei Dong items: 1399cdd70ceSYunfei Dong - const: venc_lt_sel 1409cdd70ceSYunfei Dong 1419cdd70ceSYunfei DongadditionalProperties: false 1429cdd70ceSYunfei Dong 1439cdd70ceSYunfei Dongexamples: 1449cdd70ceSYunfei Dong - | 1459cdd70ceSYunfei Dong #include <dt-bindings/interrupt-controller/arm-gic.h> 1469cdd70ceSYunfei Dong #include <dt-bindings/clock/mt8173-clk.h> 1479cdd70ceSYunfei Dong #include <dt-bindings/memory/mt8173-larb-port.h> 1489cdd70ceSYunfei Dong #include <dt-bindings/interrupt-controller/irq.h> 1499cdd70ceSYunfei Dong 1509cdd70ceSYunfei Dong vcodec_enc_avc: vcodec@18002000 { 1519cdd70ceSYunfei Dong compatible = "mediatek,mt8173-vcodec-enc"; 1529cdd70ceSYunfei Dong reg = <0x18002000 0x1000>; 1539cdd70ceSYunfei Dong interrupts = <GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>; 1549cdd70ceSYunfei Dong iommus = <&iommu M4U_PORT_VENC_RCPU>, 1559cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_REC>, 1569cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_BSDMA>, 1579cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_SV_COMV>, 1589cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_RD_COMV>, 1599cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_CUR_LUMA>, 1609cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_CUR_CHROMA>, 1619cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_REF_LUMA>, 1629cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_REF_CHROMA>, 1639cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_NBM_RDMA>, 1649cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_NBM_WDMA>; 1659cdd70ceSYunfei Dong mediatek,vpu = <&vpu>; 1669cdd70ceSYunfei Dong clocks = <&topckgen CLK_TOP_VENC_SEL>; 1679cdd70ceSYunfei Dong clock-names = "venc_sel"; 1689cdd70ceSYunfei Dong assigned-clocks = <&topckgen CLK_TOP_VENC_SEL>; 1699cdd70ceSYunfei Dong assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL>; 1709cdd70ceSYunfei Dong }; 1719cdd70ceSYunfei Dong 1729cdd70ceSYunfei Dong vcodec_enc_vp8: vcodec@19002000 { 1739cdd70ceSYunfei Dong compatible = "mediatek,mt8173-vcodec-enc-vp8"; 1749cdd70ceSYunfei Dong reg = <0x19002000 0x1000>; /* VENC_LT_SYS */ 1759cdd70ceSYunfei Dong interrupts = <GIC_SPI 202 IRQ_TYPE_LEVEL_LOW>; 1769cdd70ceSYunfei Dong iommus = <&iommu M4U_PORT_VENC_RCPU_SET2>, 1779cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_REC_FRM_SET2>, 1789cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_BSDMA_SET2>, 1799cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_SV_COMA_SET2>, 1809cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_RD_COMA_SET2>, 1819cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_CUR_LUMA_SET2>, 1829cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_CUR_CHROMA_SET2>, 1839cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_REF_LUMA_SET2>, 1849cdd70ceSYunfei Dong <&iommu M4U_PORT_VENC_REC_CHROMA_SET2>; 1859cdd70ceSYunfei Dong mediatek,vpu = <&vpu>; 1869cdd70ceSYunfei Dong clocks = <&topckgen CLK_TOP_VENC_LT_SEL>; 1879cdd70ceSYunfei Dong clock-names = "venc_lt_sel"; 1889cdd70ceSYunfei Dong assigned-clocks = <&topckgen CLK_TOP_VENC_LT_SEL>; 1899cdd70ceSYunfei Dong assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL_370P5>; 1909cdd70ceSYunfei Dong }; 191