[PATCHv5 00/15] Adding comprehensive support for i.MX8MM EVK board

Gaurav Sharma posted 15 patches 1 month, 2 weeks ago
Failed in applying to current master (apply log)
There is a newer version of this series
MAINTAINERS                                 |  10 +
docs/system/arm/imx8mp-evk.rst              |  33 +-
docs/system/target-arm.rst                  |   1 +
hw/arm/Kconfig                              |  24 +
hw/arm/fsl-imx8mm.c                         | 704 ++++++++++++++++++++
hw/arm/imx8mm-evk.c                         | 130 ++++
hw/arm/meson.build                          |   2 +
hw/misc/imx8mp_analog.c                     |  12 +-
hw/timer/imx_gpt.c                          |  26 +
include/hw/arm/fsl-imx8mm.h                 | 242 +++++++
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, 1251 insertions(+), 7 deletions(-)
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
[PATCHv5 00/15] Adding comprehensive support for i.MX8MM EVK board
Posted by Gaurav Sharma 1 month, 2 weeks ago
Changes in v5:
- Fixed SoC object reference counting by using object_new_with_props()
  instead of object_new() + object_property_add_child()
- Merged imx8mm-evk.rst documentation into imx8mp-evk.rst to avoid
  duplication and updated the title accordingly
- Added on-chip RAM (OCRAM) support to match iMX8MP dev

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/imx8mp-evk.rst              |  33 +-
 docs/system/target-arm.rst                  |   1 +
 hw/arm/Kconfig                              |  24 +
 hw/arm/fsl-imx8mm.c                         | 704 ++++++++++++++++++++
 hw/arm/imx8mm-evk.c                         | 130 ++++
 hw/arm/meson.build                          |   2 +
 hw/misc/imx8mp_analog.c                     |  12 +-
 hw/timer/imx_gpt.c                          |  26 +
 include/hw/arm/fsl-imx8mm.h                 | 242 +++++++
 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, 1251 insertions(+), 7 deletions(-)
 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
Re: [PATCHv5 00/15] Adding comprehensive support for i.MX8MM EVK board
Posted by Bernhard Beschow 1 month, 2 weeks ago

Am 13. April 2026 07:37:22 UTC schrieb Gaurav Sharma <gaurav.sharma_7@nxp.com>:

Hi Gurav,

>Changes in v5:
>- Fixed SoC object reference counting by using object_new_with_props()
>  instead of object_new() + object_property_add_child()
>- Merged imx8mm-evk.rst documentation into imx8mp-evk.rst to avoid
>  duplication and updated the title accordingly
>- Added on-chip RAM (OCRAM) support to match iMX8MP dev

I tried to apply v5 but I'm hitting the same issues as Patchew: <https://patchew.org/QEMU/20260413073737.986219-1-gaurav.sharma._5F7@nxp.com/> Mind resending a version rebased onto master?

Moreover, you may keep my R-b tags which I've given during v4.

Best regards,
Bernhard

>
>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/imx8mp-evk.rst              |  33 +-
> docs/system/target-arm.rst                  |   1 +
> hw/arm/Kconfig                              |  24 +
> hw/arm/fsl-imx8mm.c                         | 704 ++++++++++++++++++++
> hw/arm/imx8mm-evk.c                         | 130 ++++
> hw/arm/meson.build                          |   2 +
> hw/misc/imx8mp_analog.c                     |  12 +-
> hw/timer/imx_gpt.c                          |  26 +
> include/hw/arm/fsl-imx8mm.h                 | 242 +++++++
> 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, 1251 insertions(+), 7 deletions(-)
> 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
>
RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for i.MX8MM EVK board
Posted by Gaurav Sharma 1 month, 2 weeks ago

