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.
