Some Mediatek's SoC have an Accelerated Processing Unit. This adds support of the one available in the mt8183 (aswell some derivative SoC). This series depends on two other series: - Mediatek MT8183 scpsys support - arm64: dts: Add m4u and smi-larbs nodes for mt8183 Notes: This series include two workarounds: - remoteproc: mtk_vpu_rproc: Don't try to load empty PT_LOAD segment - rproc: mtk_apu: Don't try to use local APU RAM The first one is required to load malformed firmwares. This is probably caused by the toolchain we are using (a fork of gcc 4.2). It would be better to fix the firmwares but I don't know how to fix it. The second one prevents the CPU to access to the APU local RAM. If the CPU tries to read or write the APU local RAM, then the CPU will hang. I'm still looking for a solution, but until, we must prevent remoteproc to write something (usually, to initialize data section). Because of that issue, the current driver doesn't map the the local RAM. Alexandre Bailon (6): dt bindings: remoteproc: Add bindings for MT8183 APU remoteproc: Add a remoteproc driver for the MT8183's APU remoteproc: mtk_vpu_rproc: Add support of JTAG remoteproc: mtk_vpu_rproc: Don't try to load empty PT_LOAD segment remoteproc: mtk_apu: Don't try to use the APU local RAM ARM64: mt8183: Add support of APU to mt8183 .../bindings/remoteproc/mtk,apu.yaml | 121 +++++ arch/arm64/boot/dts/mediatek/mt8183.dtsi | 42 ++ drivers/remoteproc/Kconfig | 19 + drivers/remoteproc/Makefile | 1 + drivers/remoteproc/mtk_apu_rproc.c | 501 ++++++++++++++++++ 5 files changed, 684 insertions(+) create mode 100644 Documentation/devicetree/bindings/remoteproc/mtk,apu.yaml create mode 100644 drivers/remoteproc/mtk_apu_rproc.c -- 2.26.2