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