> -----Original Message-----
> From: Bernhard Beschow <shentey@gmail.com>
> Sent: 13 April 2026 19:01
> To: qemu-devel@nongnu.org; Gaurav Sharma <gaurav.sharma_7@nxp.com>
> Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> Subject: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for
> i.MX8MM EVK board
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> Am 13. April 2026 07:37:22 UTC schrieb Gaurav Sharma
> <gaurav.sharma_7@nxp.com>:
> 
> Hi Gurav,
> 
> >Changes in v5:
> >- Fixed SoC object reference counting by using object_new_with_props()
> >  instead of object_new() + object_property_add_child()
> >- Merged imx8mm-evk.rst documentation into imx8mp-evk.rst to avoid
> >  duplication and updated the title accordingly
> >- Added on-chip RAM (OCRAM) support to match iMX8MP dev
> 
> I tried to apply v5 but I'm hitting the same issues as Patchew:
> <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpatch
> ew.org%2FQEMU%2F20260413073737.986219-1-
> gaurav.sharma._5F7%40nxp.com%2F&data=05%7C02%7Cgaurav.sharma_7%4
> 0nxp.com%7Cfbdcd381f0014ebd086a08de9960ed16%7C686ea1d3bc2b4c6fa
> 92cd99c5c301635%7C0%7C0%7C639116838724991885%7CUnknown%7CTWF
> pbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4
> zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=nyynvYO
> v87nTkxEFkU8k3eSt4r%2Fa17rQkr9STABgaaA%3D&reserved=0> Mind
> resending a version rebased onto master?
> 
> Moreover, you may keep my R-b tags which I've given during v4.
> 
> Best regards,
> Bernhard
> 

Hey Bernhard,
yes, looks like I need to rebase and create patches again. Lemme do that and send over as v6. 

> >
> >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/imx8mp-evk.rst              |  33 +-
> > docs/system/target-arm.rst                  |   1 +
> > hw/arm/Kconfig                              |  24 +
> > hw/arm/fsl-imx8mm.c                         | 704 ++++++++++++++++++++
> > hw/arm/imx8mm-evk.c                         | 130 ++++
> > hw/arm/meson.build                          |   2 +
> > hw/misc/imx8mp_analog.c                     |  12 +-
> > hw/timer/imx_gpt.c                          |  26 +
> > include/hw/arm/fsl-imx8mm.h                 | 242 +++++++
> > 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, 1251 insertions(+), 7 deletions(-) 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
> >
RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for i.MX8MM EVK board
Posted by Gaurav Sharma 1 month, 2 weeks ago
@'Bernhard Beschow', after I rebased to master and build the changes, so far I have observed build errors like:-

1. 2 of those attributed to qdev-properties.h header file moved from hw/ to hw/core/
2. 2 errors attributed to boards.h header file moved from hw/ to hw/core/
3. One attributed to smmu :-

In file included from ../hw/arm/smmuv3.c:37:
../hw/arm/smmuv3-accel.h:17:10: error: #include expects "FILENAME" or <FILENAME>
   17 | #include CONFIG_DEVICES
      |          ^~~~~~~~~~~~~~
../hw/arm/smmuv3-accel.h:44:8: error: attempt to use poisoned "CONFIG_ARM_SMMUV3_ACCEL"
   44 | #ifdef CONFIG_ARM_SMMUV3_ACCEL
      |        ^
../hw/arm/smmuv3.c: In function 'smmu_validate_property':
../hw/arm/smmuv3.c:1968:9: error: attempt to use poisoned "CONFIG_ARM_SMMUV3_ACCEL"
 1968 | #ifndef CONFIG_ARM_SMMUV3_ACCEL
      |         ^

Build command used:-

../configure --target-list=aarch64-softmmu
make -j$(nproc)

are these expected ? 



