diff options
Diffstat (limited to 'meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch')
-rw-r--r-- | meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch new file mode 100644 index 000000000..1d8b722de --- /dev/null +++ b/meta-openbmc-mods/meta-common/recipes-kernel/linux/linux-aspeed/0087-media-aspeed-add-aspeed-ast2600-video-engine-compati.patch @@ -0,0 +1,63 @@ +From 1765cb18bacff9d1f48b833f44da198a09f7d5cb Mon Sep 17 00:00:00 2001 +From: Jae Hyun Yoo <jae.hyun.yoo@intel.com> +Date: Tue, 26 Nov 2019 16:39:16 -0800 +Subject: [PATCH] media: aspeed: add aspeed,ast2600-video-engine compatible + string + +This commit adds "aspeed,ast2600-video-engine" compatible string +to support AST2600 video engine H/W. Also. it adds G6 specific +register handling flow. + +Signed-off-by: Jae Hyun Yoo <jae.hyun.yoo@intel.com> +--- + drivers/media/platform/aspeed-video.c | 13 ++++++++++--- + 1 file changed, 10 insertions(+), 3 deletions(-) + +diff --git a/drivers/media/platform/aspeed-video.c b/drivers/media/platform/aspeed-video.c +index db45502774b1..fe70ad408375 100644 +--- a/drivers/media/platform/aspeed-video.c ++++ b/drivers/media/platform/aspeed-video.c +@@ -72,8 +72,8 @@ + #define VE_SEQ_CTRL_CAP_BUSY BIT(16) + #define VE_SEQ_CTRL_COMP_BUSY BIT(18) + +-#ifdef CONFIG_MACH_ASPEED_G5 +-#define VE_SEQ_CTRL_JPEG_MODE BIT(13) /* AST2500 */ ++#if defined(CONFIG_MACH_ASPEED_G5) || defined(CONFIG_MACH_ASPEED_G6) ++#define VE_SEQ_CTRL_JPEG_MODE BIT(13) /* AST2500/2600 */ + #else + #define VE_SEQ_CTRL_JPEG_MODE BIT(8) /* AST2400 */ + #endif /* CONFIG_MACH_ASPEED_G5 */ +@@ -135,6 +135,12 @@ + + #define VE_OFFSET_COMP_STREAM 0x078 + ++#ifdef CONFIG_MACH_ASPEED_G6 ++#define VE_JPEG_COMP_SIZE_READ_BACK 0x084 /* AST2600 */ ++#else ++#define VE_JPEG_COMP_SIZE_READ_BACK VE_OFFSET_COMP_STREAM ++#endif ++ + #define VE_SRC_LR_EDGE_DET 0x090 + #define VE_SRC_LR_EDGE_DET_LEFT GENMASK(11, 0) + #define VE_SRC_LR_EDGE_DET_NO_V BIT(12) +@@ -572,7 +578,7 @@ static irqreturn_t aspeed_video_irq(int irq, void *arg) + if (sts & VE_INTERRUPT_COMP_COMPLETE) { + struct aspeed_video_buffer *buf; + u32 frame_size = aspeed_video_read(video, +- VE_OFFSET_COMP_STREAM); ++ VE_JPEG_COMP_SIZE_READ_BACK); + + spin_lock(&video->lock); + clear_bit(VIDEO_FRAME_INPRG, &video->flags); +@@ -1718,6 +1724,7 @@ static int aspeed_video_remove(struct platform_device *pdev) + static const struct of_device_id aspeed_video_of_match[] = { + { .compatible = "aspeed,ast2400-video-engine" }, + { .compatible = "aspeed,ast2500-video-engine" }, ++ { .compatible = "aspeed,ast2600-video-engine" }, + {} + }; + MODULE_DEVICE_TABLE(of, aspeed_video_of_match); +-- +2.7.4 + |