The mediatek remoteproc driver currently only allows bringing up a single core SCP, e.g. MT8183. It also only bringing up the 1st core in SoCs with a dual-core SCP, e.g. MT8195. This series support to bring-up the 2nd core of the dual-core SCP. v2 -> v3: 1. change the representation of dual-core SCP in dts file and update SCP yaml 2. rewrite SCP driver to reflect the change of dts node 3. add SCP core 1 node to mt8195.dtsi 4. remove redundant call of rproc_boot for SCP 5. refine IPI error message v1 -> v2: 1. update dt-binding property description 2. remove kconfig for scp dual driver 3. merge mtk_scp_dual.c and mtk_scp_subdev.c to mtk_scp.c Tinghan Shen (11): dt-bindings: remoteproc: mediatek: Give the subnode a persistent name dt-bindings: remoteproc: mediatek: Support MT8195 dual-core SCP arm64: dts: mt8195: Add SCP core 1 node remoteproc: mediatek: Remove redundant rproc_boot remoteproc: mediatek: Add SCP core 1 register definitions remoteproc: mediatek: Add MT8195 SCP core 1 operations remoteproc: mediatek: Probe MT8195 SCP core 1 remoteproc: mediatek: Control SCP core 1 boot by rproc subdevice remoteproc: mediatek: Setup MT8195 SCP core 1 SRAM offset remoteproc: mediatek: Handle MT8195 SCP core 1 watchdog timeout remoteproc: mediatek: Refine ipi handler error message .../bindings/remoteproc/mtk,scp.yaml | 132 ++++++++-- .../arm64/boot/dts/mediatek/mt8183-kukui.dtsi | 2 +- arch/arm64/boot/dts/mediatek/mt8195.dtsi | 14 +- .../mediatek/vcodec/mtk_vcodec_fw_scp.c | 2 +- drivers/remoteproc/mtk_common.h | 35 +++ drivers/remoteproc/mtk_scp.c | 241 +++++++++++++++++- include/linux/remoteproc/mtk_scp.h | 1 + 7 files changed, 397 insertions(+), 30 deletions(-) -- 2.18.0