Boot using xSPI NOR flash

QNX Board Support Packages8.0BSP User's GuideIMX95 EVK BoardNXPNXPARM

After you boot your board, you can prepare a bootable xSPI NOR flash device to use to boot your board.

Note:
Before you can perform the steps to prepare a bootable xSPI NOR flash, you must first boot your board using a bootable SD . For more information, see Prepare a bootable microSD and Use the QNX IPL to boot your board.
After you have QNX OS running, complete the following steps to prepare a bootable xSPI NOR Flash.
  1. Start the devf-nxp-fspi driver from commandline in QNX if not started during QNX boot.
  2. You should see fs0, fs0p0 devices (partitions) appear in device files. You can use the ls /dev command to show the dev directory.
  3. Format the SPI NOR Flash memory using following command:
    flashctl -ev -p /dev/fs0
  4. Copy the QNX IPL files [ipl-imx95-evk_b0_flash.imx] and QNX IFS to the /tmp directory on your board. Both files are in $BSP_ROOT_DIR/images directory.
  5. Copy the QNX IPL file onto the memory device using the following command:
    dd if=/tmp/ipl-imx95-evk_b0_flash.imx of=/dev/fs0
  6. Copy imx95-19x19-evk.dtb file on the memory device at 0x200000 offset using this command:
    dd if=/tmp/imx95-19x19-evk.dtb of=/dev/fs0 seek=4096 bs=512
  7. Copy the QNX IFS file qnx-ifs on the memory device at 0x300000 offset using this command:
    dd if=/tmp/qnx-ifs of=/dev/fs0 seek=6144 bs=512
  8. Configure the DIP switches to boot your board using xSPI NOR Flash memory instead of the SD as follows:
    Figure 1DIP switch configuration for the i.MX 95 EVK board to boot from QSPI


    For more information, see Set up the hardware in this guide about configuring the DIP switches on the board.
  9. Press the SW2 (RESET) switch on the i.MX 95 EVK board to reset the board and press the F key to boot from xSPI NOR Flash:
    ...
    Boot device: NOR/serial NAND chip
    NOTICE:  BL31: v2.12.0(release):lf-6.12.20-2.0.0
    NOTICE:  BL31: Built : 10:40:52, Aug 27 2025
    
    Welcome to QNX Neutrino Initial Program Loader for NXP i.MX95 EVK and Toradex i.MX95 Verdin Board (ARM Cortex-A55)
    ATF commit: lf-6.12
    Command:
    Press 'M' for SDMMC download, IFS filename MUST be 'QNX-IFS'.
    Press 'E' for eMMC download, IFS filename MUST be 'QNX-IFS'.
    Press 'F' for NOR flash download, IFS file MUST be at 0x00300000 and DTB at 0x00200000 offset.
    ...
Page updated: