1*8bab661aSEmmanuel Vadot# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause) 2*8bab661aSEmmanuel Vadot%YAML 1.2 3*8bab661aSEmmanuel Vadot--- 4*8bab661aSEmmanuel Vadot$id: http://devicetree.org/schemas/media/mediatek,mt8195-jpegenc.yaml# 5*8bab661aSEmmanuel Vadot$schema: http://devicetree.org/meta-schemas/core.yaml# 6*8bab661aSEmmanuel Vadot 7*8bab661aSEmmanuel Vadottitle: MediaTek JPEG Encoder 8*8bab661aSEmmanuel Vadot 9*8bab661aSEmmanuel Vadotmaintainers: 10*8bab661aSEmmanuel Vadot - kyrie wu <kyrie.wu@mediatek.corp-partner.google.com> 11*8bab661aSEmmanuel Vadot 12*8bab661aSEmmanuel Vadotdescription: 13*8bab661aSEmmanuel Vadot MediaTek JPEG Encoder is the JPEG encode hardware present in MediaTek SoCs 14*8bab661aSEmmanuel Vadot 15*8bab661aSEmmanuel Vadotproperties: 16*8bab661aSEmmanuel Vadot compatible: 17*8bab661aSEmmanuel Vadot const: mediatek,mt8195-jpgenc 18*8bab661aSEmmanuel Vadot 19*8bab661aSEmmanuel Vadot power-domains: 20*8bab661aSEmmanuel Vadot maxItems: 1 21*8bab661aSEmmanuel Vadot 22*8bab661aSEmmanuel Vadot iommus: 23*8bab661aSEmmanuel Vadot maxItems: 4 24*8bab661aSEmmanuel Vadot description: 25*8bab661aSEmmanuel Vadot Points to the respective IOMMU block with master port as argument, see 26*8bab661aSEmmanuel Vadot Documentation/devicetree/bindings/iommu/mediatek,iommu.yaml for details. 27*8bab661aSEmmanuel Vadot Ports are according to the HW. 28*8bab661aSEmmanuel Vadot 29*8bab661aSEmmanuel Vadot "#address-cells": 30*8bab661aSEmmanuel Vadot const: 2 31*8bab661aSEmmanuel Vadot 32*8bab661aSEmmanuel Vadot "#size-cells": 33*8bab661aSEmmanuel Vadot const: 2 34*8bab661aSEmmanuel Vadot 35*8bab661aSEmmanuel Vadot ranges: true 36*8bab661aSEmmanuel Vadot 37*8bab661aSEmmanuel Vadot# Required child node: 38*8bab661aSEmmanuel VadotpatternProperties: 39*8bab661aSEmmanuel Vadot "^jpgenc@[0-9a-f]+$": 40*8bab661aSEmmanuel Vadot type: object 41*8bab661aSEmmanuel Vadot description: 42*8bab661aSEmmanuel Vadot The jpeg encoder hardware device node which should be added as subnodes to 43*8bab661aSEmmanuel Vadot the main jpeg node. 44*8bab661aSEmmanuel Vadot 45*8bab661aSEmmanuel Vadot properties: 46*8bab661aSEmmanuel Vadot compatible: 47*8bab661aSEmmanuel Vadot const: mediatek,mt8195-jpgenc-hw 48*8bab661aSEmmanuel Vadot 49*8bab661aSEmmanuel Vadot reg: 50*8bab661aSEmmanuel Vadot maxItems: 1 51*8bab661aSEmmanuel Vadot 52*8bab661aSEmmanuel Vadot iommus: 53*8bab661aSEmmanuel Vadot minItems: 1 54*8bab661aSEmmanuel Vadot maxItems: 32 55*8bab661aSEmmanuel Vadot description: 56*8bab661aSEmmanuel Vadot List of the hardware port in respective IOMMU block for current Socs. 57*8bab661aSEmmanuel Vadot Refer to bindings/iommu/mediatek,iommu.yaml. 58*8bab661aSEmmanuel Vadot 59*8bab661aSEmmanuel Vadot interrupts: 60*8bab661aSEmmanuel Vadot maxItems: 1 61*8bab661aSEmmanuel Vadot 62*8bab661aSEmmanuel Vadot clocks: 63*8bab661aSEmmanuel Vadot maxItems: 1 64*8bab661aSEmmanuel Vadot 65*8bab661aSEmmanuel Vadot clock-names: 66*8bab661aSEmmanuel Vadot items: 67*8bab661aSEmmanuel Vadot - const: jpgenc 68*8bab661aSEmmanuel Vadot 69*8bab661aSEmmanuel Vadot power-domains: 70*8bab661aSEmmanuel Vadot maxItems: 1 71*8bab661aSEmmanuel Vadot 72*8bab661aSEmmanuel Vadot required: 73*8bab661aSEmmanuel Vadot - compatible 74*8bab661aSEmmanuel Vadot - reg 75*8bab661aSEmmanuel Vadot - iommus 76*8bab661aSEmmanuel Vadot - interrupts 77*8bab661aSEmmanuel Vadot - clocks 78*8bab661aSEmmanuel Vadot - clock-names 79*8bab661aSEmmanuel Vadot - power-domains 80*8bab661aSEmmanuel Vadot 81*8bab661aSEmmanuel Vadot additionalProperties: false 82*8bab661aSEmmanuel Vadot 83*8bab661aSEmmanuel Vadotrequired: 84*8bab661aSEmmanuel Vadot - compatible 85*8bab661aSEmmanuel Vadot - power-domains 86*8bab661aSEmmanuel Vadot - iommus 87*8bab661aSEmmanuel Vadot - ranges 88*8bab661aSEmmanuel Vadot 89*8bab661aSEmmanuel VadotadditionalProperties: false 90*8bab661aSEmmanuel Vadot 91*8bab661aSEmmanuel Vadotexamples: 92*8bab661aSEmmanuel Vadot - | 93*8bab661aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/arm-gic.h> 94*8bab661aSEmmanuel Vadot #include <dt-bindings/memory/mt8195-memory-port.h> 95*8bab661aSEmmanuel Vadot #include <dt-bindings/interrupt-controller/irq.h> 96*8bab661aSEmmanuel Vadot #include <dt-bindings/clock/mt8195-clk.h> 97*8bab661aSEmmanuel Vadot #include <dt-bindings/power/mt8195-power.h> 98*8bab661aSEmmanuel Vadot 99*8bab661aSEmmanuel Vadot soc { 100*8bab661aSEmmanuel Vadot #address-cells = <2>; 101*8bab661aSEmmanuel Vadot #size-cells = <2>; 102*8bab661aSEmmanuel Vadot 103*8bab661aSEmmanuel Vadot jpgenc-master { 104*8bab661aSEmmanuel Vadot compatible = "mediatek,mt8195-jpgenc"; 105*8bab661aSEmmanuel Vadot power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; 106*8bab661aSEmmanuel Vadot iommus = <&iommu_vpp M4U_PORT_L20_JPGENC_Y_RDMA>, 107*8bab661aSEmmanuel Vadot <&iommu_vpp M4U_PORT_L20_JPGENC_C_RDMA>, 108*8bab661aSEmmanuel Vadot <&iommu_vpp M4U_PORT_L20_JPGENC_Q_TABLE>, 109*8bab661aSEmmanuel Vadot <&iommu_vpp M4U_PORT_L20_JPGENC_BSDMA>; 110*8bab661aSEmmanuel Vadot #address-cells = <2>; 111*8bab661aSEmmanuel Vadot #size-cells = <2>; 112*8bab661aSEmmanuel Vadot ranges; 113*8bab661aSEmmanuel Vadot 114*8bab661aSEmmanuel Vadot jpgenc@1a030000 { 115*8bab661aSEmmanuel Vadot compatible = "mediatek,mt8195-jpgenc-hw"; 116*8bab661aSEmmanuel Vadot reg = <0 0x1a030000 0 0x10000>; 117*8bab661aSEmmanuel Vadot iommus = <&iommu_vdo M4U_PORT_L19_JPGENC_Y_RDMA>, 118*8bab661aSEmmanuel Vadot <&iommu_vdo M4U_PORT_L19_JPGENC_C_RDMA>, 119*8bab661aSEmmanuel Vadot <&iommu_vdo M4U_PORT_L19_JPGENC_Q_TABLE>, 120*8bab661aSEmmanuel Vadot <&iommu_vdo M4U_PORT_L19_JPGENC_BSDMA>; 121*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 342 IRQ_TYPE_LEVEL_HIGH 0>; 122*8bab661aSEmmanuel Vadot clocks = <&vencsys CLK_VENC_JPGENC>; 123*8bab661aSEmmanuel Vadot clock-names = "jpgenc"; 124*8bab661aSEmmanuel Vadot power-domains = <&spm MT8195_POWER_DOMAIN_VENC>; 125*8bab661aSEmmanuel Vadot }; 126*8bab661aSEmmanuel Vadot 127*8bab661aSEmmanuel Vadot jpgenc@1b030000 { 128*8bab661aSEmmanuel Vadot compatible = "mediatek,mt8195-jpgenc-hw"; 129*8bab661aSEmmanuel Vadot reg = <0 0x1b030000 0 0x10000>; 130*8bab661aSEmmanuel Vadot iommus = <&iommu_vpp M4U_PORT_L20_JPGENC_Y_RDMA>, 131*8bab661aSEmmanuel Vadot <&iommu_vpp M4U_PORT_L20_JPGENC_C_RDMA>, 132*8bab661aSEmmanuel Vadot <&iommu_vpp M4U_PORT_L20_JPGENC_Q_TABLE>, 133*8bab661aSEmmanuel Vadot <&iommu_vpp M4U_PORT_L20_JPGENC_BSDMA>; 134*8bab661aSEmmanuel Vadot interrupts = <GIC_SPI 347 IRQ_TYPE_LEVEL_HIGH 0>; 135*8bab661aSEmmanuel Vadot clocks = <&vencsys_core1 CLK_VENC_CORE1_JPGENC>; 136*8bab661aSEmmanuel Vadot clock-names = "jpgenc"; 137*8bab661aSEmmanuel Vadot power-domains = <&spm MT8195_POWER_DOMAIN_VENC_CORE1>; 138*8bab661aSEmmanuel Vadot }; 139*8bab661aSEmmanuel Vadot }; 140*8bab661aSEmmanuel Vadot }; 141