81 lines
2.3 KiB
Plaintext
81 lines
2.3 KiB
Plaintext
|
Update from original Marvell U-Boot to mainline U-Boot:
|
||
|
-------------------------------------------------------
|
||
|
|
||
|
Generate the U-Boot image with these commands:
|
||
|
|
||
|
$ make clearfog_defconfig
|
||
|
$ make
|
||
|
|
||
|
The resulting image including the SPL binary with the
|
||
|
full DDR setup is "u-boot-spl.kwb".
|
||
|
|
||
|
Now all you need to do is copy this image on a SD card.
|
||
|
For example with this command:
|
||
|
|
||
|
$ sudo dd if=u-boot-spl.kwb of=/dev/sdX bs=512 seek=1
|
||
|
|
||
|
Please use the correct device node for your setup instead
|
||
|
of "/dev/sdX" here!
|
||
|
|
||
|
Install U-Boot on eMMC:
|
||
|
-----------------------
|
||
|
|
||
|
The ROM loads the bootloader from eMMC first boot partition at offset 0. This
|
||
|
is unlike load from SD card that is at offset 512. As a result, the offset of
|
||
|
the main U-Boot image on the eMMC boot partition changes. Set
|
||
|
CONFIG_SYS_MMCSD_RAW_MODE_U_BOOT_SECTOR to 0x140 for SPL to load U-Boot from
|
||
|
the correct location.
|
||
|
|
||
|
To make SPL load the main U-Boot image from the eMMC boot partition enable
|
||
|
eMMC boot acknowledgement and boot partition with the following U-Boot
|
||
|
command:
|
||
|
|
||
|
mmc partconf 0 1 1 0
|
||
|
|
||
|
Install U-Boot on eMMC boot partition from Linux running on Clearfog:
|
||
|
|
||
|
echo 0 > /sys/block/mmcblk0boot0/force_ro
|
||
|
dd if=u-boot-spl.kwb of=/dev/mmcblk0boot0
|
||
|
|
||
|
Note that the SD card is not accessible when the Clearfog SOM has eMMC.
|
||
|
Consider initial boot from UART (see below).
|
||
|
|
||
|
Install U-Boot on SATA:
|
||
|
-----------------------
|
||
|
|
||
|
When loading the main U-Boot image from raw SATA sector, set
|
||
|
CONFIG_SPL_SATA_RAW_U_BOOT_SECTOR to 0x141.
|
||
|
|
||
|
Boot selection:
|
||
|
---------------
|
||
|
|
||
|
Before powering up the board, boot selection should be done via the SW1 dip
|
||
|
switch (0: OFF, 1: ON):
|
||
|
|
||
|
- SPI: 00010
|
||
|
- SD/eMMC: 00111
|
||
|
- M.2 SSD: 11100
|
||
|
- UART: 01001 [1]
|
||
|
|
||
|
[1]: According to SolidRun's manual, 11110 should be used for UART booting on
|
||
|
the ClearFog 'Pro' variant.
|
||
|
However, this doesn't work (anymore) at least on Rev. 2.1 (but '01001' as
|
||
|
mentionend for the 'Base' variant does).
|
||
|
|
||
|
Boot from UART:
|
||
|
---------------
|
||
|
|
||
|
Connect the on-board micro-USB (CF Pro: CON11, CF Base: CON5)
|
||
|
to your host.
|
||
|
|
||
|
Set the SW1 DIP switches to UART boot (see above).
|
||
|
|
||
|
Run the following command to initiate U-Boot download:
|
||
|
|
||
|
./tools/kwboot -b u-boot-spl.kwb /dev/ttyUSBX
|
||
|
|
||
|
Use the correct UART device node for /dev/ttyUSBX.
|
||
|
|
||
|
When download finishes start your favorite terminal emulator
|
||
|
on /dev/ttyUSBX.
|