[PATCH] arm: mvebu: Espressobin: Instructions for more MAC addresses in README.marvell

Some Espressobin boards got assigned more than one MAC address. Update instructions how to correctly store and preserve all MAC addresses.
Signed-off-by: Pali Rohár pali@kernel.org --- doc/README.marvell | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/doc/README.marvell b/doc/README.marvell index 5416bc3035..6fc5ac8a40 100644 --- a/doc/README.marvell +++ b/doc/README.marvell @@ -27,7 +27,7 @@ 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:
@@ -62,11 +62,15 @@ Configuration update Permanent ethernet MAC address ------------------------------- Prior flashing new U-Boot version (as part of ATF image) it is suggested to backup - permanent ethernet MAC address as it is stored only in U-Boot env storage (SPI or eMMC). - Some boards like EspressoBin have MAC address printed on sticker. To print current MAC - address run: + 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 @@ -75,13 +79,20 @@ Permanent ethernet MAC address 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 address. + 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 XX:XX:XX:XX:XX:XX is permanent ethernet MAC address. + 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.

On 25/09/2020 09:54, Pali Rohár wrote:
Some Espressobin boards got assigned more than one MAC address. Update instructions how to correctly store and preserve all MAC addresses.
Signed-off-by: Pali Rohár pali@kernel.org
doc/README.marvell | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/doc/README.marvell b/doc/README.marvell index 5416bc3035..6fc5ac8a40 100644 --- a/doc/README.marvell +++ b/doc/README.marvell @@ -27,7 +27,7 @@ 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"
- Configure the device-tree and build the U-Boot image:
@@ -62,11 +62,15 @@ Configuration update Permanent ethernet MAC address
Prior flashing new U-Boot version (as part of ATF image) it is suggested to backup
- permanent ethernet MAC address as it is stored only in U-Boot env storage (SPI or eMMC).
- Some boards like EspressoBin have MAC address printed on sticker. To print current MAC
- address run:
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
@@ -75,13 +79,20 @@ Permanent ethernet MAC address 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 address.
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 XX:XX:XX:XX:XX:XX is permanent ethernet MAC address.
- 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.
I never tried, what does "inherit" mean? eth1addr=$ethaddr+1 and so on?
And would port1=wan be correct for v7?
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.

On Saturday 26 September 2020 11:16:12 Andre Heider wrote:
On 25/09/2020 09:54, Pali Rohár wrote:
Some Espressobin boards got assigned more than one MAC address. Update instructions how to correctly store and preserve all MAC addresses.
Signed-off-by: Pali Rohár pali@kernel.org
doc/README.marvell | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/doc/README.marvell b/doc/README.marvell index 5416bc3035..6fc5ac8a40 100644 --- a/doc/README.marvell +++ b/doc/README.marvell @@ -27,7 +27,7 @@ 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"
- Configure the device-tree and build the U-Boot image:
@@ -62,11 +62,15 @@ Configuration update Permanent ethernet MAC address
Prior flashing new U-Boot version (as part of ATF image) it is suggested to backup
- permanent ethernet MAC address as it is stored only in U-Boot env storage (SPI or eMMC).
- Some boards like EspressoBin have MAC address printed on sticker. To print current MAC
- address run:
- 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# ...
@@ -75,13 +79,20 @@ Permanent ethernet MAC address 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 address.
- 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 XX:XX:XX:XX:XX:XX is permanent ethernet MAC address.
- 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.
I never tried, what does "inherit" mean? eth1addr=$ethaddr+1 and so on?
It means that address for DSA port is same as address for main ethernet adapter (ethaddr). So ethNaddr = $ethaddr
And would port1=wan be correct for v7?
Yes.
https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu.git/diff/arch...
eth1addr is set to ethernet1 and ethernet1 is alias for &switch0port3 for V7. And switch0port3 is wan on V7.
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.

On 26/09/2020 11:26, Pali Rohár wrote:
On Saturday 26 September 2020 11:16:12 Andre Heider wrote:
On 25/09/2020 09:54, Pali Rohár wrote:
Some Espressobin boards got assigned more than one MAC address. Update instructions how to correctly store and preserve all MAC addresses.
Signed-off-by: Pali Rohár pali@kernel.org
doc/README.marvell | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/doc/README.marvell b/doc/README.marvell index 5416bc3035..6fc5ac8a40 100644 --- a/doc/README.marvell +++ b/doc/README.marvell @@ -27,7 +27,7 @@ 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"
- Configure the device-tree and build the U-Boot image:
@@ -62,11 +62,15 @@ Configuration update Permanent ethernet MAC address
Prior flashing new U-Boot version (as part of ATF image) it is suggested to backup
- permanent ethernet MAC address as it is stored only in U-Boot env storage (SPI or eMMC).
- Some boards like EspressoBin have MAC address printed on sticker. To print current MAC
- address run:
- 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# ...
@@ -75,13 +79,20 @@ Permanent ethernet MAC address 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 address.
- 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 XX:XX:XX:XX:XX:XX is permanent ethernet MAC address.
- 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.
I never tried, what does "inherit" mean? eth1addr=$ethaddr+1 and so on?
It means that address for DSA port is same as address for main ethernet adapter (ethaddr). So ethNaddr = $ethaddr
Okay, nice.
And would port1=wan be correct for v7?
Yes.
https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu.git/diff/arch...
eth1addr is set to ethernet1 and ethernet1 is alias for &switch0port3 for V7. And switch0port3 is wan on V7.
For Linux, yes. But I meant u-boot, we don't have a v7 dts there. Doesn't that matter?
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.

