[PATCH v2 07/14] video: mediatek: add smi larb driver

Julien Stephan <[email protected]>
Newsgroups org.u-boot-project.lists.u-boot
Message-ID <20260826-add-genio-510-and-genio-700-hdmi-v2-7-68ebb1bf17df@baylibre.com>
The SMI local arbiters (larbs) gate a subsystem's access to DRAM. On the
MT8188 the display data path feeds through the VDO1 larbs (larb2 and
larb3), whose clocks must be ungated for the HDMI pipeline to reach the
framebuffer.

There is no dedicated SMI larb driver upstream, as Linux handles the
larbs through its SMI/IOMMU framework. Add a minimal U-Boot driver that
binds the "mediatek,mt8188-smi-larb" nodes and ungates their clocks,
reusing the display pipeline component helpers for the register window
and clock bulk.

Signed-off-by: Julien Stephan <[email protected]>
---
 drivers/video/mediatek/mtk_smi_larb.c | 30 ++++++++++++++++++++++++++++++
 1 file changed, 30 insertions(+)

diff --git a/drivers/video/mediatek/mtk_smi_larb.c b/drivers/video/mediatek/mtk_smi_larb.c
new file mode 100644
index 00000000000..f180c022126
--- /dev/null
+++ b/drivers/video/mediatek/mtk_smi_larb.c
@@ -0,0 +1,30 @@
+// SPDX-License-Identifier: GPL-2.0
+/*
+ * MediaTek SMI local arbiter (larb) driver
+ *
+ * Copyright (c) 2026 BayLibre, SAS.
+ * Author: Julien Stephan <[email protected]>
+ */
+
+#include <dm.h>
+
+#include "mtk_disp_comp.h"
+
+/*
+ * The SMI larbs gate a subsystem's access to DRAM. They have no dedicated
+ * driver upstream (the SMI/IOMMU framework handles them), so bind a minimal
+ * driver that just ungates their clocks, reusing the display component
+ * helpers for the register window and clock bulk.
+ */
+static const struct udevice_id mtk_smi_larb_ids[] = {
+	{ .compatible = "mediatek,mt8188-smi-larb" },
+	{}
+};
+
+U_BOOT_DRIVER(mtk_smi_larb) = {
+	.name	   = "mtk_smi_larb",
+	.id	   = UCLASS_MISC,
+	.of_match  = mtk_smi_larb_ids,
+	.probe	   = mtk_disp_comp_probe,
+	.priv_auto = sizeof(struct mtk_disp_comp_priv),
+};

-- 
2.54.0
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.