Marvell U-Boot Build Instructions
=================================

This document describes how to compile the U-Boot and how to change U-Boot configuration

Build Procedure
----------------
1. Install required packages:

		# sudo apt-get install libssl-dev
		# sudo apt-get install device-tree-compiler
		# sudo apt-get install swig libpython-dev

2. Set the cross compiler:

		# export CROSS_COMPILE=/path/to/toolchain/aarch64-marvell-linux-gnu-

3. Clean-up old residuals:

		# make mrproper

4. Configure the U-Boot:

		# make <defconfig_file>

	- For the Armada-70x0/80x0 DB board use "mvebu_db_armada8k_defconfig"
	- For the Armada-80x0 MacchiatoBin use "make mvebu_mcbin-88f8040_defconfig"
	- For the Armada-3700 DB board use "make mvebu_db-88f3720_defconfig"
	- For the Armada-3700 EsspressoBin use "make mvebu_espressobin-88f3720_defconfig"

5. Configure the device-tree and build the U-Boot image:

	Compile u-boot and set the required device-tree using:

		# make DEVICE_TREE=<name>

	NOTE:
	Compilation with "mvebu_db_armada8k_defconfig" requires explicitly exporting DEVICE_TREE
	for the requested board.
	By default, u-boot is compiled with armada-8040-db device-tree.
        Using A80x0 device-tree on A70x0 might break the device.
        In order to prevent this, the required device-tree MUST be set during compilation.
        All device-tree files are located in ./arch/arm/dts/ folder.

	NOTE:
	The u-boot.bin should not be used as a stand-alone image.
	The ARM Trusted Firmware (ATF) build process uses this image to generate the
	flash image.

Configuration update
---------------------
	To update the U-Boot configuration, please refer to doc/README.kconfig