xref: /OK3568_Linux_fs/u-boot/doc/README.marvell (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593SmuzhiyunMarvell U-Boot Build Instructions
2*4882a593Smuzhiyun=================================
3*4882a593Smuzhiyun
4*4882a593SmuzhiyunThis document describes how to compile the U-Boot and how to change U-Boot configuration
5*4882a593Smuzhiyun
6*4882a593SmuzhiyunBuild Procedure
7*4882a593Smuzhiyun----------------
8*4882a593Smuzhiyun1. Install required packages:
9*4882a593Smuzhiyun
10*4882a593Smuzhiyun		# sudo apt-get install libssl-dev
11*4882a593Smuzhiyun		# sudo apt-get install device-tree-compiler
12*4882a593Smuzhiyun		# sudo apt-get install swig libpython-dev
13*4882a593Smuzhiyun
14*4882a593Smuzhiyun2. Set the cross compiler:
15*4882a593Smuzhiyun
16*4882a593Smuzhiyun		# export CROSS_COMPILE=/path/to/toolchain/aarch64-marvell-linux-gnu-
17*4882a593Smuzhiyun
18*4882a593Smuzhiyun3. Clean-up old residuals:
19*4882a593Smuzhiyun
20*4882a593Smuzhiyun		# make mrproper
21*4882a593Smuzhiyun
22*4882a593Smuzhiyun4. Configure the U-Boot:
23*4882a593Smuzhiyun
24*4882a593Smuzhiyun		# make <defconfig_file>
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun	- For the Armada-70x0/80x0 DB board use "mvebu_db_armada8k_defconfig"
27*4882a593Smuzhiyun	- For the Armada-80x0 MacchiatoBin use "make mvebu_mcbin-88f8040_defconfig"
28*4882a593Smuzhiyun	- For the Armada-3700 DB board use "make mvebu_db-88f3720_defconfig"
29*4882a593Smuzhiyun	- For the Armada-3700 EsspressoBin use "make mvebu_espressobin-88f3720_defconfig"
30*4882a593Smuzhiyun
31*4882a593Smuzhiyun5. Configure the device-tree and build the U-Boot image:
32*4882a593Smuzhiyun
33*4882a593Smuzhiyun	Compile u-boot and set the required device-tree using:
34*4882a593Smuzhiyun
35*4882a593Smuzhiyun		# make DEVICE_TREE=<name>
36*4882a593Smuzhiyun
37*4882a593Smuzhiyun	NOTE:
38*4882a593Smuzhiyun	Compilation with "mvebu_db_armada8k_defconfig" requires explicitly exporting DEVICE_TREE
39*4882a593Smuzhiyun	for the requested board.
40*4882a593Smuzhiyun	By default, u-boot is compiled with armada-8040-db device-tree.
41*4882a593Smuzhiyun        Using A80x0 device-tree on A70x0 might break the device.
42*4882a593Smuzhiyun        In order to prevent this, the required device-tree MUST be set during compilation.
43*4882a593Smuzhiyun        All device-tree files are located in ./arch/arm/dts/ folder.
44*4882a593Smuzhiyun
45*4882a593Smuzhiyun	NOTE:
46*4882a593Smuzhiyun	The u-boot.bin should not be used as a stand-alone image.
47*4882a593Smuzhiyun	The ARM Trusted Firmware (ATF) build process uses this image to generate the
48*4882a593Smuzhiyun	flash image.
49*4882a593Smuzhiyun
50*4882a593SmuzhiyunConfiguration update
51*4882a593Smuzhiyun---------------------
52*4882a593Smuzhiyun	To update the U-Boot configuration, please refer to doc/README.kconfig
53*4882a593Smuzhiyun
54