[PATCH 00/17] MediaTek MT8192 APU

From: Flora Fu
Date: Fri Dec 10 2021 - 12:26:16 EST


The MediaTek AI Processing Unit (APU) is a proprietary hardware
in the SoC to support AI functions.
The patches support the MT8192 APU runs on internal microprocessor.
Software packages contins mailbox, iommu, APU remote processor,
power control, middleware and debug looger.

This series is based on drivers implemented in
MT8192 apu power domain[1], apu SMC[2] and IOMMU[2] patches.
[1] https://patchwork.kernel.org/project/linux-mediatek/list/?series=593809
[2] https://patchwork.kernel.org/patch/12670253
[3] https://patchwork.kernel.org/project/linux-mediatek/list/?series=551641
The device tree depends on [4][5][6] which haven't yet been accepted.
[4] https://patchwork.kernel.org/patch/12456165
[5] https://patchwork.kernel.org/patch/12134935
[6] https://patchwork.kernel.org/patch/12140237

Change notes:
Initial RFC: https://patchwork.kernel.org/project/linux-mediatek/list/?series=568939

Flora Fu (17):
dt-bindings: mailbox: mediatek: Add APU mailbox compatible
dt-bindings: memory: mediatek: Add MT8192 apu iommu bindings
dt-bindings: remoteproc: mediatek: Add APU rproc compatible
dt-bindings: soc: mediatek: apu: Add APU power compatible
dt-bindings: soc: mediatek: apu: Add apu logger compatible
mailbox: mediatek: add mtk-apu-mailbox driver
iommu/mediatek: Support APU iommu and config data for mt8192
remoteproc: mediatek: Add APU remoteproc driver
soc: mediatek: apu: Add Apu power driver
soc: mediatek: apu: Add APU software logger dirver
soc: mediatek: apu: Add middleware driver
arm64: dts: mt8192: Add APU mtk-apu-mailbox node
arm64: dts: mt8192: Add APU-IOMMU nodes
arm64: dts: mt8192: Add apu tinysys node
arm64: dts: mt8192: Add APU power nodes
arm64: dts: mt8192: Add apu-sw-logger node
arm64: dts: mt8192: Set up regulators for APU subsys

.../bindings/iommu/mediatek,iommu.yaml | 7 +-
.../mailbox/mediatek,apu-mailbox.yaml | 47 +
.../bindings/remoteproc/mediatek,apu-rv.yaml | 106 ++
.../soc/mediatek/mediatek,apu-logger.yaml | 42 +
.../soc/mediatek/mediatek,apu-pwr.yaml | 80 ++
arch/arm64/boot/dts/mediatek/mt8192-evb.dts | 5 +
arch/arm64/boot/dts/mediatek/mt8192.dtsi | 118 ++
drivers/iommu/mtk_iommu.c | 45 +-
drivers/mailbox/Kconfig | 9 +
drivers/mailbox/Makefile | 2 +
drivers/mailbox/mtk-apu-mailbox.c | 162 +++
drivers/remoteproc/Kconfig | 12 +
drivers/remoteproc/Makefile | 2 +
drivers/remoteproc/mtk-apu-ipi.c | 474 ++++++++
drivers/remoteproc/mtk-apu-rproc.c | 1054 +++++++++++++++++
drivers/soc/mediatek/apusys/Kconfig | 23 +
drivers/soc/mediatek/apusys/Makefile | 17 +
drivers/soc/mediatek/apusys/apu-device.h | 39 +
drivers/soc/mediatek/apusys/apu-pwr-dbg.c | 167 +++
drivers/soc/mediatek/apusys/apu-pwr-ipi.c | 377 ++++++
drivers/soc/mediatek/apusys/apu-pwr.c | 613 ++++++++++
drivers/soc/mediatek/apusys/apu-pwr.h | 260 ++++
drivers/soc/mediatek/apusys/apu-sw-logger.c | 540 +++++++++
drivers/soc/mediatek/apusys/mdw-cmd.c | 618 ++++++++++
drivers/soc/mediatek/apusys/mdw-drv.c | 226 ++++
drivers/soc/mediatek/apusys/mdw-ioctl.c | 331 ++++++
drivers/soc/mediatek/apusys/mdw-ioctl.h | 256 ++++
drivers/soc/mediatek/apusys/mdw-mem.c | 938 +++++++++++++++
drivers/soc/mediatek/apusys/mdw-mem.h | 23 +
drivers/soc/mediatek/apusys/mdw-rv-cmd.c | 158 +++
drivers/soc/mediatek/apusys/mdw-rv-dev.c | 386 ++++++
drivers/soc/mediatek/apusys/mdw-rv-msg.h | 90 ++
drivers/soc/mediatek/apusys/mdw-rv.c | 131 ++
drivers/soc/mediatek/apusys/mdw-rv.h | 98 ++
drivers/soc/mediatek/apusys/mdw-sysfs.c | 200 ++++
drivers/soc/mediatek/apusys/mdw.h | 207 ++++
include/dt-bindings/memory/mt8192-larb-port.h | 4 +
include/linux/remoteproc/mtk-apu-config.h | 100 ++
include/linux/remoteproc/mtk-apu.h | 217 ++++
39 files changed, 8181 insertions(+), 3 deletions(-)
create mode 100644 Documentation/devicetree/bindings/mailbox/mediatek,apu-mailbox.yaml
create mode 100644 Documentation/devicetree/bindings/remoteproc/mediatek,apu-rv.yaml
create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,apu-logger.yaml
create mode 100644 Documentation/devicetree/bindings/soc/mediatek/mediatek,apu-pwr.yaml
create mode 100644 drivers/mailbox/mtk-apu-mailbox.c
create mode 100644 drivers/remoteproc/mtk-apu-ipi.c
create mode 100644 drivers/remoteproc/mtk-apu-rproc.c
create mode 100644 drivers/soc/mediatek/apusys/apu-device.h
create mode 100644 drivers/soc/mediatek/apusys/apu-pwr-dbg.c
create mode 100644 drivers/soc/mediatek/apusys/apu-pwr-ipi.c
create mode 100644 drivers/soc/mediatek/apusys/apu-pwr.c
create mode 100644 drivers/soc/mediatek/apusys/apu-pwr.h
create mode 100644 drivers/soc/mediatek/apusys/apu-sw-logger.c
create mode 100644 drivers/soc/mediatek/apusys/mdw-cmd.c
create mode 100644 drivers/soc/mediatek/apusys/mdw-drv.c
create mode 100644 drivers/soc/mediatek/apusys/mdw-ioctl.c
create mode 100644 drivers/soc/mediatek/apusys/mdw-ioctl.h
create mode 100644 drivers/soc/mediatek/apusys/mdw-mem.c
create mode 100644 drivers/soc/mediatek/apusys/mdw-mem.h
create mode 100644 drivers/soc/mediatek/apusys/mdw-rv-cmd.c
create mode 100644 drivers/soc/mediatek/apusys/mdw-rv-dev.c
create mode 100644 drivers/soc/mediatek/apusys/mdw-rv-msg.h
create mode 100644 drivers/soc/mediatek/apusys/mdw-rv.c
create mode 100644 drivers/soc/mediatek/apusys/mdw-rv.h
create mode 100644 drivers/soc/mediatek/apusys/mdw-sysfs.c
create mode 100644 drivers/soc/mediatek/apusys/mdw.h
create mode 100644 include/linux/remoteproc/mtk-apu-config.h
create mode 100644 include/linux/remoteproc/mtk-apu.h

--
2.18.0