media: aspeed: Add macro for the fields of the mode-detect registers

VE_MODE_DT_HOR_TOLER: the tolerance in detecting for stable horizontal
signal.
VE_MODE_DT_VER_TOLER: the tolerance in detecting for stable vertical
signal.
VE_MODE_DT_HOR_STABLE: the minimum required count in detecting stable
HSYNC signal to set mode detection horizontal signal stable.
VE_MODE_DT_VER_STABLE: the minimum required count in detecting stable
VSYNC signal to set mode detection vertical signal stable.

Signed-off-by: Jammy Huang <jammy_huang@aspeedtech.com>
Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
Jammy Huang 2022-01-26 09:47:24 +08:00 committed by Hans Verkuil
parent a12403affe
commit d6f9a60f64

View File

@ -180,6 +180,12 @@
#define VE_INTERRUPT_VSYNC_DESC BIT(11)
#define VE_MODE_DETECT 0x30c
#define VE_MODE_DT_HOR_TOLER GENMASK(31, 28)
#define VE_MODE_DT_VER_TOLER GENMASK(27, 24)
#define VE_MODE_DT_HOR_STABLE GENMASK(23, 20)
#define VE_MODE_DT_VER_STABLE GENMASK(19, 16)
#define VE_MODE_DT_EDG_THROD GENMASK(15, 8)
#define VE_MEM_RESTRICT_START 0x310
#define VE_MEM_RESTRICT_END 0x314
@ -1135,7 +1141,12 @@ static void aspeed_video_init_regs(struct aspeed_video *video)
aspeed_video_write(video, VE_SCALING_FILTER3, 0x00200000);
/* Set mode detection defaults */
aspeed_video_write(video, VE_MODE_DETECT, 0x22666500);
aspeed_video_write(video, VE_MODE_DETECT,
FIELD_PREP(VE_MODE_DT_HOR_TOLER, 2) |
FIELD_PREP(VE_MODE_DT_VER_TOLER, 2) |
FIELD_PREP(VE_MODE_DT_HOR_STABLE, 6) |
FIELD_PREP(VE_MODE_DT_VER_STABLE, 6) |
FIELD_PREP(VE_MODE_DT_EDG_THROD, 0x65));
}
static void aspeed_video_start(struct aspeed_video *video)