mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-24 10:58:52 +09:00
![Lukasz Majewski](/assets/img/avatar_default.png)
This patch introduces support for i.MX28 based XEA board. This board supports DM/DTS in U-Boot proper as well as DM aware drivers in SPL (u-boot.sb) by using OF_PLATDATA. More detailed information regarding usage of it can be found in ./board/liebherr/xea/README file. U-Boot SPL 2019.10-rc1-00233-g6aa549f05c (Aug 12 2019 - 09:23:36 +0200) Trying to boot from MMC1 MMC0: Command 8 timeout (status 0xf0344020) mmc_load_image_raw_sector: mmc block read error U-Boot 2019.10-rc1-00233-g6aa549f05c (Aug 12 2019 - 09:23:36 +0200) CPU: Freescale i.MX28 rev1.2 at 454 MHz BOOT: SSP SPI #3, master, 3V3 NOR Model: Liebherr (LWE) XEA i.MX28 Board DRAM: 128 MiB MMC: MXS MMC: 0 Loading Environment from SPI Flash... SF: Detected n25q128a13 with page size 256 Bytes, erase size 64 KiB, total 16 MiB OK In: serial Out: serial Err: serial Net: Warning: ethernet@800f0000 (eth0) using random MAC address - ce:e1:9e:46:f3:a2 eth0: ethernet@800f0000 Hit any key to stop autoboot: 0 Signed-off-by: Lukasz Majewski <lukma@denx.de>
64 lines
1.9 KiB
Plaintext
64 lines
1.9 KiB
Plaintext
Building SPL/U-Boot for xea board
|
|
=================================
|
|
|
|
Setup environment, configure and build, e.g. by:
|
|
|
|
$ make imx28_xea_defconfig
|
|
$ make -j4 u-boot.sb u-boot.img
|
|
|
|
Now you should see u-boot.sb and u-boot.img files in the build directory.
|
|
|
|
|
|
Booting
|
|
=======
|
|
|
|
The boot ROM loads SPL from SPI NOR flash into SRAM. SPL configures
|
|
DRAM and loads either a Linux kernel (falcon mode) or, if the rescue
|
|
pin is asserted, the main U-Boot. Both kernel and U-Boot reside in
|
|
eMMC boot partition 0. For redundancy, a copy of U-Boot is also
|
|
stored in SPI flash. If a valid kernel image is not found, U-Boot is
|
|
loaded from eMMC or, if this fails, SPI flash.
|
|
|
|
Boot area layout
|
|
----------------
|
|
|
|
SPI NOR
|
|
Offset Function File
|
|
------------------------------------------
|
|
0x00000000 SPL u-boot.sb
|
|
0x00010000 U-Boot u-boot.img
|
|
0x00080000 Environment
|
|
|
|
eMMC
|
|
Offset Function File
|
|
------------------------------------------
|
|
0x00000000 U-Boot u-boot.img
|
|
0x00080000 Devicetree imx28-bttc.dtb
|
|
0x00100000 Kernel uImage
|
|
|
|
|
|
Falcon mode
|
|
===========
|
|
|
|
In falcon mode, the default, SPL loads the kernel and devicetree
|
|
directly. For this to work, the stored devicetree must include
|
|
correct "memory" and "chosen" nodes as these are not updated by SPL
|
|
before booting the kernel.
|
|
|
|
|
|
Updating from U-Boot
|
|
====================
|
|
|
|
The default U-Boot environment includes command sequences to update
|
|
SPL, U-Boot, and kernel over TFTP. These are as follows:
|
|
|
|
- update_spl: writes u-boot.sb to SPI NOR
|
|
- update_uboot: writes u-boot.img to eMMC and SPI NOR
|
|
- update_kernel: writes kernel and devicetree to eMMC
|
|
|
|
They can be invoked at the U-Boot prompt using the "run" command,
|
|
e.g. "run update_spl" to update the SPL.
|
|
|
|
These update commands download the above-named files from the
|
|
${hostname} directory on the server provided by DHCP.
|