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 <[email protected]> Gaurav Sharma (13): hw/arm: Add the i.MX 8MM EVK(Evaluation Kit) board hw/arm/fsl-imx8mm: Implemented CCM(Clock Control Module) and Analog IP 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 docs/system/arm/imx8mm-evk.rst | 62 ++ docs/system/target-arm.rst | 1 + hw/arm/Kconfig | 24 + hw/arm/fsl-imx8mm.c | 687 ++++++++++++++++++++ hw/arm/imx8mm-evk.c | 127 ++++ hw/arm/meson.build | 2 + hw/misc/Kconfig | 6 + hw/misc/imx8mm_analog.c | 160 +++++ hw/misc/imx8mm_ccm.c | 175 +++++ hw/misc/meson.build | 2 + hw/timer/imx_gpt.c | 26 + include/hw/arm/fsl-imx8mm.h | 240 +++++++ include/hw/misc/imx8mm_analog.h | 81 +++ include/hw/misc/imx8mm_ccm.h | 30 + include/hw/timer/imx_gpt.h | 2 + tests/functional/aarch64/meson.build | 2 + tests/functional/aarch64/test_imx8mm_evk.py | 67 ++ 17 files changed, 1694 insertions(+) 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 hw/misc/imx8mm_analog.c create mode 100644 hw/misc/imx8mm_ccm.c create mode 100644 include/hw/arm/fsl-imx8mm.h create mode 100644 include/hw/misc/imx8mm_analog.h create mode 100644 include/hw/misc/imx8mm_ccm.h create mode 100755 tests/functional/aarch64/test_imx8mm_evk.py -- 2.34.1