On Saturday 26 September 2020 11:30:15 Andre Heider wrote:
On 26/09/2020 11:26, Pali Rohár wrote:
On Saturday 26 September 2020 11:16:12 Andre Heider wrote:
On 25/09/2020 09:54, Pali Rohár wrote:
Some Espressobin boards got assigned more than one MAC address. Update instructions how to correctly store and preserve all MAC addresses.
Signed-off-by: Pali Rohár pali@kernel.org
doc/README.marvell | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/doc/README.marvell b/doc/README.marvell index 5416bc3035..6fc5ac8a40 100644 --- a/doc/README.marvell +++ b/doc/README.marvell @@ -27,7 +27,7 @@ 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"
- Configure the device-tree and build the U-Boot image:
@@ -62,11 +62,15 @@ Configuration update Permanent ethernet MAC address
Prior flashing new U-Boot version (as part of ATF image) it is suggested to backup
- permanent ethernet MAC address as it is stored only in U-Boot env storage (SPI or eMMC).
- Some boards like EspressoBin have MAC address printed on sticker. To print current MAC
- address run:
- 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# ...
@@ -75,13 +79,20 @@ Permanent ethernet MAC address 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 address.
- 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 XX:XX:XX:XX:XX:XX is permanent ethernet MAC address.
- 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.
I never tried, what does "inherit" mean? eth1addr=$ethaddr+1 and so on?
It means that address for DSA port is same as address for main ethernet adapter (ethaddr). So ethNaddr = $ethaddr
Okay, nice.
And would port1=wan be correct for v7?
Yes.
https://git.kernel.org/pub/scm/linux/kernel/git/gclement/mvebu.git/diff/arch...
eth1addr is set to ethernet1 and ethernet1 is alias for &switch0port3 for V7. And switch0port3 is wan on V7.
For Linux, yes. But I meant u-boot, we don't have a v7 dts there. Doesn't that matter?
No, it does not matter. U-Boot loads DTB file supplied by user/boot script and inserts MAC address into it. So if user boots this U-Boot on V7 board and supply kernel's V7 DTB file then U-Boot inserts WAN mac address into ethernet1 alias which is linked to switch0port3 (wan).
So I think it is correct.
We do not need any V7 DTS file in U-Boot.
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.

On 25/09/2020 09:54, Pali Rohár wrote:
Some Espressobin boards got assigned more than one MAC address. Update instructions how to correctly store and preserve all MAC addresses.
Signed-off-by: Pali Rohár pali@kernel.org
Reviewed-by: Andre Heider a.heider@gmail.com
doc/README.marvell | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/doc/README.marvell b/doc/README.marvell index 5416bc3035..6fc5ac8a40 100644 --- a/doc/README.marvell +++ b/doc/README.marvell @@ -27,7 +27,7 @@ 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"
- Configure the device-tree and build the U-Boot image:
@@ -62,11 +62,15 @@ Configuration update Permanent ethernet MAC address
Prior flashing new U-Boot version (as part of ATF image) it is suggested to backup
- permanent ethernet MAC address as it is stored only in U-Boot env storage (SPI or eMMC).
- Some boards like EspressoBin have MAC address printed on sticker. To print current MAC
- address run:
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
@@ -75,13 +79,20 @@ Permanent ethernet MAC address 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 address.
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 XX:XX:XX:XX:XX:XX is permanent ethernet MAC address.
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.

On 25.09.20 09:54, Pali Rohár wrote:
Some Espressobin boards got assigned more than one MAC address. Update instructions how to correctly store and preserve all MAC addresses.
Signed-off-by: Pali Rohár pali@kernel.org
Applied to u-boot-marvell/master
Thanks, Stefan
doc/README.marvell | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-)
diff --git a/doc/README.marvell b/doc/README.marvell index 5416bc3035..6fc5ac8a40 100644 --- a/doc/README.marvell +++ b/doc/README.marvell @@ -27,7 +27,7 @@ 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"
- Configure the device-tree and build the U-Boot image:
@@ -62,11 +62,15 @@ Configuration update Permanent ethernet MAC address
Prior flashing new U-Boot version (as part of ATF image) it is suggested to backup
- permanent ethernet MAC address as it is stored only in U-Boot env storage (SPI or eMMC).
- Some boards like EspressoBin have MAC address printed on sticker. To print current MAC
- address run:
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
@@ -75,13 +79,20 @@ Permanent ethernet MAC address 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 address.
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 XX:XX:XX:XX:XX:XX is permanent ethernet MAC address.
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.
Viele Grüße, Stefan
participants (3)
-
Andre Heider
-
Pali Rohár
-
Stefan Roese