Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3003a180 authored by Andrew-CT Chen's avatar Andrew-CT Chen Committed by Mauro Carvalho Chehab
Browse files

[media] VPU: mediatek: support Mediatek VPU



The VPU driver for hw video codec embedded in Mediatek's MT8173 SOCs.
It is able to handle video decoding/encoding of in a range of formats.
The driver provides with VPU firmware download, memory management and
the communication interface between CPU and VPU.
For VPU initialization, it will create virtual memory for CPU access and
IOMMU address for vcodec hw device access. When a decode/encode instance
opens a device node, vpu driver will download vpu firmware to the device.
A decode/encode instant will decode/encode a frame using VPU
interface to interrupt vpu to handle decoding/encoding jobs.

Signed-off-by: default avatarAndrew-CT Chen <andrew-ct.chen@mediatek.com>
Signed-off-by: default avatarTiffany Lin <tiffany.lin@mediatek.com>
[hans.verkuil@cisco.com: drop unnecessary ARM || ARM64 dependency]
Signed-off-by: default avatarHans Verkuil <hans.verkuil@cisco.com>

Signed-off-by: default avatarMauro Carvalho Chehab <mchehab@s-opensource.com>
parent ab46f6d2
Loading
Loading
Loading
Loading
+13 −0
Original line number Diff line number Diff line
@@ -153,6 +153,19 @@ config VIDEO_CODA
	   Coda is a range of video codec IPs that supports
	   H.264, MPEG-4, and other video formats.

config VIDEO_MEDIATEK_VPU
	tristate "Mediatek Video Processor Unit"
	depends on VIDEO_DEV && VIDEO_V4L2
	depends on ARCH_MEDIATEK || COMPILE_TEST
	---help---
	    This driver provides downloading VPU firmware and
	    communicating with VPU. This driver for hw video
	    codec embedded in Mediatek's MT8173 SOCs. It is able
	    to handle video decoding/encoding in a range of formats.

	    To compile this driver as a module, choose M here: the
	    module will be called mtk-vpu.

config VIDEO_MEM2MEM_DEINTERLACE
	tristate "Deinterlace support"
	depends on VIDEO_DEV && VIDEO_V4L2 && DMA_ENGINE
+2 −0
Original line number Diff line number Diff line
@@ -58,3 +58,5 @@ obj-$(CONFIG_VIDEO_XILINX) += xilinx/
obj-$(CONFIG_VIDEO_RCAR_VIN)		+= rcar-vin/

ccflags-y += -I$(srctree)/drivers/media/i2c

obj-$(CONFIG_VIDEO_MEDIATEK_VPU)	+= mtk-vpu/
+3 −0
Original line number Diff line number Diff line
mtk-vpu-y += mtk_vpu.o

obj-$(CONFIG_VIDEO_MEDIATEK_VPU) += mtk-vpu.o