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