| From: |
| Xiangzhi Tang <xiangzhi.tang-AT-mediatek.com> |
| To: |
| Bjorn Andersson <andersson-AT-kernel.org>, Mathieu Poirier <mathieu.poirier-AT-linaro.org>, Rob Herring <robh-AT-kernel.org>, Krzysztof Kozlowski <krzk+dt-AT-kernel.org>, Conor Dooley <conor+dt-AT-kernel.org>, Matthias Brugger <matthias.bgg-AT-gmail.com>, AngeloGioacchino Del Regno <angelogioacchino.delregno-AT-collabora.com>, Xiangzhi Tang <Xiangzhi.Tang-AT-mediatek.com> |
| Subject: |
| [PATCH v3 0/6] ASoC: mediatek: Add VCP driver on Mediatek MT8196 SoC |
| Date: |
| Fri, 20 Mar 2026 11:18:02 +0800 |
| Message-ID: |
| <20260320032014.13608-1-xiangzhi.tang@mediatek.com> |
| Cc: |
| <linux-remoteproc-AT-vger.kernel.org>, <devicetree-AT-vger.kernel.org>, <linux-kernel-AT-vger.kernel.org>, <linux-arm-kernel-AT-lists.infradead.org>, <linux-mediatek-AT-lists.infradead.org>, <Project_Global_Chrome_Upstream_Group-AT-mediatek.com>, Hailong Fan <Hailong.Fan-AT-mediatek.com>, Huayu Zong <huayu.Zong-AT-mediatek.com>, Xiangzhi Tang <xiangzhi.tang-AT-mediatek.com> |
| Archive-link: |
| Article |
Add support MediaTek's Video Companion Processor(VCP) host driver to
control the MediaTek VCP Risc-V coprocessor.
> This series is based on linux-next, tag: next-20260319.
>
> Changes in v3:
> - Fix probe path driver to using dev_err_probe error printf
> - Eliminate the use of global variables
> - Using readl_poll_timeout instead of "For" poll and "while" poll
> - Add VCP IPC layer driver
> - Fix reviewer's comments
> This series patches dependent on:
> [1]
> https://patchwork.kernel.org/project/linux-mediatek/patch...
> [2]
> https://patchwork.kernel.org/project/linux-mediatek/patch...
Xiangzhi Tang (6):
dt-bindings: remoteproc: Add VCP support for mt8196
remoteproc: Mediatek: Add VCP remoteproc driver
firmware: mediatek: Add VCP IPC protocol interfaces driver
remoteproc: mediatek: Add VCP ipi-mbox init driver
remoteproc: mediatek: Add VCP ipi communication sync mechanism
remoterpoc: mediatek: vcp: Add vcp suspned and resume feature
.../remoteproc/mediatek,mt8196-vcp.yaml | 161 ++++
drivers/firmware/Kconfig | 9 +
drivers/firmware/Makefile | 1 +
drivers/firmware/mtk-vcp-ipc.c | 481 ++++++++++
drivers/remoteproc/Kconfig | 12 +
drivers/remoteproc/Makefile | 3 +
drivers/remoteproc/mtk_vcp_common.c | 854 ++++++++++++++++++
drivers/remoteproc/mtk_vcp_common.h | 279 ++++++
drivers/remoteproc/mtk_vcp_rproc.c | 540 +++++++++++
drivers/remoteproc/mtk_vcp_rproc.h | 95 ++
include/linux/firmware/mediatek/mtk-vcp-ipc.h | 151 ++++
include/linux/remoteproc/mtk_vcp_public.h | 146 +++
include/linux/soc/mediatek/mtk_sip_svc.h | 2 +
13 files changed, 2734 insertions(+)
create mode 100644 Documentation/devicetree/bindings/remoteproc/mediatek,mt8196-vcp.yaml
create mode 100644 drivers/firmware/mtk-vcp-ipc.c
create mode 100644 drivers/remoteproc/mtk_vcp_common.c
create mode 100644 drivers/remoteproc/mtk_vcp_common.h
create mode 100644 drivers/remoteproc/mtk_vcp_rproc.c
create mode 100644 drivers/remoteproc/mtk_vcp_rproc.h
create mode 100644 include/linux/firmware/mediatek/mtk-vcp-ipc.h
create mode 100644 include/linux/remoteproc/mtk_vcp_public.h
--
2.46.0