[PATCH 0/6] Add IPC support on MCU R5F cluster in Split Mode

Beleswar Padhi b-padhi at ti.com
Thu May 22 09:18:22 CEST 2025


This series adds remoteproc support on MCU R5F in Split mode.

During boot, ROM can bring up the boot R5F cores in either lockstep or
split mode based on X509 certificate flags. If booted in lockstep mode,
the MCU R5F cores will run first the R5 SPL, and then once A72 comes up,
will run the Device Manager (DM) firmware. But if booted in split mode, core
0 will run DM firmware and second core sits in WFI. Shut it down so that
other firmwares can later be loaded on them.

The shutdown of MCU R5 Core 1 is invoked at A72 SPL init, as by that
time Device Manager (DM) is up and running on R5 Core 0. The shutdown
of MCU R5 Core 1 is handled by Device Manager itself.

The devicetree patch [PATCH 6/6] need not be merged here, as it will be sent to
the Linux Upstream list.

Testing done:
1. Build test on all existing TI K3 platforms.
2. Tested U-Boot and Linux load of MCU R5F core in split mode on all applicable
boards (AM68-SK, AM69-SK, J7200-EVM, J721E-EVM, J721S2-EVM, J784S4-evm,
J742S2-EVM)

Test logs:
https://gist.github.com/3V3RYONE/ee8e3cb9aa5f4c5c00b059b9c14bfa98

Thanks,
Beleswar

Beleswar Padhi (6):
  arm: mach-k3: {am6/j7}*_hardware.h: Expose MCU R5 proc and device ids
  arch: mach-k3: common: Add support to shutdown MCU R5 Core 1
  remoteproc: k3-r5: Acquire processor control before reset ops
  board: ti: j7*: Add firmware for MCU R5 core1
  arm: dts: k3-j7*-binman: Enable split mode for MCU R5F
  DONOTMERGE: arm: dts: k3-j7*-mcu-wakeup: Enable split mode for MCU R5

 arch/arm/dts/k3-j7200-binman.dtsi             |  3 +
 arch/arm/dts/k3-j721e-binman.dtsi             |  4 ++
 arch/arm/dts/k3-j721s2-binman.dtsi            |  3 +
 arch/arm/dts/k3-j784s4-binman.dtsi            |  3 +
 arch/arm/mach-k3/common.c                     | 55 +++++++++++++++++++
 arch/arm/mach-k3/common.h                     |  1 +
 arch/arm/mach-k3/include/mach/am62_hardware.h |  4 +-
 .../arm/mach-k3/include/mach/am62a_hardware.h |  4 +-
 .../arm/mach-k3/include/mach/am62p_hardware.h |  4 +-
 arch/arm/mach-k3/include/mach/am64_hardware.h |  9 +--
 arch/arm/mach-k3/include/mach/am6_hardware.h  |  9 +--
 .../arm/mach-k3/include/mach/j721e_hardware.h |  9 +--
 .../mach-k3/include/mach/j721s2_hardware.h    |  9 +--
 .../arm/mach-k3/include/mach/j722s_hardware.h |  4 +-
 .../mach-k3/include/mach/j784s4_hardware.h    |  9 +--
 arch/arm/mach-k3/j721e/j721e_init.c           |  9 ++-
 arch/arm/mach-k3/j721s2/j721s2_init.c         |  7 +++
 arch/arm/mach-k3/j784s4/j784s4_init.c         |  7 +++
 board/ti/j7200/j7200.env                      |  2 +-
 board/ti/j721e/j721e.env                      |  2 +-
 board/ti/j721s2/j721s2.env                    |  2 +-
 board/ti/j784s4/j784s4.env                    |  4 +-
 drivers/remoteproc/ti_k3_r5f_rproc.c          |  6 ++
 .../src/arm64/ti/k3-j7200-mcu-wakeup.dtsi     |  2 +-
 .../src/arm64/ti/k3-j721e-mcu-wakeup.dtsi     |  2 +-
 .../src/arm64/ti/k3-j721s2-mcu-wakeup.dtsi    |  2 +-
 .../k3-j784s4-j742s2-mcu-wakeup-common.dtsi   |  2 +-
 27 files changed, 139 insertions(+), 38 deletions(-)

-- 
2.34.1



More information about the U-Boot mailing list