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: 24*5ee1b02aSNícolas F. R. A. Prado minItems: 11 25*5ee1b02aSNícolas F. R. A. Prado maxItems: 11 26*5ee1b02aSNícolas F. R. A. Prado 27*5ee1b02aSNícolas F. R. A. Prado reg-names: 28*5ee1b02aSNícolas F. R. A. Prado items: 29*5ee1b02aSNícolas F. R. A. Prado - const: misc 30*5ee1b02aSNícolas F. R. A. Prado - const: ld 31*5ee1b02aSNícolas F. R. A. Prado - const: top 32*5ee1b02aSNícolas F. R. A. Prado - const: cm 33*5ee1b02aSNícolas F. R. A. Prado - const: ad 34*5ee1b02aSNícolas F. R. A. Prado - const: av 35*5ee1b02aSNícolas F. R. A. Prado - const: pp 36*5ee1b02aSNícolas F. R. A. Prado - const: hwd 37*5ee1b02aSNícolas F. R. A. Prado - const: hwq 38*5ee1b02aSNícolas F. R. A. Prado - const: hwb 39*5ee1b02aSNícolas F. R. A. Prado - const: hwg 409cdd70ceSYunfei Dong 419cdd70ceSYunfei Dong interrupts: 429cdd70ceSYunfei Dong maxItems: 1 439cdd70ceSYunfei Dong 449cdd70ceSYunfei Dong clocks: 4593b9368dSNícolas F. R. A. Prado minItems: 1 469cdd70ceSYunfei Dong maxItems: 8 479cdd70ceSYunfei Dong 489cdd70ceSYunfei Dong clock-names: 4993b9368dSNícolas F. R. A. Prado minItems: 1 5093b9368dSNícolas F. R. A. Prado maxItems: 8 519cdd70ceSYunfei Dong 529cdd70ceSYunfei Dong assigned-clocks: true 539cdd70ceSYunfei Dong 549cdd70ceSYunfei Dong assigned-clock-parents: true 559cdd70ceSYunfei Dong 569cdd70ceSYunfei Dong assigned-clock-rates: true 579cdd70ceSYunfei Dong 589cdd70ceSYunfei Dong power-domains: 599cdd70ceSYunfei Dong maxItems: 1 609cdd70ceSYunfei Dong 619cdd70ceSYunfei Dong iommus: 629cdd70ceSYunfei Dong minItems: 1 639cdd70ceSYunfei Dong maxItems: 32 649cdd70ceSYunfei Dong description: | 659cdd70ceSYunfei Dong List of the hardware port in respective IOMMU block for current Socs. 669cdd70ceSYunfei Dong Refer to bindings/iommu/mediatek,iommu.yaml. 679cdd70ceSYunfei Dong 689cdd70ceSYunfei Dong mediatek,vpu: 699cdd70ceSYunfei Dong $ref: /schemas/types.yaml#/definitions/phandle 709cdd70ceSYunfei Dong description: 719cdd70ceSYunfei Dong Describes point to vpu. 729cdd70ceSYunfei Dong 739cdd70ceSYunfei Dong mediatek,scp: 749cdd70ceSYunfei Dong $ref: /schemas/types.yaml#/definitions/phandle 759cdd70ceSYunfei Dong description: 769cdd70ceSYunfei Dong Describes point to scp. 779cdd70ceSYunfei Dong 78*5ee1b02aSNícolas F. R. A. Prado mediatek,vdecsys: 79*5ee1b02aSNícolas F. R. A. Prado $ref: /schemas/types.yaml#/definitions/phandle 80*5ee1b02aSNícolas F. R. A. Prado description: Phandle to the vdecsys syscon node. 81*5ee1b02aSNícolas F. R. A. Prado 829cdd70ceSYunfei Dongrequired: 839cdd70ceSYunfei Dong - compatible 849cdd70ceSYunfei Dong - reg 859cdd70ceSYunfei Dong - interrupts 869cdd70ceSYunfei Dong - clocks 879cdd70ceSYunfei Dong - clock-names 889cdd70ceSYunfei Dong - iommus 89*5ee1b02aSNícolas F. R. A. Prado - mediatek,vdecsys 909cdd70ceSYunfei Dong 919cdd70ceSYunfei DongallOf: 929cdd70ceSYunfei Dong - if: 939cdd70ceSYunfei Dong properties: 949cdd70ceSYunfei Dong compatible: 959cdd70ceSYunfei Dong contains: 969cdd70ceSYunfei Dong enum: 979cdd70ceSYunfei Dong - mediatek,mt8183-vcodec-dec 989cdd70ceSYunfei Dong 999cdd70ceSYunfei Dong then: 1009cdd70ceSYunfei Dong required: 1019cdd70ceSYunfei Dong - mediatek,scp 1029cdd70ceSYunfei Dong 10393b9368dSNícolas F. R. A. Prado properties: 10493b9368dSNícolas F. R. A. Prado clocks: 10593b9368dSNícolas F. R. A. Prado minItems: 1 10693b9368dSNícolas F. R. A. Prado maxItems: 1 10793b9368dSNícolas F. R. A. Prado 10893b9368dSNícolas F. R. A. Prado clock-names: 10993b9368dSNícolas F. R. A. Prado items: 11093b9368dSNícolas F. R. A. Prado - const: vdec 11193b9368dSNícolas F. R. A. Prado 1129cdd70ceSYunfei Dong - if: 1139cdd70ceSYunfei Dong properties: 1149cdd70ceSYunfei Dong compatible: 1159cdd70ceSYunfei Dong contains: 1169cdd70ceSYunfei Dong enum: 1179cdd70ceSYunfei Dong - mediatek,mt8173-vcodec-dec 1189cdd70ceSYunfei Dong 1199cdd70ceSYunfei Dong then: 1209cdd70ceSYunfei Dong required: 1219cdd70ceSYunfei Dong - mediatek,vpu 1229cdd70ceSYunfei Dong 12393b9368dSNícolas F. R. A. Prado properties: 12493b9368dSNícolas F. R. A. Prado clocks: 12593b9368dSNícolas F. R. A. Prado minItems: 8 12693b9368dSNícolas F. R. A. Prado maxItems: 8 12793b9368dSNícolas F. R. A. Prado 12893b9368dSNícolas F. R. A. Prado clock-names: 12993b9368dSNícolas F. R. A. Prado items: 13093b9368dSNícolas F. R. A. Prado - const: vcodecpll 13193b9368dSNícolas F. R. A. Prado - const: univpll_d2 13293b9368dSNícolas F. R. A. Prado - const: clk_cci400_sel 13393b9368dSNícolas F. R. A. Prado - const: vdec_sel 13493b9368dSNícolas F. R. A. Prado - const: vdecpll 13593b9368dSNícolas F. R. A. Prado - const: vencpll 13693b9368dSNícolas F. R. A. Prado - const: venc_lt_sel 13793b9368dSNícolas F. R. A. Prado - const: vdec_bus_clk_src 13893b9368dSNícolas F. R. A. Prado 1399cdd70ceSYunfei DongadditionalProperties: false 1409cdd70ceSYunfei Dong 1419cdd70ceSYunfei Dongexamples: 1429cdd70ceSYunfei Dong - | 1439cdd70ceSYunfei Dong #include <dt-bindings/interrupt-controller/arm-gic.h> 1449cdd70ceSYunfei Dong #include <dt-bindings/clock/mt8173-clk.h> 1459cdd70ceSYunfei Dong #include <dt-bindings/memory/mt8173-larb-port.h> 1469cdd70ceSYunfei Dong #include <dt-bindings/interrupt-controller/irq.h> 1479cdd70ceSYunfei Dong #include <dt-bindings/power/mt8173-power.h> 1489cdd70ceSYunfei Dong 149*5ee1b02aSNícolas F. R. A. Prado vcodec_dec: vcodec@16020000 { 1509cdd70ceSYunfei Dong compatible = "mediatek,mt8173-vcodec-dec"; 151*5ee1b02aSNícolas F. R. A. Prado reg = <0x16020000 0x1000>, /*VDEC_MISC*/ 1529cdd70ceSYunfei Dong <0x16021000 0x800>, /*VDEC_LD*/ 1539cdd70ceSYunfei Dong <0x16021800 0x800>, /*VDEC_TOP*/ 1549cdd70ceSYunfei Dong <0x16022000 0x1000>, /*VDEC_CM*/ 1559cdd70ceSYunfei Dong <0x16023000 0x1000>, /*VDEC_AD*/ 1569cdd70ceSYunfei Dong <0x16024000 0x1000>, /*VDEC_AV*/ 1579cdd70ceSYunfei Dong <0x16025000 0x1000>, /*VDEC_PP*/ 1589cdd70ceSYunfei Dong <0x16026800 0x800>, /*VP8_VD*/ 1599cdd70ceSYunfei Dong <0x16027000 0x800>, /*VP6_VD*/ 1609cdd70ceSYunfei Dong <0x16027800 0x800>, /*VP8_VL*/ 1619cdd70ceSYunfei Dong <0x16028400 0x400>; /*VP9_VD*/ 1629cdd70ceSYunfei Dong interrupts = <GIC_SPI 204 IRQ_TYPE_LEVEL_LOW>; 1639cdd70ceSYunfei Dong iommus = <&iommu M4U_PORT_HW_VDEC_MC_EXT>, 1649cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_PP_EXT>, 1659cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_AVC_MV_EXT>, 1669cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_PRED_RD_EXT>, 1679cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_PRED_WR_EXT>, 1689cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_UFO_EXT>, 1699cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_VLD_EXT>, 1709cdd70ceSYunfei Dong <&iommu M4U_PORT_HW_VDEC_VLD2_EXT>; 1719cdd70ceSYunfei Dong mediatek,vpu = <&vpu>; 172*5ee1b02aSNícolas F. R. A. Prado mediatek,vdecsys = <&vdecsys>; 1739cdd70ceSYunfei Dong power-domains = <&scpsys MT8173_POWER_DOMAIN_VDEC>; 1749cdd70ceSYunfei Dong clocks = <&apmixedsys CLK_APMIXED_VCODECPLL>, 1759cdd70ceSYunfei Dong <&topckgen CLK_TOP_UNIVPLL_D2>, 1769cdd70ceSYunfei Dong <&topckgen CLK_TOP_CCI400_SEL>, 1779cdd70ceSYunfei Dong <&topckgen CLK_TOP_VDEC_SEL>, 1789cdd70ceSYunfei Dong <&topckgen CLK_TOP_VCODECPLL>, 1799cdd70ceSYunfei Dong <&apmixedsys CLK_APMIXED_VENCPLL>, 1809cdd70ceSYunfei Dong <&topckgen CLK_TOP_VENC_LT_SEL>, 1819cdd70ceSYunfei Dong <&topckgen CLK_TOP_VCODECPLL_370P5>; 1829cdd70ceSYunfei Dong clock-names = "vcodecpll", 1839cdd70ceSYunfei Dong "univpll_d2", 1849cdd70ceSYunfei Dong "clk_cci400_sel", 1859cdd70ceSYunfei Dong "vdec_sel", 1869cdd70ceSYunfei Dong "vdecpll", 1879cdd70ceSYunfei Dong "vencpll", 1889cdd70ceSYunfei Dong "venc_lt_sel", 1899cdd70ceSYunfei Dong "vdec_bus_clk_src"; 1909cdd70ceSYunfei Dong assigned-clocks = <&topckgen CLK_TOP_VENC_LT_SEL>, 1919cdd70ceSYunfei Dong <&topckgen CLK_TOP_CCI400_SEL>, 1929cdd70ceSYunfei Dong <&topckgen CLK_TOP_VDEC_SEL>, 1939cdd70ceSYunfei Dong <&apmixedsys CLK_APMIXED_VCODECPLL>, 1949cdd70ceSYunfei Dong <&apmixedsys CLK_APMIXED_VENCPLL>; 1959cdd70ceSYunfei Dong assigned-clock-parents = <&topckgen CLK_TOP_VCODECPLL_370P5>, 1969cdd70ceSYunfei Dong <&topckgen CLK_TOP_UNIVPLL_D2>, 1979cdd70ceSYunfei Dong <&topckgen CLK_TOP_VCODECPLL>; 1989cdd70ceSYunfei Dong assigned-clock-rates = <0>, <0>, <0>, <1482000000>, <800000000>; 1999cdd70ceSYunfei Dong }; 200