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

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

Changes in v3:

- Added a new patch for smp removal from test_imx8mp_evk.py.
- Added a new patch to introduce IRQ splitting for i.MX8MP AMP interrupt
  routing.
- Added a new patch to rename FSL_IMX8MP_NUM_CPUS to FSL_IMX8MP_NUM_A53,
  since M7 is being introduced now.
- In GPR, parent_phases moved from global variable to class struct
- M7 reset handling moved from the machine to SRC device model.
- Added ITCM and DTCM memory regions to support zephyr firmware loading. 

Signed-off-by: Gaurav Sharma <[email protected]>

Bernhard Beschow (1):
  hw/misc: Add SRC (System Reset Controller) to i.MX8MP

Gaurav Sharma (9):
  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
  hw/arm: Rename FSL_IMX8MP_NUM_CPUS to FSL_IMX8MP_NUM_A53
  MAINTAINERS: Merge MCIMX8MM-EVK and MCIMX8MP-EVK entries
  hw/arm: Add IRQ splitter for i.MX8MP AMP interrupt routing
  tests/functional: Fix i.MX8MP EVK SMP configuration

 MAINTAINERS                                 |  13 +-
 docs/system/arm/imx8m.rst                   | 188 ++++++++-
 hw/arm/Kconfig                              |   4 +
 hw/arm/fsl-imx8mp.c                         | 227 +++++++++--
 hw/arm/imx8mp-evk.c                         |   5 +-
 hw/misc/Kconfig                             |  12 +
 hw/misc/imx8mp_ccm.c                        |   9 +
 hw/misc/imx8mp_gpc.c                        | 146 +++++++
 hw/misc/imx8mp_gpr.c                        | 155 ++++++++
 hw/misc/imx8mp_mu.c                         | 328 ++++++++++++++++
 hw/misc/imx8mp_src.c                        | 411 ++++++++++++++++++++
 hw/misc/meson.build                         |   4 +
 hw/misc/trace-events                        |   5 +
 include/hw/arm/fsl-imx8mp.h                 |  33 +-
 include/hw/misc/imx8mp_ccm.h                |   3 +
 include/hw/misc/imx8mp_gpc.h                |  34 ++
 include/hw/misc/imx8mp_gpr.h                |  62 +++
 include/hw/misc/imx8mp_mu.h                 |  53 +++
 include/hw/misc/imx8mp_src.h                |  52 +++
 tests/functional/aarch64/test_imx8mp_evk.py |   1 -
 20 files changed, 1696 insertions(+), 49 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


Reply via email to