Windows IoT Enterprise on NXP
Microsoft has worked alongside NXP to enable Windows IoT Enterprise support for NXP's i.MX 8 and i.MX 9 series of Arm64 processors. NXP's i.MX processors enable lower power and lower cost Windows IoT Enterprise devices to be built than ever before while maintaining the familiar user interface, device management, and industry-leading OS support that users love.
For the specific NXP processor models supported by each Windows IoT Enterprise OS version, refer to the Windows IoT Enterprise Processor Lists.
NXP publishes the Board Support Package (BSP) that includes the drivers and firmware needed for the supported NXP i.MX 8 and i.MX 93 evaluation kits (EVKs) to run on Windows IoT Enterprise. The BSP is provided in both source code and binary format.
To download the BSP for the EVKs and their supporting documentation, visit NXP's Windows IoT Enterprise for i.MX Applications Processors website.
For hardware platforms other than EVKs, contact the hardware manufacturer for the BSP.
This table lists the features supported on each of the NXP i.MX EVK boards as of the most recent NXP BSP release (1.5.1). For details, check the NXP BSP documentation.
Feature | i.MX 8M Plus | i.MX 8M | i.MX 8M Mini | i.MX 8M Nano | i.MX 8X | i.MX 93 |
---|---|---|---|---|---|---|
Windows IoT Enterprise Compatibility | - | - | - | - | - | - |
Minimum Windows 10 IoT Enterprise Version | 19044.3693 | 19044.3693 | 19044.3693 | 19044.3693 | 19044.3693 | 19044.3693 |
Minimum Windows 11 IoT Enterprise Version | Not supported | Not supported | Not supported | Not supported | Not supported | 26100.1 |
Audio | - | - | - | - | - | - |
3.5mm audio jack | input and output | output only | output only | output only | input and output | input and output |
HDMI audio (output only) | ✓ | - | - | - | - | - |
Display/Graphics | - | - | - | - | - | - |
HDMI | up to 1080p | up to 1080p | - | - | - | - |
LVDS | up to 1920x1200 | - | - | - | up to 1080p | up to 1280x800 |
MIPI-DSI | up to 1920x1200 | - | up to 1920x1200 | up to 1920x1200 | - | up to 1920x1200 |
GPU | ✓ | ✓ | - | ✓ | ✓ | - |
Multiple Displays | ✓ | - | - | - | ✓ | - |
VPU video decode (HEVC, H.264, VP8) | ✓ | ✓ | ✓ | - | ✓ | - |
VPU video decode (MPEG-2, MPEG-4) | - | ✓ | - | - | ✓ | - |
VPU video decode (VP9) | - | ✓ | - | - | - | - |
Device Connectivity | - | - | - | - | - | - |
USB | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
GPIO | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
UART (RS-232) | ✓ | ✓ | ✓ | ✓ | - | - |
LPUART (RS-232) | - | - | - | - | ✓ | ✓ |
I2C (controller mode) | ✓ | ✓ | ✓ | ✓ | - | - |
LPI2C (controller mode) | - | - | - | - | ✓ | ✓ |
SPI (controller mode) | ✓ | ✓ | ✓ | ✓ | - | - |
LPSPI (controller mode) | - | - | - | - | ✓ | ✓ |
PCIe | ✓ | ✓ | ✓ | - | ✓ | - |
FlexCAN | ✓ | - | - | - | ✓ | ✓ |
Network Connectivity | - | - | - | - | - | - |
Ethernet | 2x RTL8211 | 1x AR8031 | 1x AR8031 | 1x AR8031 | 1x AR8031 | 2x RTL8211 |
Wi-Fi 5 1 | ✓ | ✓ | ✓ | - | ✓ | - |
Storage | - | - | - | - | - | - |
eMMC | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
SD | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Camera | - | - | - | - | - | - |
OV5640 MIPI-CSI camera (MINISASTOCSI) | ✓ | ✓ | ✓ | ✓ | ✓ | - |
OV10635 MIPI-CSI camera (MX8XMIPI4CAM2) | ✓ | ✓ | ✓ | ✓ | ✓ | - |
AP1302 ISP + AR0144 MIPI-CSI camera (RPI-CAM-MIPI) | - | - | - | - | - | ✓ |
Security | - | - | - | - | - | - |
Secure Boot | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Debugging | - | - | - | - | - | - |
Kernel Debugging over Network | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
Kernel Debugging over Serial | ✓ | ✓ | ✓ | ✓ | - | - |
Miscellaneous | - | - | - | - | - | - |
RTC (on-SoC)2 | ✓ | ✓ | ✓ | ✓ | - | - |
1 Wi-Fi support is added through a PCIe M.2 expansion port. NXP i.MX 8M Plus EVK ships with a supported 88W8997-based M.2 module. NXP provides drivers for M.2 modules based on the 88W8997 and 88W8897 Wi-Fi chips.
2 Real time clock (RTC) is implemented on-SoC and preserves time across reset, but doesn't preserve time when the system is powered off. Add a discrete RTC to preserve time when the system is powered off.
Windows Forms applications run slower when the GPU is enabled due to how Windows Forms’ underlying graphics API (GDI+) handles rendering. You can prevent this performance slowdown by disabling the GPU for the specific application through registry:
For example, if you want to disable the GPU for an application named WinFormsApp.exe, you can create the following registry key in a command prompt:
reg add HKLM\Software\VSI\GPU\GdiRedirSurf /v WinFormsApp.exe /t REG_DWORD /d 0
The NXP GPU driver doesn't support acceleration of browser-based workloads. Browser content renders using CPU instead.
Windows IoT Enterprise doesn't support eMMC HS400, which can result in lower peak storage throughput. In addition, the i.MX 93 storage driver doesn't support eMMC HS200.
Windows 10 IoT Enterprise must be updated to version 19044.3693 (KB5032189) or newer. Older versions of Windows 10 IoT Enterprise limit the maximum memory on the NXP i.MX 8M Plus to 3GB, and have storage stability issues that can lead to blue screens. To update the Windows IoT Enterprise image offline, follow the instructions for adding updates to a Windows image.
The i.MX 8 family of application processors don't support Hyper-V virtualization or features that depend on it (for example, Virtualization Based Security).
Windows IoT Enterprise doesn't support the NPUs on either the i.MX 8M Plus or the i.MX 93 applications processors.
Windows IoT Enterprise doesn't support expandable storage through PCIe (for example, M.2 SSD).
The i.MX 8M applications processor has a hardware limitation that only allows external devices to address the first 3GB of memory (RAM). i.MX 8M systems that have more than 4GB or more memory must ensure their DMA-capable drivers don't address memory outside of the safe 3GB region.
Windows IoT Enterprise doesn't support USB On-The-Go (USB OTG) and doesn't support USB ports operating in the USB Function role.