|
|
Log in / Subscribe / Register

ASoC: mediatek: Add VCP driver on Mediatek MT8196 SoC

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




Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds