Commit 48bfb13c authored by AngeloGioacchino Del Regno's avatar AngeloGioacchino Del Regno Committed by Chun-Kuang Hu
Browse files

drm/mediatek: Add support for MT8195 Digital Parallel Interface



Add support for the DPI block found in the MT8195 and MT8188 SoCs.
Inside of the SoC, this block is directly connected to the HDMI IP.

Reviewed-by: default avatarCK Hu <ck.hu@mediatek.com>
Signed-off-by: default avatarAngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://patchwork.kernel.org/project/dri-devel/patch/20250217154836.108895-11-angelogioacchino.delregno@collabora.com/


Signed-off-by: default avatarChun-Kuang Hu <chunkuang.hu@kernel.org>
parent 473c33f5
Loading
Loading
Loading
Loading
+19 −0
Original line number Diff line number Diff line
@@ -1139,6 +1139,24 @@ static const struct mtk_dpi_conf mt8192_conf = {
	.csc_enable_bit = CSC_ENABLE,
};

static const struct mtk_dpi_conf mt8195_conf = {
	.max_clock_khz = 594000,
	.output_fmts = mt8183_output_fmts,
	.num_output_fmts = ARRAY_SIZE(mt8183_output_fmts),
	.pixels_per_iter = 1,
	.is_ck_de_pol = true,
	.swap_input_support = true,
	.support_direct_pin = true,
	.dimension_mask = HPW_MASK,
	.hvsize_mask = HSIZE_MASK,
	.channel_swap_shift = CH_SWAP,
	.yuv422_en_bit = YUV422_EN,
	.csc_enable_bit = CSC_ENABLE,
	.input_2p_en_bit = DPI_INPUT_2P_EN,
	.clocked_by_hdmi = true,
	.output_1pixel = true,
};

static const struct mtk_dpi_conf mt8195_dpintf_conf = {
	.dpi_factor = dpi_factor_mt8195_dp_intf,
	.num_dpi_factor = ARRAY_SIZE(dpi_factor_mt8195_dp_intf),
@@ -1242,6 +1260,7 @@ static const struct of_device_id mtk_dpi_of_ids[] = {
	{ .compatible = "mediatek,mt8188-dp-intf", .data = &mt8195_dpintf_conf },
	{ .compatible = "mediatek,mt8192-dpi", .data = &mt8192_conf },
	{ .compatible = "mediatek,mt8195-dp-intf", .data = &mt8195_dpintf_conf },
	{ .compatible = "mediatek,mt8195-dpi", .data = &mt8195_conf },
	{ /* sentinel */ },
};
MODULE_DEVICE_TABLE(of, mtk_dpi_of_ids);
+1 −0
Original line number Diff line number Diff line
@@ -43,6 +43,7 @@

/* DPI_CON: DPI instances */
#define DPI_OUTPUT_1T1P_EN		BIT(24)
#define DPI_INPUT_2P_EN			BIT(25)
/* DPI_CON: DPINTF instances */
#define DPINTF_YUV422_EN		BIT(24)
#define DPINTF_CSC_ENABLE		BIT(26)
+2 −0
Original line number Diff line number Diff line
@@ -810,6 +810,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
	  .data = (void *)MTK_DPI },
	{ .compatible = "mediatek,mt8195-dp-intf",
	  .data = (void *)MTK_DP_INTF },
	{ .compatible = "mediatek,mt8195-dpi",
	  .data = (void *)MTK_DPI },
	{ .compatible = "mediatek,mt2701-dsi",
	  .data = (void *)MTK_DSI },
	{ .compatible = "mediatek,mt8173-dsi",