README 2.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182
  1. U-Boot for LogicPD i.MX6 Development Kit
  2. ----------------------------------------
  3. This file contains information for the port of U-Boot to the Logic PD Development kit.
  4. Logic PD has an i.MX6 System On Module (SOM) and a correspondong development
  5. board. SOM has a built-in microSD socket, DDR and NAND flash. The development kit has
  6. an SMSC Ethernet PHY, serial debug port and a variety of peripherals.
  7. On the intial release, the SOM came with either an i.MX6D or i.MX6Q.
  8. For more details about Logic PD i.MX6 Development kit, visit:
  9. https://www.logicpd.com/
  10. Building U-Boot for Logic PD Development Kit
  11. --------------------------------------------
  12. To build U-Boot for the Dual and Quad variants:
  13. make imx6q_logic_defconfig
  14. make u-boot.imx CROSS_COMPILE=arm-linux-
  15. Flashing U-Boot into the SD card
  16. --------------------------------
  17. U-Boot is now building with SPL enabled which means there are two files to
  18. load into the SD card. Make sure the card is formatted with at least two
  19. partitions with the first partition being FAT32. First copy u-boot-dtb.img
  20. to the first partition then burn SPL to the SD card with dd.
  21. The SPL portion is programmed into a certain location for use by the internal
  22. bootROM and it cannot be changed. The following instructions assume the SD
  23. card is located as /dev/sdb.
  24. cp u-boot-dtb.img /dev/media/logic/boot
  25. sudo dd if=SPL of=/dev/sdb bs=1k seek=1 oflag=sync status=none && sync
  26. Flashing U-Boot into NAND
  27. -------------------------
  28. Once in Linux with MTD support for the NAND on /dev/mtd0, program U-Boot with the following:
  29. with:
  30. kobs-ng init -v -x u-boot-dtb.imx
  31. Using Falcon Mode
  32. -----------------
  33. With Falcon Mode enabled, U-Boot can be bypassed by having SPL directly load
  34. the kernel. The device tree, Kernel and boot args must first be configured,
  35. and stored to a file on the micro SD card called 'args'
  36. The kernel uImage is built with LOAD_ADDR=0x12000000 and the device tree is
  37. assummed to be imx6q-logicpd.dtb.
  38. By default the mmcroot is set to the baseboard.
  39. # Establish bootargs
  40. run mmcargs
  41. # Load Linux Kernel uImage
  42. fatload mmc 1 $loadaddr uImage
  43. # Load Device Tree
  44. run loadfdt
  45. # Setup the blob that will get passed to the kernel
  46. spl export fdt ${loadaddr} - ${fdt_addr_r}
  47. # Note the starting and ending address of the updated device tree.
  48. # for this example:
  49. # Loading Device Tree to 1ffdf000, end 1fff038b ... OK
  50. # Notice that 0x1fff038b - 1ffdf000 = 0x1138b
  51. # now Add 1, so the length is 0x1138c.
  52. fatwrite mmc 1 0x1ffdf000 args 0x1138c
  53. # Reset the board and it will bypass U-Boot and SPL will directly boot
  54. # the uImage
  55. To interrupt the boot sequence and force U-Boot to load, hold the 'c' button
  56. while starting.
  57. Additional Support Documentation can be found at:
  58. https://support.logicpd.com/