mirror of
https://github.com/edk2-porting/linux-next.git
synced 2025-01-25 15:15:33 +08:00
61890ccaef
This patch adds driver for MediaTek's Media Data Path ver.3 (MDP3). It provides the following functions: color transform, format conversion, resize, crop, rotate, flip and additional image quality enhancement. The MDP3 driver is mainly used for Google Chromebook products to import the new architecture to set the HW settings as shown below: User -> V4L2 framework -> MDP3 driver -> SCP (setting calculations) -> MDP3 driver -> CMDQ (GCE driver) -> HW Each modules' related operation control is sited in mtk-mdp3-comp.c Each modules' register table is defined in file with "mdp_reg_" prefix GCE related API, operation control sited in mtk-mdp3-cmdq.c V4L2 m2m device functions are implemented in mtk-mdp3-m2m.c Probe, power, suspend/resume, system level functions are defined in mtk-mdp3-core.c [hverkuil: add 'depends on REMOTEPROC'] Signed-off-by: Ping-Hsun Wu <ping-hsun.wu@mediatek.com> Signed-off-by: daoyuan huang <daoyuan.huang@mediatek.com> Signed-off-by: Moudy Ho <moudy.ho@mediatek.com> Tested-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl> Signed-off-by: Mauro Carvalho Chehab <mchehab@kernel.org>
48 lines
1.6 KiB
C
48 lines
1.6 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2022 MediaTek Inc.
|
|
* Author: Ping-Hsun Wu <ping-hsun.wu@mediatek.com>
|
|
*/
|
|
|
|
#ifndef __MDP_REG_WDMA_H__
|
|
#define __MDP_REG_WDMA_H__
|
|
|
|
#define WDMA_EN 0x008
|
|
#define WDMA_RST 0x00c
|
|
#define WDMA_CFG 0x014
|
|
#define WDMA_SRC_SIZE 0x018
|
|
#define WDMA_CLIP_SIZE 0x01c
|
|
#define WDMA_CLIP_COORD 0x020
|
|
#define WDMA_DST_W_IN_BYTE 0x028
|
|
#define WDMA_ALPHA 0x02c
|
|
#define WDMA_BUF_CON2 0x03c
|
|
#define WDMA_DST_UV_PITCH 0x078
|
|
#define WDMA_DST_ADDR_OFFSET 0x080
|
|
#define WDMA_DST_U_ADDR_OFFSET 0x084
|
|
#define WDMA_DST_V_ADDR_OFFSET 0x088
|
|
#define WDMA_FLOW_CTRL_DBG 0x0a0
|
|
#define WDMA_DST_ADDR 0xf00
|
|
#define WDMA_DST_U_ADDR 0xf04
|
|
#define WDMA_DST_V_ADDR 0xf08
|
|
|
|
/* MASK */
|
|
#define WDMA_EN_MASK 0x00000001
|
|
#define WDMA_RST_MASK 0x00000001
|
|
#define WDMA_CFG_MASK 0xff03bff0
|
|
#define WDMA_SRC_SIZE_MASK 0x3fff3fff
|
|
#define WDMA_CLIP_SIZE_MASK 0x3fff3fff
|
|
#define WDMA_CLIP_COORD_MASK 0x3fff3fff
|
|
#define WDMA_DST_W_IN_BYTE_MASK 0x0000ffff
|
|
#define WDMA_ALPHA_MASK 0x800000ff
|
|
#define WDMA_BUF_CON2_MASK 0xffffffff
|
|
#define WDMA_DST_UV_PITCH_MASK 0x0000ffff
|
|
#define WDMA_DST_ADDR_OFFSET_MASK 0x0fffffff
|
|
#define WDMA_DST_U_ADDR_OFFSET_MASK 0x0fffffff
|
|
#define WDMA_DST_V_ADDR_OFFSET_MASK 0x0fffffff
|
|
#define WDMA_FLOW_CTRL_DBG_MASK 0x0000f3ff
|
|
#define WDMA_DST_ADDR_MASK 0xffffffff
|
|
#define WDMA_DST_U_ADDR_MASK 0xffffffff
|
|
#define WDMA_DST_V_ADDR_MASK 0xffffffff
|
|
|
|
#endif // __MDP_REG_WDMA_H__
|