> -----Original Message-----
> From: Gaurav Sharma
> Sent: 14 April 2026 00:30
> To: 'Bernhard Beschow' <shentey@gmail.com>; qemu-devel@nongnu.org
> Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> Subject: RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for
> i.MX8MM EVK board
> 
> 
> 
> > -----Original Message-----
> > From: Bernhard Beschow <shentey@gmail.com>
> > Sent: 13 April 2026 19:01
> > To: qemu-devel@nongnu.org; Gaurav Sharma
> <gaurav.sharma_7@nxp.com>
> > Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> > Subject: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for
> > i.MX8MM EVK board
> >
> > Caution: This is an external email. Please take care when clicking
> > links or opening attachments. When in doubt, report the message using
> > the 'Report this email' button
> >
> >
> > Am 13. April 2026 07:37:22 UTC schrieb Gaurav Sharma
> > <gaurav.sharma_7@nxp.com>:
> >
> > Hi Gurav,
> >
> > >Changes in v5:
> > >- Fixed SoC object reference counting by using
> > >object_new_with_props()
> > >  instead of object_new() + object_property_add_child()
> > >- Merged imx8mm-evk.rst documentation into imx8mp-evk.rst to avoid
> > >  duplication and updated the title accordingly
> > >- Added on-chip RAM (OCRAM) support to match iMX8MP dev
> >
> > I tried to apply v5 but I'm hitting the same issues as Patchew:
> > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat
> > ch
> > ew.org%2FQEMU%2F20260413073737.986219-1-
> >
> gaurav.sharma._5F7%40nxp.com%2F&data=05%7C02%7Cgaurav.sharma_7%4
> >
> 0nxp.com%7Cfbdcd381f0014ebd086a08de9960ed16%7C686ea1d3bc2b4c6fa
> >
> 92cd99c5c301635%7C0%7C0%7C639116838724991885%7CUnknown%7CTWF
> >
> pbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4
> >
> zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=nyynvYO
> > v87nTkxEFkU8k3eSt4r%2Fa17rQkr9STABgaaA%3D&reserved=0> Mind
> resending a
> > version rebased onto master?
> >
> > Moreover, you may keep my R-b tags which I've given during v4.
> >
> > Best regards,
> > Bernhard
> >
> 
> Hey Bernhard,
> yes, looks like I need to rebase and create patches again. Lemme do that and
> send over as v6.
> 
> > >
> > >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/imx8mp-evk.rst              |  33 +-
> > > docs/system/target-arm.rst                  |   1 +
> > > hw/arm/Kconfig                              |  24 +
> > > hw/arm/fsl-imx8mm.c                         | 704 ++++++++++++++++++++
> > > hw/arm/imx8mm-evk.c                         | 130 ++++
> > > hw/arm/meson.build                          |   2 +
> > > hw/misc/imx8mp_analog.c                     |  12 +-
> > > hw/timer/imx_gpt.c                          |  26 +
> > > include/hw/arm/fsl-imx8mm.h                 | 242 +++++++
> > > 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, 1251 insertions(+), 7 deletions(-) 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
> > >
RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for i.MX8MM EVK board
Posted by Bernhard Beschow 1 month, 2 weeks ago

Am 13. April 2026 19:54:29 UTC schrieb Gaurav Sharma <gaurav.sharma_7@nxp.com>:
>@'Bernhard Beschow', after I rebased to master and build the changes, so far I have observed build errors like:-
>
>1. 2 of those attributed to qdev-properties.h header file moved from hw/ to hw/core/
>2. 2 errors attributed to boards.h header file moved from hw/ to hw/core/
>3. One attributed to smmu :-
>
>In file included from ../hw/arm/smmuv3.c:37:
>../hw/arm/smmuv3-accel.h:17:10: error: #include expects "FILENAME" or <FILENAME>
>   17 | #include CONFIG_DEVICES
>      |          ^~~~~~~~~~~~~~
>../hw/arm/smmuv3-accel.h:44:8: error: attempt to use poisoned "CONFIG_ARM_SMMUV3_ACCEL"
>   44 | #ifdef CONFIG_ARM_SMMUV3_ACCEL
>      |        ^
>../hw/arm/smmuv3.c: In function 'smmu_validate_property':
>../hw/arm/smmuv3.c:1968:9: error: attempt to use poisoned "CONFIG_ARM_SMMUV3_ACCEL"
> 1968 | #ifndef CONFIG_ARM_SMMUV3_ACCEL
>      |         ^
>
>Build command used:-
>
>../configure --target-list=aarch64-softmmu
>make -j$(nproc)
>
>are these expected ? 

Certainly not, since we're close to a release. The only advice I can give for now is to double check against imx8mp...

