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