MT8196 has 2 new hardware configuration compared with the previous SoC,
which correspond to the 2 new driver data:

1. mminfra_offset: For GCE data path control
   Since GCE has been moved into mminfra, GCE needs to append the
   mminfra offset to the DRAM address when accessing the DRAM.

2. gce_vm: For GCE hardware virtualization control
   Currently, the first version of the mt8196 mailbox controller only
   requires setting the VM-related registers to enable the permissions
   of a host VM.

Signed-off-by: Jason-JH Lin <jason-jh....@mediatek.com>
---
 drivers/mailbox/mtk-cmdq-mailbox.c | 12 ++++++++++++
 1 file changed, 12 insertions(+)

diff --git a/drivers/mailbox/mtk-cmdq-mailbox.c 
b/drivers/mailbox/mtk-cmdq-mailbox.c
index 45de11e51088..e543b26dbba9 100644
--- a/drivers/mailbox/mtk-cmdq-mailbox.c
+++ b/drivers/mailbox/mtk-cmdq-mailbox.c
@@ -14,6 +14,7 @@
 #include <linux/module.h>
 #include <linux/platform_device.h>
 #include <linux/pm_runtime.h>
+#include <linux/sizes.h>
 #include <linux/mailbox_controller.h>
 #include <linux/mailbox/mtk-cmdq-mailbox.h>
 #include <linux/of.h>
@@ -844,6 +845,16 @@ static const struct gce_plat gce_plat_mt8195 = {
        .gce_num = 2
 };
 
+static const struct gce_plat gce_plat_mt8196 = {
+       .thread_nr = 32,
+       .shift = 3,
+       .mminfra_offset = SZ_2G,
+       .control_by_sw = true,
+       .sw_ddr_en = true,
+       .gce_vm = true,
+       .gce_num = 2
+};
+
 static const struct of_device_id cmdq_of_ids[] = {
        {.compatible = "mediatek,mt6779-gce", .data = (void *)&gce_plat_mt6779},
        {.compatible = "mediatek,mt8173-gce", .data = (void *)&gce_plat_mt8173},
@@ -852,6 +863,7 @@ static const struct of_device_id cmdq_of_ids[] = {
        {.compatible = "mediatek,mt8188-gce", .data = (void *)&gce_plat_mt8188},
        {.compatible = "mediatek,mt8192-gce", .data = (void *)&gce_plat_mt8192},
        {.compatible = "mediatek,mt8195-gce", .data = (void *)&gce_plat_mt8195},
+       {.compatible = "mediatek,mt8196-gce", .data = (void *)&gce_plat_mt8196},
        {}
 };
 MODULE_DEVICE_TABLE(of, cmdq_of_ids);
-- 
2.43.0

Reply via email to