>
>
>
>> -----Original Message-----
>> From: Gaurav Sharma
>> Sent: 14 April 2026 00:30
>> To: 'Bernhard Beschow' <shentey@gmail.com>; qemu-devel@nongnu.org
>> Cc: pbonzini@redhat.com; peter.maydell@linaro.org
>> Subject: RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for
>> i.MX8MM EVK board
>> 
>> 
>> 
>> > -----Original Message-----
>> > From: Bernhard Beschow <shentey@gmail.com>
>> > Sent: 13 April 2026 19:01
>> > To: qemu-devel@nongnu.org; Gaurav Sharma
>> <gaurav.sharma_7@nxp.com>
>> > Cc: pbonzini@redhat.com; peter.maydell@linaro.org
>> > Subject: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for
>> > i.MX8MM EVK board
>> >
>> > Caution: This is an external email. Please take care when clicking
>> > links or opening attachments. When in doubt, report the message using
>> > the 'Report this email' button
>> >
>> >
>> > Am 13. April 2026 07:37:22 UTC schrieb Gaurav Sharma
>> > <gaurav.sharma_7@nxp.com>:
>> >
>> > Hi Gurav,
>> >
>> > >Changes in v5:
>> > >- Fixed SoC object reference counting by using
>> > >object_new_with_props()
>> > >  instead of object_new() + object_property_add_child()
>> > >- Merged imx8mm-evk.rst documentation into imx8mp-evk.rst to avoid
>> > >  duplication and updated the title accordingly
>> > >- Added on-chip RAM (OCRAM) support to match iMX8MP dev
>> >
>> > I tried to apply v5 but I'm hitting the same issues as Patchew:
>> > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpat
>> > ch
>> > ew.org%2FQEMU%2F20260413073737.986219-1-
>> >
>> gaurav.sharma._5F7%40nxp.com%2F&data=05%7C02%7Cgaurav.sharma_7%4
>> >
>> 0nxp.com%7Cfbdcd381f0014ebd086a08de9960ed16%7C686ea1d3bc2b4c6fa
>> >
>> 92cd99c5c301635%7C0%7C0%7C639116838724991885%7CUnknown%7CTWF
>> >
>> pbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4
>> >
>> zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=nyynvYO
>> > v87nTkxEFkU8k3eSt4r%2Fa17rQkr9STABgaaA%3D&reserved=0> Mind
>> resending a
>> > version rebased onto master?
>> >
>> > Moreover, you may keep my R-b tags which I've given during v4.
>> >
>> > Best regards,
>> > Bernhard
>> >
>> 
>> Hey Bernhard,
>> yes, looks like I need to rebase and create patches again. Lemme do that and
>> send over as v6.
>> 
>> > >
>> > >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/imx8mp-evk.rst              |  33 +-
>> > > docs/system/target-arm.rst                  |   1 +
>> > > hw/arm/Kconfig                              |  24 +
>> > > hw/arm/fsl-imx8mm.c                         | 704 ++++++++++++++++++++
>> > > hw/arm/imx8mm-evk.c                         | 130 ++++
>> > > hw/arm/meson.build                          |   2 +
>> > > hw/misc/imx8mp_analog.c                     |  12 +-
>> > > hw/timer/imx_gpt.c                          |  26 +
>> > > include/hw/arm/fsl-imx8mm.h                 | 242 +++++++
>> > > 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, 1251 insertions(+), 7 deletions(-) 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
>> > >
RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for i.MX8MM EVK board
Posted by Gaurav Sharma 1 month, 2 weeks ago
> -----Original Message-----
> From: Bernhard Beschow <shentey@gmail.com>
> Sent: 14 April 2026 02:20
> To: Gaurav Sharma <gaurav.sharma_7@nxp.com>; qemu-devel@nongnu.org
> Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> Subject: RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for
> i.MX8MM EVK board
> 
> Caution: This is an external email. Please take care when clicking links or
> opening attachments. When in doubt, report the message using the 'Report
> this email' button
> 
> 
> Am 13. April 2026 19:54:29 UTC schrieb Gaurav Sharma
> <gaurav.sharma_7@nxp.com>:
> >@'Bernhard Beschow', after I rebased to master and build the changes,
> >so far I have observed build errors like:-
> >
> >1. 2 of those attributed to qdev-properties.h header file moved from
> >hw/ to hw/core/ 2. 2 errors attributed to boards.h header file moved
> >from hw/ to hw/core/ 3. One attributed to smmu :-
> >
> >In file included from ../hw/arm/smmuv3.c:37:
> >../hw/arm/smmuv3-accel.h:17:10: error: #include expects "FILENAME" or
> <FILENAME>
> >   17 | #include CONFIG_DEVICES
> >      |          ^~~~~~~~~~~~~~
> >../hw/arm/smmuv3-accel.h:44:8: error: attempt to use poisoned
> "CONFIG_ARM_SMMUV3_ACCEL"
> >   44 | #ifdef CONFIG_ARM_SMMUV3_ACCEL
> >      |        ^
> >../hw/arm/smmuv3.c: In function 'smmu_validate_property':
> >../hw/arm/smmuv3.c:1968:9: error: attempt to use poisoned
> "CONFIG_ARM_SMMUV3_ACCEL"
> > 1968 | #ifndef CONFIG_ARM_SMMUV3_ACCEL
> >      |         ^
> >
> >Build command used:-
> >
> >../configure --target-list=aarch64-softmmu make -j$(nproc)
> >
> >are these expected ?
> 
> Certainly not, since we're close to a release. The only advice I can give for
> now is to double check against imx8mp...
> 

