doc: board: ti: Move documentation from README to .rst
[platform/kernel/u-boot.git] / doc / README.marvell
index 3364617..6fc5ac8 100644 (file)
@@ -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=<name>
 
@@ -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.