X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=doc%2FREADME.marvell;h=6fc5ac8a4093dc5f20b1c2de5ba94dbcd0817d41;hb=7314ba2bf8452df68d07f251aa59440de58067b0;hp=336461745c28d6f3dca2dbfc674fb71468f55f9a;hpb=b6518b1ea3b40ec1dec786fb942dc47bb164d987;p=platform%2Fkernel%2Fu-boot.git diff --git a/doc/README.marvell b/doc/README.marvell index 3364617..6fc5ac8 100644 --- a/doc/README.marvell +++ b/doc/README.marvell @@ -13,7 +13,8 @@ Build Procedure 2. Set the cross compiler: - # export CROSS_COMPILE=/path/to/toolchain/aarch64-marvell-linux-gnu- + # sudo apt-get install gcc-aarch64-linux-gnu + # export CROSS_COMPILE=aarch64-linux-gnu- 3. Clean-up old residuals: @@ -26,11 +27,11 @@ Build Procedure - 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" + - For the Armada-3700 EspressoBin 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: + For the Armada-70x0/80x0 DB board compile u-boot and set the required device-tree using: # make DEVICE_TREE= @@ -42,12 +43,56 @@ Build Procedure 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. + For other DB boards (MacchiatoBin, EspressoBin and 3700 DB board) compile u-boot with + just default device-tree from defconfig using: + + # make + 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. + flash image. See TF-A Build Instructions for Marvell Platforms for more details at: + https://trustedfirmware-a.readthedocs.io/en/latest/plat/marvell/armada/build.html Configuration update --------------------- To update the U-Boot configuration, please refer to doc/README.kconfig + +Permanent ethernet MAC address +------------------------------- + Prior flashing new U-Boot version (as part of ATF image) it is suggested to backup + permanent ethernet MAC addresses as they are stored only in U-Boot env storage (SPI or eMMC). + Some boards like EspressoBin have MAC addresses printed on sticker. Some boards got assigned + only one address other may also more than one. To print current MAC addresses run: + + # echo $ethaddr + # echo $eth1addr + # echo $eth2addr + # echo $eth3addr + # ... + + MAC addresses 00:51:82:11:22:00, 00:51:82:11:22:01, 00:51:82:11:22:02, 00:51:82:11:22:03 + and F0:AD:4E:03:64:7F are default hardcoded values found in Marvell's and Armbian U-Boot + forks and therefore *not* unique. Usage of static hardcoded MAC addresses should be avoided. + When original address is lost (e.g. erased by Armbian boot scripts for EspressoBin) it is + suggested to generate new random one. + + After flashing new U-Boot version it is suggested to reset U-Boot env variables to default + and then set correct permanent ethernet MAC addresses. + + # env default -a + # setenv ethaddr XX:XX:XX:XX:XX:XX + # setenv eth1addr XX:XX:XX:XX:XX:XX + # setenv eth2addr YY:YY:YY:YY:YY:YY + # setenv eth3addr ZZ:ZZ:ZZ:ZZ:ZZ:ZZ + # ... + # saveenv + + Where value for ethaddr is required permanent ethernet MAC address and values for ethNaddr + are optional per-port MAC addresses. When optional ethNaddr variables are not defined then + they are inherited from required ethaddr variable. eth1addr contains MAC address for the + wan port, other for particular lan ports. + + Recent Linux kernel versions use correct permanent ethernet MAC address from U-Boot env as + U-Boot will inject it into kernel's device-tree.