Got it. Build is fine with the changes now. Sending in the v6 shortly.

> >
> >
> >
> >> -----Original Message-----
> >> From: Gaurav Sharma
> >> Sent: 14 April 2026 00:30
> >> To: 'Bernhard Beschow' <shentey@gmail.com>; qemu-devel@nongnu.org
> >> Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> >> Subject: RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support
> >> for i.MX8MM EVK board
> >>
> >>
> >>
> >> > -----Original Message-----
> >> > From: Bernhard Beschow <shentey@gmail.com>
> >> > Sent: 13 April 2026 19:01
> >> > To: qemu-devel@nongnu.org; Gaurav Sharma
> >> <gaurav.sharma_7@nxp.com>
> >> > Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> >> > Subject: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for
> >> > i.MX8MM EVK board
> >> >
> >> > Caution: This is an external email. Please take care when clicking
> >> > links or opening attachments. When in doubt, report the message
> >> > using the 'Report this email' button
> >> >
> >> >
> >> > Am 13. April 2026 07:37:22 UTC schrieb Gaurav Sharma
> >> > <gaurav.sharma_7@nxp.com>:
> >> >
> >> > Hi Gurav,
> >> >
> >> > >Changes in v5:
> >> > >- Fixed SoC object reference counting by using
> >> > >object_new_with_props()
> >> > >  instead of object_new() + object_property_add_child()
> >> > >- Merged imx8mm-evk.rst documentation into imx8mp-evk.rst to avoid
> >> > >  duplication and updated the title accordingly
> >> > >- Added on-chip RAM (OCRAM) support to match iMX8MP dev
> >> >
> >> > I tried to apply v5 but I'm hitting the same issues as Patchew:
> >> > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%2F
> >> >
> pat%2F&data=05%7C02%7Cgaurav.sharma_7%40nxp.com%7Caa935d96ff2e4
> 05ac
> >> >
> 8cd08de999e31c1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
> 9117
> >> >
> 101899885925%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydW
> UsIlYiOi
> >> >
> IwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C
> 0%
> >> >
> 7C%7C%7C&sdata=JAaw56sBFbwFFHt4bHO1Zt51fDkADIqVN7kPV9Tkt%2BI%3
> D&res
> >> > erved=0
> >> > ch
> >> > ew.org%2FQEMU%2F20260413073737.986219-1-
> >> >
> >>
> gaurav.sharma._5F7%40nxp.com%2F&data=05%7C02%7Cgaurav.sharma_7%4
> >> >
> >>
> 0nxp.com%7Cfbdcd381f0014ebd086a08de9960ed16%7C686ea1d3bc2b4c6fa
> >> >
> >>
> 92cd99c5c301635%7C0%7C0%7C639116838724991885%7CUnknown%7CTWF
> >> >
> >>
> pbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4
> >> >
> >>
> zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=nyynvYO
> >> > v87nTkxEFkU8k3eSt4r%2Fa17rQkr9STABgaaA%3D&reserved=0> Mind
> >> resending a
> >> > version rebased onto master?
> >> >
> >> > Moreover, you may keep my R-b tags which I've given during v4.
> >> >
> >> > Best regards,
> >> > Bernhard
> >> >
> >>
> >> Hey Bernhard,
> >> yes, looks like I need to rebase and create patches again. Lemme do
> >> that and send over as v6.
> >>
> >> > >
> >> > >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/imx8mp-evk.rst              |  33 +-
> >> > > docs/system/target-arm.rst                  |   1 +
> >> > > hw/arm/Kconfig                              |  24 +
> >> > > hw/arm/fsl-imx8mm.c                         | 704 ++++++++++++++++++++
> >> > > hw/arm/imx8mm-evk.c                         | 130 ++++
> >> > > hw/arm/meson.build                          |   2 +
> >> > > hw/misc/imx8mp_analog.c                     |  12 +-
> >> > > hw/timer/imx_gpt.c                          |  26 +
> >> > > include/hw/arm/fsl-imx8mm.h                 | 242 +++++++
> >> > > 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, 1251 insertions(+), 7 deletions(-) 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
> >> > >
RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for i.MX8MM EVK board
Posted by Gaurav Sharma 1 month, 2 weeks ago

