> -----Original Message-----
> From: Bernhard Beschow <[email protected]>
> Sent: 27 May 2026 02:56
> To: Gaurav Sharma <[email protected]>; [email protected]
> Cc: [email protected]; [email protected]
> Subject: [EXT] Re: [PATCHv1 0/7] hw/arm: Adding Cortex-M7 Asymmetric
> Multiprocessing boot support for i.MX8MP
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> Am 19. Mai 2026 17:56:28 UTC schrieb Gaurav Sharma
> <[email protected]>:
> >Changes in v1:
> >
> >This series adds Asymmetric Multiprocessing (AMP) boot support for the
> >Cortex-M7 core on the i.MX8MP SoC. The M7 firmware can be loaded and
> >started from Linux running on the Cortex-A53 cores via the remoteproc
> >framework.
> >
> >The series introduces the following peripheral models needed for AMP:
> >  - GPC (General Power Controller)
> >  - GPR (General Purpose Registers)
> >  - SRC (System Reset Controller) authored by Bernhard Beschow
> ><[email protected]>
> >  - MU (Messaging Unit)
> >  - Extends the CCM with M7 clock outputs and wires into the i.MX8MP
> >SoC
> >  - Enable Cortex-M7 boot in i.MX8MP EVK functional test
> 
> Awesome work!
> 
> I'd like to experiment with this series myself. Could there be some "cooking
> recipe" in the board documentation for easy reproduction/failsafe tutorial? Is
> there perhaps some Buildroot defconfig with the appropriate support
> enabled? Or even better: Are there any binary images that could be used in a
> functional test in addition?
> 

Hey Bernhard, 
Thanks for your feedback!

There's an application note that covers this use-case (AN5317, referenced in 
the rst doc). However, the complete setup requires combining information from 
multiple sources.

Requirements to exercise M7 image loading via Linux:

1. RPMSG-specific device tree with M7 DDR alias - covered in AN5317
2. Bare-metal ELF executable linked to run from DDR - requires building from 
MCUXpresso SDK

Building the M7 firmware:

1. Download the MCUXpresso SDK for i.MX8MP
2. Build a DDR-linked example using the ARM GCC toolchain (e.g., 
boards/evkmimx8mp/driver_examples/uart/polling)
3. Copy the resulting ELF to the guest Linux filesystem
4. Load via remoteproc as documented in the rst

Currently there isn't a single official document covering the complete 
end-to-end flow. Users might need to refer two different sources at best. I can 
add concise build instructions to the rst doc itself, providing a 
self-contained reference. How does that sound?

Regarding binary images: We can provide a pre-built test ELF for functional 
testing, though users would still need the appropriate device tree 
configuration.

> Last but not least: Wouldn't it be useful if you became co-maintainer of the
> imx8mp-evk? Perhaps the two sections in the MAINTAINERS file could be
> merged.
> 

Sure. I can add myself to the MAINTAINERS of imx8mp-evk, but what do you mean 
by merging the two sections in the MAINTAINERS file ? 

> Best regards,
> Bernhard
> 
> >
> >Signed-off-by: Gaurav Sharma <[email protected]>
> >
> >Bernhard Beschow (1):
> >  hw/misc: Add SRC (System Reset Controller) to i.MX8MP
> >
> >Gaurav Sharma (6):
> >  hw/misc: Add i.MX8MP GPC (General Power Controller) IP
> >  hw/misc: Add GPR (General Purpose Register) IP to iMX8MP
> >  hw/misc: Add MU (Messaging Unit) IP to i.MX8MP device model
> >  hw/misc: Extend i.MX8MP CCM with Cortex-M7 clock outputs
> >  hw/arm: Enable Cortex-M7 AMP boot on i.MX8MP
> >  tests/functional: Enable Cortex-M7 boot in i.MX8MP EVK functional
> >test
> >
> > docs/system/arm/imx8m.rst                   |  90 +++-
> > hw/arm/Kconfig                              |   4 +
> > hw/arm/fsl-imx8mp.c                         | 212 ++++++++++
> > hw/misc/Kconfig                             |  12 +
> > hw/misc/imx8mp_ccm.c                        |   9 +
> > hw/misc/imx8mp_gpc.c                        | 124 ++++++
> > hw/misc/imx8mp_gpr.c                        | 129 ++++++
> > hw/misc/imx8mp_mu.c                         | 308 ++++++++++++++
> > hw/misc/imx8mp_src.c                        | 431 ++++++++++++++++++++
> > hw/misc/meson.build                         |   4 +
> > hw/misc/trace-events                        |   5 +
> > include/hw/arm/fsl-imx8mp.h                 |  29 +-
> > include/hw/misc/imx8mp_ccm.h                |   3 +
> > include/hw/misc/imx8mp_gpc.h                |  34 ++
> > include/hw/misc/imx8mp_gpr.h                |  56 +++
> > include/hw/misc/imx8mp_mu.h                 |  53 +++
> > include/hw/misc/imx8mp_src.h                |  32 ++
> > tests/functional/aarch64/test_imx8mp_evk.py |   3 +-
> > 18 files changed, 1535 insertions(+), 3 deletions(-) create mode
> > 100644 hw/misc/imx8mp_gpc.c create mode 100644 hw/misc/imx8mp_gpr.c
> > create mode 100644 hw/misc/imx8mp_mu.c create mode 100644
> > hw/misc/imx8mp_src.c create mode 100644
> include/hw/misc/imx8mp_gpc.h
> > create mode 100644 include/hw/misc/imx8mp_gpr.h create mode 100644
> > include/hw/misc/imx8mp_mu.h create mode 100644
> > include/hw/misc/imx8mp_src.h
> >

Reply via email to