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