> -----Original Message-----
> From: Gaurav Sharma
> Sent: 14 April 2026 10:47
> To: Bernhard Beschow <shentey@gmail.com>; qemu-devel@nongnu.org
> Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> Subject: RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support for
> i.MX8MM EVK board
> 
> 
> > -----Original Message-----
> > From: Bernhard Beschow <shentey@gmail.com>
> > Sent: 14 April 2026 02:20
> > To: Gaurav Sharma <gaurav.sharma_7@nxp.com>; qemu-
> devel@nongnu.org
> > Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> > Subject: RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support
> > for i.MX8MM EVK board
> >
> > Caution: This is an external email. Please take care when clicking
> > links or opening attachments. When in doubt, report the message using
> > the 'Report this email' button
> >
> >
> > Am 13. April 2026 19:54:29 UTC schrieb Gaurav Sharma
> > <gaurav.sharma_7@nxp.com>:
> > >@'Bernhard Beschow', after I rebased to master and build the changes,
> > >so far I have observed build errors like:-
> > >
> > >1. 2 of those attributed to qdev-properties.h header file moved from
> > >hw/ to hw/core/ 2. 2 errors attributed to boards.h header file moved
> > >from hw/ to hw/core/ 3. One attributed to smmu :-
> > >
> > >In file included from ../hw/arm/smmuv3.c:37:
> > >../hw/arm/smmuv3-accel.h:17:10: error: #include expects "FILENAME" or
> > <FILENAME>
> > >   17 | #include CONFIG_DEVICES
> > >      |          ^~~~~~~~~~~~~~
> > >../hw/arm/smmuv3-accel.h:44:8: error: attempt to use poisoned
> > "CONFIG_ARM_SMMUV3_ACCEL"
> > >   44 | #ifdef CONFIG_ARM_SMMUV3_ACCEL
> > >      |        ^
> > >../hw/arm/smmuv3.c: In function 'smmu_validate_property':
> > >../hw/arm/smmuv3.c:1968:9: error: attempt to use poisoned
> > "CONFIG_ARM_SMMUV3_ACCEL"
> > > 1968 | #ifndef CONFIG_ARM_SMMUV3_ACCEL
> > >      |         ^
> > >
> > >Build command used:-
> > >
> > >../configure --target-list=aarch64-softmmu make -j$(nproc)
> > >
> > >are these expected ?
> >
> > Certainly not, since we're close to a release. The only advice I can
> > give for now is to double check against imx8mp...
> >
> 
> Got it. Build is fine with the changes now. Sending in the v6 shortly.
> 
Correction - I would be resending as v5

