Changes in v4:
- Update Maintainers file
- Re-used iMX8MP CCM and Analog IP for iMX8MM by introducing a variant
specific property
- Split up the patch that enabled CCM and Analog in the previous
revision. Now we have 3 patches to enable CCM and Analog in iMX8MM
- Updated copyrights
- Removed '|| KVM' from hw/arm/Kconfig to prevent 'make check' failures
Changes in v3:
- Minor documentation change - Added KVM Acceleration section in docs/system/arm/imx8mm-evk.rst
Changes in v2:
- Fixed the DTB offset in functional testing script test_imx8mm_evk.py
and preserved alphabetical order of machine names in tests/functional/aarch64/meson.build
- Fixed a typo and updated the documentation
- Modified structures type to static const in fsl-imx8mm.c wherever
applicable.
- Added CSI and DSI nodes to the nodes_to_remove list in imx8mm-evk.c. This
is needed because the default DTB in the iMX LF BSP images have CSI
and DSI enabled. Developers/Hobbyists using these BSP images will
observe CSI and DSI crash logs on the console since these are unimplemented.
With this change, both debian and iMX LF images will boot up without any issues.
Changes in v1:
This patch series adds support for the NXP i.MX8MM EVK (Evaluation Kit)
board to QEMU, enabling emulation of this ARM Cortex-A53 based development
platform.
The series includes:
1. Core peripheral support (CCM clock controller, Analog module)
2. GPT(General Purpose Timer) and WDT(Watchdog Timer) Emulation support
3. GPIO,I2C,SPI,USDHC and USB Emulation support
4. PCIe and ENET Controller Emulation support
5. Documentation and functional test included
Key features ported:
- Basic boot support with Linux
- UART console for serial communication
- Interrupt handling
- Clock and power management infrastructure
Testing:
- Linux kernel boots to console
Signed-off-by: Gaurav Sharma <gaurav.sharma_7@nxp.com>
Gaurav Sharma (15):
hw/arm: Add the i.MX 8MM EVK(Evaluation Kit) board
hw/misc/imx8mp_analog: Add property to analog device
hw/arm/fsl-imx8mm: Add Analog device IP to iMX8MM SOC
hw/arm/fsl-imx8mm: Add Clock Control Module IP to iMX8MM
hw/arm/fsl-imx8mm: Implemented support for SNVS
hw/arm/fsl-imx8mm: Adding support for USDHC storage controllers
hw/arm/fsl-imx8mm: Add PCIe support
hw/arm/fsl-imx8mm: Add GPIO controllers
hw/arm/fsl-imx8mm: Adding support for I2C emulation
hw/arm/fsl-imx8mm: Adding support for SPI controller
hw/arm/fsl-imx8mm: Adding support for Watchdog Timers
hw/arm/fsl-imx8mm: Adding support for General Purpose Timers
hw/arm/fsl-imx8mm: Adding support for ENET ethernet controller
hw/arm/fsl-imx8mm: Adding support for USB controller
hw/arm/fsl-imx8mm: Adding functional testing of iMX8MM emulation
MAINTAINERS | 10 +
docs/system/arm/imx8mm-evk.rst | 79 +++
docs/system/target-arm.rst | 1 +
hw/arm/Kconfig | 24 +
hw/arm/fsl-imx8mm.c | 692 ++++++++++++++++++++
hw/arm/imx8mm-evk.c | 128 ++++
hw/arm/meson.build | 2 +
hw/misc/imx8mp_analog.c | 12 +-
hw/timer/imx_gpt.c | 26 +
include/hw/arm/fsl-imx8mm.h | 241 +++++++
include/hw/misc/imx8mp_analog.h | 3 +
include/hw/timer/imx_gpt.h | 2 +
tests/functional/aarch64/meson.build | 2 +
tests/functional/aarch64/test_imx8mm_evk.py | 67 ++
14 files changed, 1288 insertions(+), 1 deletion(-)
create mode 100644 docs/system/arm/imx8mm-evk.rst
create mode 100644 hw/arm/fsl-imx8mm.c
create mode 100644 hw/arm/imx8mm-evk.c
create mode 100644 include/hw/arm/fsl-imx8mm.h
create mode 100755 tests/functional/aarch64/test_imx8mm_evk.py
--
2.34.1