Skip to content

Commit 01365f5

Browse files
Yongqiang NiuChun-Kuang Hu
authored andcommitted
drm/mediatek: Add support for Mediatek SoC MT8192
Add support for Mediatek SoC MT8192 Signed-off-by: Yongqiang Niu <[email protected]> Signed-off-by: Hsin-Yi Wang <[email protected]> Signed-off-by: Chun-Kuang Hu <[email protected]>
1 parent f4cca88 commit 01365f5

File tree

4 files changed

+74
-0
lines changed

4 files changed

+74
-0
lines changed

drivers/gpu/drm/mediatek/mtk_disp_ccorr.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -205,9 +205,15 @@ static const struct mtk_disp_ccorr_data mt8183_ccorr_driver_data = {
205205
.matrix_bits = 10,
206206
};
207207

208+
static const struct mtk_disp_ccorr_data mt8192_ccorr_driver_data = {
209+
.matrix_bits = 11,
210+
};
211+
208212
static const struct of_device_id mtk_disp_ccorr_driver_dt_match[] = {
209213
{ .compatible = "mediatek,mt8183-disp-ccorr",
210214
.data = &mt8183_ccorr_driver_data},
215+
{ .compatible = "mediatek,mt8192-disp-ccorr",
216+
.data = &mt8192_ccorr_driver_data},
211217
{},
212218
};
213219
MODULE_DEVICE_TABLE(of, mtk_disp_ccorr_driver_dt_match);

drivers/gpu/drm/mediatek/mtk_disp_ovl.c

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -456,6 +456,22 @@ static const struct mtk_disp_ovl_data mt8183_ovl_2l_driver_data = {
456456
.fmt_rgb565_is_0 = true,
457457
};
458458

459+
static const struct mtk_disp_ovl_data mt8192_ovl_driver_data = {
460+
.addr = DISP_REG_OVL_ADDR_MT8173,
461+
.gmc_bits = 10,
462+
.layer_nr = 4,
463+
.fmt_rgb565_is_0 = true,
464+
.smi_id_en = true,
465+
};
466+
467+
static const struct mtk_disp_ovl_data mt8192_ovl_2l_driver_data = {
468+
.addr = DISP_REG_OVL_ADDR_MT8173,
469+
.gmc_bits = 10,
470+
.layer_nr = 2,
471+
.fmt_rgb565_is_0 = true,
472+
.smi_id_en = true,
473+
};
474+
459475
static const struct of_device_id mtk_disp_ovl_driver_dt_match[] = {
460476
{ .compatible = "mediatek,mt2701-disp-ovl",
461477
.data = &mt2701_ovl_driver_data},
@@ -465,6 +481,10 @@ static const struct of_device_id mtk_disp_ovl_driver_dt_match[] = {
465481
.data = &mt8183_ovl_driver_data},
466482
{ .compatible = "mediatek,mt8183-disp-ovl-2l",
467483
.data = &mt8183_ovl_2l_driver_data},
484+
{ .compatible = "mediatek,mt8192-disp-ovl",
485+
.data = &mt8192_ovl_driver_data},
486+
{ .compatible = "mediatek,mt8192-disp-ovl-2l",
487+
.data = &mt8192_ovl_2l_driver_data},
468488
{},
469489
};
470490
MODULE_DEVICE_TABLE(of, mtk_disp_ovl_driver_dt_match);

drivers/gpu/drm/mediatek/mtk_disp_rdma.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -353,13 +353,19 @@ static const struct mtk_disp_rdma_data mt8183_rdma_driver_data = {
353353
.fifo_size = 5 * SZ_1K,
354354
};
355355

356+
static const struct mtk_disp_rdma_data mt8192_rdma_driver_data = {
357+
.fifo_size = 5 * SZ_1K,
358+
};
359+
356360
static const struct of_device_id mtk_disp_rdma_driver_dt_match[] = {
357361
{ .compatible = "mediatek,mt2701-disp-rdma",
358362
.data = &mt2701_rdma_driver_data},
359363
{ .compatible = "mediatek,mt8173-disp-rdma",
360364
.data = &mt8173_rdma_driver_data},
361365
{ .compatible = "mediatek,mt8183-disp-rdma",
362366
.data = &mt8183_rdma_driver_data},
367+
{ .compatible = "mediatek,mt8192-disp-rdma",
368+
.data = &mt8192_rdma_driver_data},
363369
{},
364370
};
365371
MODULE_DEVICE_TABLE(of, mtk_disp_rdma_driver_dt_match);

drivers/gpu/drm/mediatek/mtk_drm_drv.c

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -158,6 +158,25 @@ static const enum mtk_ddp_comp_id mt8183_mtk_ddp_ext[] = {
158158
DDP_COMPONENT_DPI0,
159159
};
160160

161+
static const enum mtk_ddp_comp_id mt8192_mtk_ddp_main[] = {
162+
DDP_COMPONENT_OVL0,
163+
DDP_COMPONENT_OVL_2L0,
164+
DDP_COMPONENT_RDMA0,
165+
DDP_COMPONENT_COLOR0,
166+
DDP_COMPONENT_CCORR,
167+
DDP_COMPONENT_AAL0,
168+
DDP_COMPONENT_GAMMA,
169+
DDP_COMPONENT_POSTMASK0,
170+
DDP_COMPONENT_DITHER,
171+
DDP_COMPONENT_DSI0,
172+
};
173+
174+
static const enum mtk_ddp_comp_id mt8192_mtk_ddp_ext[] = {
175+
DDP_COMPONENT_OVL_2L2,
176+
DDP_COMPONENT_RDMA4,
177+
DDP_COMPONENT_DPI0,
178+
};
179+
161180
static const struct mtk_mmsys_driver_data mt2701_mmsys_driver_data = {
162181
.main_path = mt2701_mtk_ddp_main,
163182
.main_len = ARRAY_SIZE(mt2701_mtk_ddp_main),
@@ -202,6 +221,13 @@ static const struct mtk_mmsys_driver_data mt8183_mmsys_driver_data = {
202221
.ext_len = ARRAY_SIZE(mt8183_mtk_ddp_ext),
203222
};
204223

224+
static const struct mtk_mmsys_driver_data mt8192_mmsys_driver_data = {
225+
.main_path = mt8192_mtk_ddp_main,
226+
.main_len = ARRAY_SIZE(mt8192_mtk_ddp_main),
227+
.ext_path = mt8192_mtk_ddp_ext,
228+
.ext_len = ARRAY_SIZE(mt8192_mtk_ddp_ext),
229+
};
230+
205231
static int mtk_drm_kms_init(struct drm_device *drm)
206232
{
207233
struct mtk_drm_private *private = drm->dev_private;
@@ -407,6 +433,10 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
407433
.data = (void *)MTK_DISP_OVL },
408434
{ .compatible = "mediatek,mt8183-disp-ovl-2l",
409435
.data = (void *)MTK_DISP_OVL_2L },
436+
{ .compatible = "mediatek,mt8192-disp-ovl",
437+
.data = (void *)MTK_DISP_OVL },
438+
{ .compatible = "mediatek,mt8192-disp-ovl-2l",
439+
.data = (void *)MTK_DISP_OVL_2L },
410440
{ .compatible = "mediatek,mt2701-disp-rdma",
411441
.data = (void *)MTK_DISP_RDMA },
412442
{ .compatible = "mediatek,mt8167-disp-rdma",
@@ -415,12 +445,16 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
415445
.data = (void *)MTK_DISP_RDMA },
416446
{ .compatible = "mediatek,mt8183-disp-rdma",
417447
.data = (void *)MTK_DISP_RDMA },
448+
{ .compatible = "mediatek,mt8192-disp-rdma",
449+
.data = (void *)MTK_DISP_RDMA },
418450
{ .compatible = "mediatek,mt8173-disp-wdma",
419451
.data = (void *)MTK_DISP_WDMA },
420452
{ .compatible = "mediatek,mt8167-disp-ccorr",
421453
.data = (void *)MTK_DISP_CCORR },
422454
{ .compatible = "mediatek,mt8183-disp-ccorr",
423455
.data = (void *)MTK_DISP_CCORR },
456+
{ .compatible = "mediatek,mt8192-disp-ccorr",
457+
.data = (void *)MTK_DISP_CCORR },
424458
{ .compatible = "mediatek,mt2701-disp-color",
425459
.data = (void *)MTK_DISP_COLOR },
426460
{ .compatible = "mediatek,mt8167-disp-color",
@@ -433,6 +467,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
433467
.data = (void *)MTK_DISP_AAL},
434468
{ .compatible = "mediatek,mt8183-disp-aal",
435469
.data = (void *)MTK_DISP_AAL},
470+
{ .compatible = "mediatek,mt8192-disp-aal",
471+
.data = (void *)MTK_DISP_AAL},
436472
{ .compatible = "mediatek,mt8167-disp-gamma",
437473
.data = (void *)MTK_DISP_GAMMA, },
438474
{ .compatible = "mediatek,mt8173-disp-gamma",
@@ -469,6 +505,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
469505
.data = (void *)MTK_DISP_MUTEX },
470506
{ .compatible = "mediatek,mt8183-disp-mutex",
471507
.data = (void *)MTK_DISP_MUTEX },
508+
{ .compatible = "mediatek,mt8192-disp-mutex",
509+
.data = (void *)MTK_DISP_MUTEX },
472510
{ .compatible = "mediatek,mt2701-disp-pwm",
473511
.data = (void *)MTK_DISP_BLS },
474512
{ .compatible = "mediatek,mt8167-disp-pwm",
@@ -477,6 +515,8 @@ static const struct of_device_id mtk_ddp_comp_dt_ids[] = {
477515
.data = (void *)MTK_DISP_PWM },
478516
{ .compatible = "mediatek,mt8173-disp-od",
479517
.data = (void *)MTK_DISP_OD },
518+
{ .compatible = "mediatek,mt8192-disp-postmask",
519+
.data = (void *)MTK_DISP_POSTMASK },
480520
{ }
481521
};
482522

@@ -493,6 +533,8 @@ static const struct of_device_id mtk_drm_of_ids[] = {
493533
.data = &mt8173_mmsys_driver_data},
494534
{ .compatible = "mediatek,mt8183-mmsys",
495535
.data = &mt8183_mmsys_driver_data},
536+
{ .compatible = "mediatek,mt8192-mmsys",
537+
.data = &mt8192_mmsys_driver_data},
496538
{ }
497539
};
498540
MODULE_DEVICE_TABLE(of, mtk_drm_of_ids);

0 commit comments

Comments
 (0)