> > >
> > >
> > >
> > >> -----Original Message-----
> > >> From: Gaurav Sharma
> > >> Sent: 14 April 2026 00:30
> > >> To: 'Bernhard Beschow' <shentey@gmail.com>; qemu-
> devel@nongnu.org
> > >> Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> > >> Subject: RE: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support
> > >> for i.MX8MM EVK board
> > >>
> > >>
> > >>
> > >> > -----Original Message-----
> > >> > From: Bernhard Beschow <shentey@gmail.com>
> > >> > Sent: 13 April 2026 19:01
> > >> > To: qemu-devel@nongnu.org; Gaurav Sharma
> > >> <gaurav.sharma_7@nxp.com>
> > >> > Cc: pbonzini@redhat.com; peter.maydell@linaro.org
> > >> > Subject: [EXT] Re: [PATCHv5 00/15] Adding comprehensive support
> > >> > for i.MX8MM EVK board
> > >> >
> > >> > Caution: This is an external email. Please take care when
> > >> > clicking links or opening attachments. When in doubt, report the
> > >> > message using the 'Report this email' button
> > >> >
> > >> >
> > >> > Am 13. April 2026 07:37:22 UTC schrieb Gaurav Sharma
> > >> > <gaurav.sharma_7@nxp.com>:
> > >> >
> > >> > Hi Gurav,
> > >> >
> > >> > >Changes in v5:
> > >> > >- Fixed SoC object reference counting by using
> > >> > >object_new_with_props()
> > >> > >  instead of object_new() + object_property_add_child()
> > >> > >- Merged imx8mm-evk.rst documentation into imx8mp-evk.rst to
> > >> > >avoid
> > >> > >  duplication and updated the title accordingly
> > >> > >- Added on-chip RAM (OCRAM) support to match iMX8MP dev
> > >> >
> > >> > I tried to apply v5 but I'm hitting the same issues as Patchew:
> > >> > <https://eur01.safelinks.protection.outlook.com/?url=https%3A%2F%
> > >> > 2F
> > >> >
> >
> pat%2F&data=05%7C02%7Cgaurav.sharma_7%40nxp.com%7Caa935d96ff2e4
> > 05ac
> > >> >
> >
> 8cd08de999e31c1%7C686ea1d3bc2b4c6fa92cd99c5c301635%7C0%7C0%7C63
> > 9117
> > >> >
> >
> 101899885925%7CUnknown%7CTWFpbGZsb3d8eyJFbXB0eU1hcGkiOnRydW
> > UsIlYiOi
> > >> >
> >
> IwLjAuMDAwMCIsIlAiOiJXaW4zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C
> > 0%
> > >> >
> >
> 7C%7C%7C&sdata=JAaw56sBFbwFFHt4bHO1Zt51fDkADIqVN7kPV9Tkt%2BI%3
> > D&res
> > >> > erved=0
> > >> > ch
> > >> > ew.org%2FQEMU%2F20260413073737.986219-1-
> > >> >
> > >>
> >
> gaurav.sharma._5F7%40nxp.com%2F&data=05%7C02%7Cgaurav.sharma_7%4
> > >> >
> > >>
> >
> 0nxp.com%7Cfbdcd381f0014ebd086a08de9960ed16%7C686ea1d3bc2b4c6fa
> > >> >
> > >>
> >
> 92cd99c5c301635%7C0%7C0%7C639116838724991885%7CUnknown%7CTWF
> > >> >
> > >>
> >
> pbGZsb3d8eyJFbXB0eU1hcGkiOnRydWUsIlYiOiIwLjAuMDAwMCIsIlAiOiJXaW4
> > >> >
> > >>
> >
> zMiIsIkFOIjoiTWFpbCIsIldUIjoyfQ%3D%3D%7C0%7C%7C%7C&sdata=nyynvYO
> > >> > v87nTkxEFkU8k3eSt4r%2Fa17rQkr9STABgaaA%3D&reserved=0> Mind
> > >> resending a
> > >> > version rebased onto master?
> > >> >
> > >> > Moreover, you may keep my R-b tags which I've given during v4.
> > >> >
> > >> > Best regards,
> > >> > Bernhard
> > >> >
> > >>
> > >> Hey Bernhard,
> > >> yes, looks like I need to rebase and create patches again. Lemme do
> > >> that and send over as v6.
> > >>
> > >> > >
> > >> > >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/imx8mp-evk.rst              |  33 +-
> > >> > > docs/system/target-arm.rst                  |   1 +
> > >> > > hw/arm/Kconfig                              |  24 +
> > >> > > hw/arm/fsl-imx8mm.c                         | 704 ++++++++++++++++++++
> > >> > > hw/arm/imx8mm-evk.c                         | 130 ++++
> > >> > > hw/arm/meson.build                          |   2 +
> > >> > > hw/misc/imx8mp_analog.c                     |  12 +-
> > >> > > hw/timer/imx_gpt.c                          |  26 +
> > >> > > include/hw/arm/fsl-imx8mm.h                 | 242 +++++++
> > >> > > 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, 1251 insertions(+), 7 deletions(-) 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
> > >> > >