xref: /openbmc/u-boot/board/freescale/mx6sabresd/README (revision 9cc3ad6c6a5058e3f2eb4e01480f3040e9c228d8)
1*9cc3ad6cSDiego DortaHow to use and build U-Boot on mx6sabresd:
2*9cc3ad6cSDiego Dorta----------------------------------
3*9cc3ad6cSDiego Dorta
4*9cc3ad6cSDiego DortaCurrently there are three methods for booting mx6sabresd boards:
5*9cc3ad6cSDiego Dorta
6*9cc3ad6cSDiego Dorta1. Booting via Normal U-Boot (u-boot.imx)
7*9cc3ad6cSDiego Dorta
8*9cc3ad6cSDiego Dorta2. Booting via SPL (SPL and u-boot.img)
9*9cc3ad6cSDiego Dorta
10*9cc3ad6cSDiego Dorta3. Booting via Falcon mode (SPL launches the kernel directly)
11*9cc3ad6cSDiego Dorta
12*9cc3ad6cSDiego Dorta
13*9cc3ad6cSDiego Dorta1. Booting via Normal U-Boot
14*9cc3ad6cSDiego Dorta----------------------------
15*9cc3ad6cSDiego Dorta
16*9cc3ad6cSDiego Dorta$ make mx6qsabresd_defconfig (If you want to build for mx6qsabresd)
17*9cc3ad6cSDiego Dorta
18*9cc3ad6cSDiego Dortaor
19*9cc3ad6cSDiego Dorta
20*9cc3ad6cSDiego Dorta$ make mx6dlsabresd_defconfig (If you want to build for mx6dlsabresd)
21*9cc3ad6cSDiego Dorta
22*9cc3ad6cSDiego Dorta$ make
23*9cc3ad6cSDiego Dorta
24*9cc3ad6cSDiego DortaThis will generate the image called u-boot.imx.
25*9cc3ad6cSDiego Dorta
26*9cc3ad6cSDiego Dorta- Flash the u-boot.imx binary into the SD card:
27*9cc3ad6cSDiego Dorta
28*9cc3ad6cSDiego Dorta$ sudo dd if=u-boot.imx of=/dev/sdb bs=1K seek=1 && sync
29*9cc3ad6cSDiego Dorta
30*9cc3ad6cSDiego Dorta
31*9cc3ad6cSDiego Dorta2. Booting via SPL
32*9cc3ad6cSDiego Dorta------------------
33*9cc3ad6cSDiego Dorta
34*9cc3ad6cSDiego DortaOther method for building U-Boot on mx6qsabresd and mx6qpsabresd is
35*9cc3ad6cSDiego Dortathrough SPL. In order to do so:
36*9cc3ad6cSDiego Dorta
37*9cc3ad6cSDiego Dorta$ make mx6sabresd_spl_defconfig
38*9cc3ad6cSDiego Dorta$ make
39*9cc3ad6cSDiego Dorta
40*9cc3ad6cSDiego DortaThis will generate the SPL image called SPL and the u-boot.img.
41*9cc3ad6cSDiego Dorta
42*9cc3ad6cSDiego Dorta- Flash the SPL image into the SD card:
43*9cc3ad6cSDiego Dorta
44*9cc3ad6cSDiego Dorta$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 && sync
45*9cc3ad6cSDiego Dorta
46*9cc3ad6cSDiego Dorta- Flash the u-boot.img image into the SD card:
47*9cc3ad6cSDiego Dorta
48*9cc3ad6cSDiego Dorta$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 && sync
49*9cc3ad6cSDiego Dorta
50*9cc3ad6cSDiego Dorta
51*9cc3ad6cSDiego Dorta3. Booting via Falcon mode
52*9cc3ad6cSDiego Dorta--------------------------
53*9cc3ad6cSDiego Dorta
54*9cc3ad6cSDiego Dorta$ make mx6sabresd_spl_defconfig
55*9cc3ad6cSDiego Dorta$ make
56*9cc3ad6cSDiego Dorta
57*9cc3ad6cSDiego DortaThis will generate the SPL image called SPL and the u-boot.img.
58*9cc3ad6cSDiego Dorta
59*9cc3ad6cSDiego Dorta- Flash the SPL image into the SD card:
60*9cc3ad6cSDiego Dorta
61*9cc3ad6cSDiego Dorta$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 oflag=sync status=none && sync
62*9cc3ad6cSDiego Dorta
63*9cc3ad6cSDiego Dorta- Flash the u-boot.img image into the SD card:
64*9cc3ad6cSDiego Dorta
65*9cc3ad6cSDiego Dorta$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 oflag=sync status=none && sync
66*9cc3ad6cSDiego Dorta
67*9cc3ad6cSDiego DortaCreate a partition for root file system and extract it there:
68*9cc3ad6cSDiego Dorta
69*9cc3ad6cSDiego Dorta$ sudo tar xvf rootfs.tar.gz -C /media/root
70*9cc3ad6cSDiego Dorta
71*9cc3ad6cSDiego DortaThe SD card must have enough space for raw "args" and "kernel".
72*9cc3ad6cSDiego DortaTo configure Falcon mode for the first time, on U-Boot do the following commands:
73*9cc3ad6cSDiego Dorta
74*9cc3ad6cSDiego Dorta- Setup the IP server:
75*9cc3ad6cSDiego Dorta
76*9cc3ad6cSDiego Dorta# setenv serverip <server_ip_address>
77*9cc3ad6cSDiego Dorta
78*9cc3ad6cSDiego Dorta- Download dtb file:
79*9cc3ad6cSDiego Dorta
80*9cc3ad6cSDiego Dorta# dhcp ${fdt_addr} imx6q-sabresd.dtb
81*9cc3ad6cSDiego Dorta
82*9cc3ad6cSDiego Dorta- Download kernel image:
83*9cc3ad6cSDiego Dorta
84*9cc3ad6cSDiego Dorta# dhcp ${loadaddr} uImage
85*9cc3ad6cSDiego Dorta
86*9cc3ad6cSDiego Dorta- Write kernel at 2MB offset:
87*9cc3ad6cSDiego Dorta
88*9cc3ad6cSDiego Dorta# mmc write ${loadaddr} 0x1000 0x4000
89*9cc3ad6cSDiego Dorta
90*9cc3ad6cSDiego Dorta- Setup kernel bootargs:
91*9cc3ad6cSDiego Dorta
92*9cc3ad6cSDiego Dorta# setenv bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p1 rootfstype=ext4 rootwait quiet rw"
93*9cc3ad6cSDiego Dorta
94*9cc3ad6cSDiego Dorta- Prepare args:
95*9cc3ad6cSDiego Dorta
96*9cc3ad6cSDiego Dorta# spl export fdt ${loadaddr} - ${fdt_addr}
97*9cc3ad6cSDiego Dorta
98*9cc3ad6cSDiego Dorta- Write args 1MB data (0x800 sectors) to 1MB offset (0x800 sectors)
99*9cc3ad6cSDiego Dorta
100*9cc3ad6cSDiego Dorta# mmc write 18000000 0x800 0x800
101*9cc3ad6cSDiego Dorta
102*9cc3ad6cSDiego Dorta- Press KEY_VOL_UP key, power up the board and then SPL binary will
103*9cc3ad6cSDiego Dortalaunch the kernel directly.
104