Files
nixos-hardware/nxp
Jörg Thalheim 688ee555de refactor(nxp): parameterize i.MX platform builders to reduce duplication
This refactoring reduces code duplication across i.MX93, i.MX8MP, and
i.MX8MQ platforms by extracting common build logic into parameterized
shared builders. This makes it easier to maintain and add new i.MX
platforms while ensuring consistency across all platforms.
2025-10-29 18:26:21 +01:00
..
2025-10-29 18:19:05 +01:00

NXP i.MX8 SOC family support

1. Supported devices

2. How to use

2.1 For imx8qm-mek

Currently this NXP overlay is used for generating EFI-bootable NixOS images. I recommend to use Tow-Boot as a bootloader, but U-Boot from this overlay can also be used. U-Boot was tested separately from NixOS.

Code snippet example that enables imx8qm configuration:

{ nixos-hardware, }: {
  system = "aarch64-linux";
  modules = [
    nixos-hardware.nixosModules.imx8qm-mek
  ];
}

2.2 For imx8mq-evk/imx8mp-evk/imx93-evk

This NXP overlay is used for generating sdimage. Current configuration uses uboot as a bootloader. It provides an options to use optee-os which is currently disabled. It can be enabled using enable-tee boolean argument avalable in imx8m<q/p>-boot.nix, which is false by default in imx8m platform.

Code snippet example that enables 'imx8mp-evk/imx8mq-evk/imx93-evk' configuration:

{ nixos-hardware, }: {
  system = "aarch64-linux";
  modules = [
    nixos-hardware.nixosModules.imx8mp-evk  #For imx8mp-evk
    #nixos-hardware.nixosModules.imx93-evk  #For imx93-evk
    #nixos-hardware.nixosModules.imx8mq-evk  #For imx8mq-evk
  ];
}