mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
media: platform: mtk-mdp3: chip config split about color format
Due to differences in hardware design, the supported color formats will vary and should be integrated into specific config file. Signed-off-by: Moudy Ho <moudy.ho@mediatek.com> Signed-off-by: Hans Verkuil <hverkuil-cisco@xs4all.nl>
This commit is contained in:
@@ -7,6 +7,7 @@
|
||||
#include "mtk-mdp3-cfg.h"
|
||||
#include "mtk-mdp3-core.h"
|
||||
#include "mtk-mdp3-comp.h"
|
||||
#include "mtk-mdp3-regs.h"
|
||||
|
||||
enum mt8183_mdp_comp_id {
|
||||
/* ISP */
|
||||
@@ -155,6 +156,231 @@ static const struct of_device_id mt8183_sub_comp_dt_ids[] = {
|
||||
{}
|
||||
};
|
||||
|
||||
/*
|
||||
* All 10-bit related formats are not added in the basic format list,
|
||||
* please add the corresponding format settings before use.
|
||||
*/
|
||||
static const struct mdp_format mt8183_formats[] = {
|
||||
{
|
||||
.pixelformat = V4L2_PIX_FMT_GREY,
|
||||
.mdp_color = MDP_COLOR_GREY,
|
||||
.depth = { 8 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_RGB565X,
|
||||
.mdp_color = MDP_COLOR_BGR565,
|
||||
.depth = { 16 },
|
||||
.row_depth = { 16 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_RGB565,
|
||||
.mdp_color = MDP_COLOR_RGB565,
|
||||
.depth = { 16 },
|
||||
.row_depth = { 16 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_RGB24,
|
||||
.mdp_color = MDP_COLOR_RGB888,
|
||||
.depth = { 24 },
|
||||
.row_depth = { 24 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_BGR24,
|
||||
.mdp_color = MDP_COLOR_BGR888,
|
||||
.depth = { 24 },
|
||||
.row_depth = { 24 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_ABGR32,
|
||||
.mdp_color = MDP_COLOR_BGRA8888,
|
||||
.depth = { 32 },
|
||||
.row_depth = { 32 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_ARGB32,
|
||||
.mdp_color = MDP_COLOR_ARGB8888,
|
||||
.depth = { 32 },
|
||||
.row_depth = { 32 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_UYVY,
|
||||
.mdp_color = MDP_COLOR_UYVY,
|
||||
.depth = { 16 },
|
||||
.row_depth = { 16 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_VYUY,
|
||||
.mdp_color = MDP_COLOR_VYUY,
|
||||
.depth = { 16 },
|
||||
.row_depth = { 16 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YUYV,
|
||||
.mdp_color = MDP_COLOR_YUYV,
|
||||
.depth = { 16 },
|
||||
.row_depth = { 16 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YVYU,
|
||||
.mdp_color = MDP_COLOR_YVYU,
|
||||
.depth = { 16 },
|
||||
.row_depth = { 16 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YUV420,
|
||||
.mdp_color = MDP_COLOR_I420,
|
||||
.depth = { 12 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.halign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YVU420,
|
||||
.mdp_color = MDP_COLOR_YV12,
|
||||
.depth = { 12 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.halign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV12,
|
||||
.mdp_color = MDP_COLOR_NV12,
|
||||
.depth = { 12 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.halign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV21,
|
||||
.mdp_color = MDP_COLOR_NV21,
|
||||
.depth = { 12 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.halign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV16,
|
||||
.mdp_color = MDP_COLOR_NV16,
|
||||
.depth = { 16 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV61,
|
||||
.mdp_color = MDP_COLOR_NV61,
|
||||
.depth = { 16 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.walign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV24,
|
||||
.mdp_color = MDP_COLOR_NV24,
|
||||
.depth = { 24 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV42,
|
||||
.mdp_color = MDP_COLOR_NV42,
|
||||
.depth = { 24 },
|
||||
.row_depth = { 8 },
|
||||
.num_planes = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_MT21C,
|
||||
.mdp_color = MDP_COLOR_420_BLK_UFO,
|
||||
.depth = { 8, 4 },
|
||||
.row_depth = { 8, 8 },
|
||||
.num_planes = 2,
|
||||
.walign = 4,
|
||||
.halign = 5,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_MM21,
|
||||
.mdp_color = MDP_COLOR_420_BLK,
|
||||
.depth = { 8, 4 },
|
||||
.row_depth = { 8, 8 },
|
||||
.num_planes = 2,
|
||||
.walign = 4,
|
||||
.halign = 5,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV12M,
|
||||
.mdp_color = MDP_COLOR_NV12,
|
||||
.depth = { 8, 4 },
|
||||
.row_depth = { 8, 8 },
|
||||
.num_planes = 2,
|
||||
.walign = 1,
|
||||
.halign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV21M,
|
||||
.mdp_color = MDP_COLOR_NV21,
|
||||
.depth = { 8, 4 },
|
||||
.row_depth = { 8, 8 },
|
||||
.num_planes = 2,
|
||||
.walign = 1,
|
||||
.halign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV16M,
|
||||
.mdp_color = MDP_COLOR_NV16,
|
||||
.depth = { 8, 8 },
|
||||
.row_depth = { 8, 8 },
|
||||
.num_planes = 2,
|
||||
.walign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_NV61M,
|
||||
.mdp_color = MDP_COLOR_NV61,
|
||||
.depth = { 8, 8 },
|
||||
.row_depth = { 8, 8 },
|
||||
.num_planes = 2,
|
||||
.walign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YUV420M,
|
||||
.mdp_color = MDP_COLOR_I420,
|
||||
.depth = { 8, 2, 2 },
|
||||
.row_depth = { 8, 4, 4 },
|
||||
.num_planes = 3,
|
||||
.walign = 1,
|
||||
.halign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}, {
|
||||
.pixelformat = V4L2_PIX_FMT_YVU420M,
|
||||
.mdp_color = MDP_COLOR_YV12,
|
||||
.depth = { 8, 2, 2 },
|
||||
.row_depth = { 8, 4, 4 },
|
||||
.num_planes = 3,
|
||||
.walign = 1,
|
||||
.halign = 1,
|
||||
.flags = MDP_FMT_FLAG_OUTPUT | MDP_FMT_FLAG_CAPTURE,
|
||||
}
|
||||
};
|
||||
|
||||
const struct mtk_mdp_driver_data mt8183_mdp_driver_data = {
|
||||
.mdp_probe_infra = mt8183_mdp_probe_infra,
|
||||
.mdp_cfg = &mt8183_plat_cfg,
|
||||
@@ -162,6 +388,8 @@ const struct mtk_mdp_driver_data mt8183_mdp_driver_data = {
|
||||
.comp_data = mt8183_mdp_comp_data,
|
||||
.comp_data_len = ARRAY_SIZE(mt8183_mdp_comp_data),
|
||||
.mdp_sub_comp_dt_ids = mt8183_sub_comp_dt_ids,
|
||||
.format = mt8183_formats,
|
||||
.format_len = ARRAY_SIZE(mt8183_formats),
|
||||
};
|
||||
|
||||
s32 mdp_cfg_get_id_inner(struct mdp_dev *mdp_dev, enum mtk_mdp_comp_id id)
|
||||
|
||||
Reference in New Issue
Block a user