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