[PATCHv2 0/7] hw/arm: Adding Cortex-M7 Asymmetric Multiprocessing boot support for i.MX8MP

Gaurav Sharma posted 7 patches 2 weeks, 5 days ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260706162859.3361063-1-gaurav.sharma._5F7@nxp.com
Maintainers: Bernhard Beschow <shentey@gmail.com>, Gaurav Sharma <gaurav.sharma_7@nxp.com>, Pierrick Bouvier <pierrick.bouvier@oss.qualcomm.com>, Paolo Bonzini <pbonzini@redhat.com>, Peter Maydell <peter.maydell@linaro.org>
MAINTAINERS                                 |  13 +-
docs/system/arm/imx8m.rst                   | 188 ++++++++++-
hw/arm/Kconfig                              |   4 +
hw/arm/fsl-imx8mp.c                         | 220 ++++++++++++-
hw/arm/imx8mp-evk.c                         |   3 +-
hw/misc/Kconfig                             |  12 +
hw/misc/imx8mp_ccm.c                        |   9 +
hw/misc/imx8mp_gpc.c                        | 146 +++++++++
hw/misc/imx8mp_gpr.c                        | 153 +++++++++
hw/misc/imx8mp_mu.c                         | 328 ++++++++++++++++++++
hw/misc/imx8mp_src.c                        | 275 ++++++++++++++++
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                |  31 ++
tests/functional/aarch64/test_imx8mp_evk.py |   1 -
20 files changed, 1539 insertions(+), 28 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
[PATCHv2 0/7] hw/arm: Adding Cortex-M7 Asymmetric Multiprocessing boot support for i.MX8MP
Posted by Gaurav Sharma 2 weeks, 5 days ago
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 <shentey@gmail.com>
  - 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

Changes in v2:

- Removed the usage of device_class_set_legacy_reset in imx8mp gpc,gpr,mu and
  src.
- Removed the usage of 'smp' , 'maxcpus' and 'enable-cm7' to make the
  invocation simpler.
- Cleaned up imx8mp_src by removing redundant/unused code.
- Updated Maintainers and improved the imx8mp documentation

Signed-off-by: Gaurav Sharma <gaurav.sharma_7@nxp.com>

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

 MAINTAINERS                                 |  13 +-
 docs/system/arm/imx8m.rst                   | 188 ++++++++++-
 hw/arm/Kconfig                              |   4 +
 hw/arm/fsl-imx8mp.c                         | 220 ++++++++++++-
 hw/arm/imx8mp-evk.c                         |   3 +-
 hw/misc/Kconfig                             |  12 +
 hw/misc/imx8mp_ccm.c                        |   9 +
 hw/misc/imx8mp_gpc.c                        | 146 +++++++++
 hw/misc/imx8mp_gpr.c                        | 153 +++++++++
 hw/misc/imx8mp_mu.c                         | 328 ++++++++++++++++++++
 hw/misc/imx8mp_src.c                        | 275 ++++++++++++++++
 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                |  31 ++
 tests/functional/aarch64/test_imx8mp_evk.py |   1 -
 20 files changed, 1539 insertions(+), 28 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

-- 
2.34.1
RE: [PATCHv2 0/7] hw/arm: Adding Cortex-M7 Asymmetric Multiprocessing boot support for i.MX8MP
Posted by Gaurav Sharma 2 days, 6 hours ago
Ping

> -----Original Message-----
> From: Gaurav Sharma <gaurav.sharma_7@nxp.com>
> Sent: 06 July 2026 21:59
> To: qemu-devel@nongnu.org
> Cc: pbonzini@redhat.com; peter.maydell@linaro.org; Gaurav Sharma
> <gaurav.sharma_7@nxp.com>
> Subject: [PATCHv2 0/7] hw/arm: Adding Cortex-M7 Asymmetric
> Multiprocessing boot support for i.MX8MP
> 
> 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
> <shentey@gmail.com>
>   - 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
> 
> Changes in v2:
> 
> - Removed the usage of device_class_set_legacy_reset in imx8mp gpc,gpr,mu
> and
>   src.
> - Removed the usage of 'smp' , 'maxcpus' and 'enable-cm7' to make the
>   invocation simpler.
> - Cleaned up imx8mp_src by removing redundant/unused code.
> - Updated Maintainers and improved the imx8mp documentation
> 
> Signed-off-by: Gaurav Sharma <gaurav.sharma_7@nxp.com>
> 
> 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
> 
>  MAINTAINERS                                 |  13 +-
>  docs/system/arm/imx8m.rst                   | 188 ++++++++++-
>  hw/arm/Kconfig                              |   4 +
>  hw/arm/fsl-imx8mp.c                         | 220 ++++++++++++-
>  hw/arm/imx8mp-evk.c                         |   3 +-
>  hw/misc/Kconfig                             |  12 +
>  hw/misc/imx8mp_ccm.c                        |   9 +
>  hw/misc/imx8mp_gpc.c                        | 146 +++++++++
>  hw/misc/imx8mp_gpr.c                        | 153 +++++++++
>  hw/misc/imx8mp_mu.c                         | 328 ++++++++++++++++++++
>  hw/misc/imx8mp_src.c                        | 275 ++++++++++++++++
>  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                |  31 ++
>  tests/functional/aarch64/test_imx8mp_evk.py |   1 -
>  20 files changed, 1539 insertions(+), 28 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
> 
> --
> 2.34.1