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

Pali Rohár pali at kernel.org
Sat Sep 26 11:33:38 CEST 2020


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 at 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.
> > > 
> > > 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/arm64/boot/dts/marvell/armada-3720-espressobin-v7.dts?h=for-next&id=b64d814257b027e29a474bcd660f6372490138c7
> > 
> > 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.
> > > > 
> > > 
> 


More information about the U-Boot mailing list