imx8mm_evk.rst 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. .. SPDX-License-Identifier: GPL-2.0+
  2. imx8mm_evk
  3. ==========
  4. U-Boot for the NXP i.MX8MM EVK board
  5. Quick Start
  6. -----------
  7. - Build the ARM Trusted firmware binary
  8. - Get ddr firmware
  9. - Build U-Boot
  10. - Boot
  11. Get and Build the ARM Trusted firmware
  12. --------------------------------------
  13. Note: builddir is U-Boot build directory (source directory for in-tree builds)
  14. Get ATF from: https://github.com/nxp-imx/imx-atf
  15. branch: imx_5.4.47_2.2.0
  16. .. code-block:: bash
  17. $ make PLAT=imx8mm bl31
  18. $ cp build/imx8mm/release/bl31.bin $(builddir)
  19. Get the ddr firmware
  20. --------------------
  21. .. code-block:: bash
  22. $ wget https://www.nxp.com/lgfiles/NMG/MAD/YOCTO/firmware-imx-8.9.bin
  23. $ chmod +x firmware-imx-8.9.bin
  24. $ ./firmware-imx-8.9
  25. $ cp firmware-imx-8.9/firmware/ddr/synopsys/lpddr4*.bin $(builddir)
  26. Build U-Boot for sd card
  27. --------------------------
  28. .. code-block:: bash
  29. $ export CROSS_COMPILE=aarch64-poky-linux-
  30. $ make imx8mm_evk_defconfig
  31. $ make
  32. Burn the flash.bin to MicroSD card offset 33KB:
  33. .. code-block:: bash
  34. $sudo dd if=flash.bin of=/dev/sd[x] bs=1024 seek=33 conv=notrunc
  35. Boot
  36. ----
  37. Set Boot switch to SD boot
  38. Build U-Boot for qspi flash card
  39. ------------------------------------
  40. .. code-block:: bash
  41. $ export CROSS_COMPILE=aarch64-poky-linux-
  42. $ make imx8mm_evk_fspi_defconfig
  43. $ make
  44. Currently, there is no direct support to write to QSPI Flash.
  45. Copy flash.bin to ${loadaddr} either from sd card or over network and then copy to
  46. qspi flash
  47. From sd card to memory
  48. .. code-block:: bash
  49. $mmc dev 1
  50. $mmc read ${loadaddr} 0x00 <size_of_flash.bin/512>
  51. .. code-block:: bash
  52. $ sf probe
  53. $ sf erase 0 <size_of_flash.bin_in_hex>
  54. $ sf write $loadaddr 0x00 <size_of_flash.bin_in_hex>
  55. Boot from QSPI Flash
  56. -----------------------
  57. Set Boot Switch to QSPI Flash
  58. Pin configuration for imx8mm_revC evk to boot from qspi flash
  59. SW1101: 0110xxxxxx
  60. SW1102: 00100x0010