soc: mediatek: mmsys: add support for MT8195 VPPSYS
authorRoy-CW.Yeh <roy-cw.yeh@mediatek.com>
Wed, 18 Jan 2023 03:15:09 +0000 (11:15 +0800)
committerMatthias Brugger <matthias.bgg@gmail.com>
Mon, 30 Jan 2023 11:27:08 +0000 (12:27 +0100)
Add MT8195 VPPSYS0 and VPPSYS1 driver data.

Signed-off-by: Roy-CW.Yeh <roy-cw.yeh@mediatek.com>
Signed-off-by: Moudy Ho <moudy.ho@mediatek.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Link: https://lore.kernel.org/r/20230118031509.29834-5-moudy.ho@mediatek.com
Signed-off-by: Matthias Brugger <matthias.bgg@gmail.com>
drivers/soc/mediatek/mtk-mmsys.c
drivers/soc/mediatek/mtk-mmsys.h

index 297c810..eb4c7e5 100644 (file)
@@ -102,6 +102,16 @@ static const struct mtk_mmsys_driver_data mt8195_vdosys1_driver_data = {
        .num_resets = 64,
 };
 
+static const struct mtk_mmsys_driver_data mt8195_vppsys0_driver_data = {
+       .clk_driver = "clk-mt8195-vpp0",
+       .is_vppsys = true,
+};
+
+static const struct mtk_mmsys_driver_data mt8195_vppsys1_driver_data = {
+       .clk_driver = "clk-mt8195-vpp1",
+       .is_vppsys = true,
+};
+
 static const struct mtk_mmsys_driver_data mt8365_mmsys_driver_data = {
        .clk_driver = "clk-mt8365-mm",
        .routes = mt8365_mmsys_routing_table,
@@ -333,6 +343,9 @@ static int mtk_mmsys_probe(struct platform_device *pdev)
        if (IS_ERR(clks))
                return PTR_ERR(clks);
 
+       if (mmsys->data->is_vppsys)
+               goto out_probe_done;
+
        drm = platform_device_register_data(&pdev->dev, "mediatek-drm",
                                            PLATFORM_DEVID_AUTO, NULL, 0);
        if (IS_ERR(drm)) {
@@ -340,6 +353,7 @@ static int mtk_mmsys_probe(struct platform_device *pdev)
                return PTR_ERR(drm);
        }
 
+out_probe_done:
        return 0;
 }
 
@@ -397,6 +411,14 @@ static const struct of_device_id of_match_mtk_mmsys[] = {
                .data = &mt8195_vdosys1_driver_data,
        },
        {
+               .compatible = "mediatek,mt8195-vppsys0",
+               .data = &mt8195_vppsys0_driver_data,
+       },
+       {
+               .compatible = "mediatek,mt8195-vppsys1",
+               .data = &mt8195_vppsys1_driver_data,
+       },
+       {
                .compatible = "mediatek,mt8365-mmsys",
                .data = &mt8365_mmsys_driver_data,
        },
index e199947..56f8cc3 100644 (file)
@@ -92,6 +92,7 @@ struct mtk_mmsys_driver_data {
        const unsigned int num_routes;
        const u16 sw0_rst_offset;
        const u32 num_resets;
+       const bool is_vppsys;
 };
 
 /*