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-decoder.yaml# 69cdd70ceSYunfei Dong$schema: http://devicetree.org/meta-schemas/core.yaml# 79cdd70ceSYunfei Dong 89cdd70ceSYunfei Dongtitle: Mediatek Video Decode Accelerator 99cdd70ceSYunfei Dong 109cdd70ceSYunfei Dongmaintainers: 119cdd70ceSYunfei Dong - Yunfei Dong <yunfei.dong@mediatek.com> 129cdd70ceSYunfei Dong 139cdd70ceSYunfei Dongdescription: |+ 149cdd70ceSYunfei Dong Mediatek Video Decode is the video decode hardware present in Mediatek 159cdd70ceSYunfei Dong SoCs which supports high resolution decoding functionalities. 169cdd70ceSYunfei Dong 179cdd70ceSYunfei Dongproperties: 189cdd70ceSYunfei Dong compatible: 199cdd70ceSYunfei Dong enum: 209cdd70ceSYunfei Dong - mediatek,mt8173-vcodec-dec 219cdd70ceSYunfei Dong - mediatek,mt8183-vcodec-dec 229cdd70ceSYunfei Dong 239cdd70ceSYunfei Dong reg: 249cdd70ceSYunfei Dong maxItems: 12 259cdd70ceSYunfei Dong 269cdd70ceSYunfei Dong interrupts: 279cdd70ceSYunfei Dong maxItems: 1 289cdd70ceSYunfei Dong 299cdd70ceSYunfei Dong clocks: 30*93b9368dSNícolas F. R. A. Prado minItems: 1 319cdd70ceSYunfei Dong maxItems: 8 329cdd70ceSYunfei Dong 339cdd70ceSYunfei Dong clock-names: 34*93b9368dSNícolas F. R. A. Prado minItems: 1 35*93b9368dSNícolas F. R. A. Prado maxItems: 8 369cdd70ceSYunfei Dong 379cdd70ceSYunfei Dong assigned-clocks: true 389cdd70ceSYunfei Dong 399cdd70ceSYunfei Dong assigned-clock-parents: true 409cdd70ceSYunfei Dong 419cdd70ceSYunfei Dong assigned-clock-rates: true 429cdd70ceSYunfei Dong 439cdd70ceSYunfei Dong power-domains: 449cdd70ceSYunfei Dong maxItems: 1 459cdd70ceSYunfei Dong 469cdd70ceSYunfei Dong iommus: 479cdd70ceSYunfei Dong minItems: 1 489cdd70ceSYunfei Dong maxItems: 32 499cdd70ceSYunfei Dong description: | 509cdd70ceSYunfei Dong List of the hardware port in respective IOMMU block for current Socs. 519cdd70ceSYunfei Dong Refer to bindings/iommu/mediatek,iommu.yaml. 529cdd70ceSYunfei Dong 539cdd70ceSYunfei Dong mediatek,vpu: 549cdd70ceSYunfei Dong $ref: /schemas/types.yaml#/definitions/phandle 559cdd70ceSYunfei Dong description: 569cdd70ceSYunfei Dong Describes point to vpu. 579cdd70ceSYunfei Dong 589cdd70ceSYunfei Dong mediatek,scp: 599cdd70ceSYunfei Dong $ref: /schemas/types.yaml#/definitions/phandle 609cdd70ceSYunfei Dong description: 619cdd70ceSYunfei Dong Describes point to scp. 629cdd70ceSYunfei Dong 639cdd70ceSYunfei Dongrequired: 649cdd70ceSYunfei Dong - compatible 659cdd70ceSYunfei Dong - reg 669cdd70ceSYunfei Dong - interrupts 679cdd70ceSYunfei Dong - clocks 689cdd70ceSYunfei Dong - clock-names 699cdd70ceSYunfei Dong - iommus 709cdd70ceSYunfei Dong - assigned-clocks 719cdd70ceSYunfei Dong - assigned-clock-parents 729cdd70ceSYunfei Dong 739cdd70ceSYunfei DongallOf: 749cdd70ceSYunfei Dong - if: 759cdd70ceSYunfei Dong properties: 769cdd70ceSYunfei Dong compatible: 779cdd70ceSYunfei Dong contains: 789cdd70ceSYunfei Dong enum: 799cdd70ceSYunfei Dong - mediatek,mt8183-vcodec-dec 809cdd70ceSYunfei Dong 819cdd70ceSYunfei Dong then: 829cdd70ceSYunfei Dong required: 839cdd70ceSYunfei Dong - mediatek,scp 849cdd70ceSYunfei Dong 85*93b9368dSNícolas F. R. A. Prado properties: 86*93b9368dSNícolas F. R. A. Prado clocks: 87*93b9368dSNícolas F. R. A. Prado minItems: 1 88*93b9368dSNícolas F. R. A. Prado maxItems: 1 89*93b9368dSNícolas F. R. A. Prado 90*93b9368dSNícolas F. R. A. Prado clock-names: 91*93b9368dSNícolas F. R. A. Prado items: 92*93b9368dSNícolas F. R. A. Prado - const: vdec 93*93b9368dSNícolas F. R. A. Prado 949cdd70ceSYunfei Dong - if: 959cdd70ceSYunfei Dong properties: 969cdd70ceSYunfei Dong compatible: 979cdd70ceSYunfei Dong contains: 989cdd70ceSYunfei Dong enum: 999cdd70ceSYunfei Dong - mediatek,mt8173-vcodec-dec 1009cdd70ceSYunfei Dong 1019cdd70ceSYunfei Dong then: 1029cdd70ceSYunfei Dong required: 1039cdd70ceSYunfei Dong - mediatek,vpu 1049cdd70ceSYunfei Dong 105*93b9368dSNícolas F. R. A. Prado properties: 106*93b9368dSNícolas F. R. A. Prado clocks: 107*93b9368dSNícolas F. R. A. Prado minItems: 8 108*93b9368dSNícolas F. R. A. Prado maxItems: 8 109*93b9368dSNícolas F. R. A. Prado 110*93b9368dSNícolas F. R. A. Prado clock-names: 111*93b9368dSNícolas F. R. A. Prado items: 112*93b9368dSNícolas F. R. A. Prado - const: vcodecpll 113*93b9368dSNícolas F. R. A. Prado - const: univpll_d2 114*93b9368dSNícolas F. R. A. Prado - const: clk_cci400_sel 115*93b9368dSNícolas F. R. A. Prado - const: vdec_sel 116*93b9368dSNícolas F. R. A. Prado - const: vdecpll 117*93b9368dSNícolas F. R. A. Prado - const: vencpll 118*93b9368dSNícolas F. R. A. Prado - const: venc_lt_sel 119*93b9368dSNícolas F. R. A. Prado - const: vdec_bus_clk_src 120*93b9368dSNícolas F. R. A. Prado 1219cdd70ceSYunfei DongadditionalProperties: false 1229cdd70ceSYunfei Dong 1239cdd70ceSYunfei Dongexamples: 1249cdd70ceSYunfei Dong - | 1259cdd70ceSYunfei Dong #include <dt-bindings/interrupt-controller/arm-gic.h> 1269cdd70ceSYunfei Dong #include <dt-bindings/clock/mt8173-clk.h> 1279cdd70ceSYunfei Dong #include <dt-bindings/memory/mt8173-larb-port.h> 1289cdd70ceSYunfei Dong #include <dt-bindings/interrupt-controller/irq.h> 1299cdd70ceSYunfei Dong #include <dt-bindings/power/mt8173-power.h> 1309cdd70ceSYunfei Dong 1319cdd70ceSYunfei Dong vcodec_dec: vcodec@16000000 { 1329cdd70ceSYunfei Dong compatible = "mediatek,mt8173-vcodec-dec"; 1339cdd70ceSYunfei Dong reg = <0x16000000 0x100>, /*VDEC_SYS*/ 1349cdd70ceSYunfei Dong <0x16020000 0x1000>, /*VDEC_MISC*/ 1359cdd70ceSYunfei Dong <0x16021000 0x800>, /*VDEC_LD*/ 1369cdd70ceSYunfei Dong <0x16021800 0x800>, /*VDEC_TOP*/ 1379cdd70ceSYunfei Dong <0x16022000 0x1000>, /*VDEC_CM*/ 1389cdd70ceSYunfei Dong <0x16023000 0x1000>, /*VDEC_AD*/ 1399cdd70ceSYunfei Dong <0x16024000 0x1000>, /*VDEC_AV*/ 1409cdd70ceSYunfei Dong <0x16025000 0x1000>, /*VDEC_PP*/ 1419cdd70ceSYunfei Dong <0x16026800 0x800>, /*VP8_VD*/ 1429cdd70ceSYunfei Dong <0x16027000 0x800>, /*VP6_VD*/ 1439cdd70ceSYunfei Dong <0x16027800 0x800>, /*VP8_VL*/ 1449cdd70ceSYunfei Dong <0x16028400 0x400>; /*VP9_VD*/ 1459cdd70ceSYunfei Dong interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_LOW>; 1469cdd70ceSYunfei Dong iommus = <&iommu M4U_PORT_HW_VDEC_MC_EXT>, 1479cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_PP_EXT>, 1489cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_AVC_MV_EXT>, 1499cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_PRED_RD_EXT>, 1509cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_PRED_WR_EXT>, 1519cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_UFO_EXT>, 1529cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_VLD_EXT>, 1539cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_VLD2_EXT>; 1549cdd70ceSYunfei Dong mediatek,vpu = <&vpu>; 1559cdd70ceSYunfei Dong power-domains = <&scpsys MT8173_POWER_DOMAIN_VDEC>; 1569cdd70ceSYunfei Dong clocks = <&apmixedsys CLK_APMIXED_VCODECPLL>, 1579cdd70ceSYunfei Dong <&topckgen CLK_TOP_UNIVPLL_D2>, 1589cdd70ceSYunfei Dong <&topckgen CLK_TOP_CCI400_SEL>, 1599cdd70ceSYunfei Dong <&topckgen CLK_TOP_VDEC_SEL>, 1609cdd70ceSYunfei Dong <&topckgen CLK_TOP_VCODECPLL>, 1619cdd70ceSYunfei Dong <&apmixedsys CLK_APMIXED_VENCPLL>, 1629cdd70ceSYunfei Dong <&topckgen CLK_TOP_VENC_LT_SEL>, 1639cdd70ceSYunfei Dong <&topckgen CLK_TOP_VCODECPLL_370P5>; 1649cdd70ceSYunfei Dong clock-names = "vcodecpll", 1659cdd70ceSYunfei Dong "univpll_d2", 1669cdd70ceSYunfei Dong "clk_cci400_sel", 1679cdd70ceSYunfei Dong "vdec_sel", 1689cdd70ceSYunfei Dong "vdecpll", 1699cdd70ceSYunfei Dong "vencpll", 1709cdd70ceSYunfei Dong "venc_lt_sel", 1719cdd70ceSYunfei Dong "vdec_bus_clk_src"; 1729cdd70ceSYunfei Dong assigned-clocks = <&topckgen CLK_TOP_VENC_LT_SEL>, 1739cdd70ceSYunfei Dong <&topckgen CLK_TOP_CCI400_SEL>, 1749cdd70ceSYunfei Dong <&topckgen CLK_TOP_VDEC_SEL>, 1759cdd70ceSYunfei Dong <&apmixedsys CLK_APMIXED_VCODECPLL>, 1769cdd70ceSYunfei Dong <&apmixedsys CLK_APMIXED_VENCPLL>; 1779cdd70ceSYunfei Dong assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL_370P5>, 1789cdd70ceSYunfei Dong <&topckgen CLK_TOP_UNIVPLL_D2>, 1799cdd70ceSYunfei Dong <&topckgen CLK_TOP_VCODECPLL>; 1809cdd70ceSYunfei Dong assigned-clock-rates = <0>, <0>, <0>, <1482000000>, <800000000>; 1819cdd70ceSYunfei Dong }; 182