[PATCH 3/4] board: turris: Allow to specify first eth idx of first MAC address

Stefan Roese sr at denx.de
Thu Apr 21 16:15:02 CEST 2022


On 4/8/22 16:30, Pali Rohár wrote:
> Turris Omnia uses first MAC address from OTP for second ethernet interface.
> Second MAC address for third interface and third MAC address for first
> interface.
> 
> Other Turris routers do not have this rotate by one mapping. So add
> function parameter for specifying id of the first ethernet interface.
> 
> Signed-off-by: Pali Rohár <pali at kernel.org>

Applied to u-boot-marvell/master

Thanks,
Stefan

> ---
>   board/CZ.NIC/turris_atsha_otp.c          | 8 ++++----
>   board/CZ.NIC/turris_atsha_otp.h          | 2 +-
>   board/CZ.NIC/turris_omnia/turris_omnia.c | 2 +-
>   3 files changed, 6 insertions(+), 6 deletions(-)
> 
> diff --git a/board/CZ.NIC/turris_atsha_otp.c b/board/CZ.NIC/turris_atsha_otp.c
> index 840721a9b737..7a39b7f61d5d 100644
> --- a/board/CZ.NIC/turris_atsha_otp.c
> +++ b/board/CZ.NIC/turris_atsha_otp.c
> @@ -49,7 +49,7 @@ static void set_mac_if_invalid(int i, u8 *mac)
>   		eth_env_set_enetaddr_by_index("eth", i, mac);
>   }
>   
> -int turris_atsha_otp_init_mac_addresses(void)
> +int turris_atsha_otp_init_mac_addresses(int first_idx)
>   {
>   	struct udevice *dev = get_atsha204a_dev();
>   	u8 mac0[4], mac1[4], mac[6];
> @@ -81,11 +81,11 @@ int turris_atsha_otp_init_mac_addresses(void)
>   	mac[4] = mac1[2];
>   	mac[5] = mac1[3];
>   
> -	set_mac_if_invalid(1, mac);
> +	set_mac_if_invalid((first_idx + 0) % 3, mac);
>   	increment_mac(mac);
> -	set_mac_if_invalid(2, mac);
> +	set_mac_if_invalid((first_idx + 1) % 3, mac);
>   	increment_mac(mac);
> -	set_mac_if_invalid(0, mac);
> +	set_mac_if_invalid((first_idx + 2) % 3, mac);
>   
>   	return 0;
>   }
> diff --git a/board/CZ.NIC/turris_atsha_otp.h b/board/CZ.NIC/turris_atsha_otp.h
> index 667d01af7310..bd4308fdc3ef 100644
> --- a/board/CZ.NIC/turris_atsha_otp.h
> +++ b/board/CZ.NIC/turris_atsha_otp.h
> @@ -3,7 +3,7 @@
>   #ifndef TURRIS_ATSHA_OTP_H
>   #define TURRIS_ATSHA_OTP_H
>   
> -int turris_atsha_otp_init_mac_addresses(void);
> +int turris_atsha_otp_init_mac_addresses(int first_idx);
>   int turris_atsha_otp_get_serial_number(u32 *version_num, u32 *serial_num);
>   
>   #endif
> diff --git a/board/CZ.NIC/turris_omnia/turris_omnia.c b/board/CZ.NIC/turris_omnia/turris_omnia.c
> index 719e8750e60a..da2fee578c44 100644
> --- a/board/CZ.NIC/turris_omnia/turris_omnia.c
> +++ b/board/CZ.NIC/turris_omnia/turris_omnia.c
> @@ -606,7 +606,7 @@ int show_board_info(void)
>   
>   int misc_init_r(void)
>   {
> -	turris_atsha_otp_init_mac_addresses();
> +	turris_atsha_otp_init_mac_addresses(1);
>   	return 0;
>   }
>   

Viele Grüße,
Stefan Roese

-- 
DENX Software Engineering GmbH,      Managing Director: Wolfgang Denk
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
Phone: (+49)-8142-66989-51 Fax: (+49)-8142-66989-80 Email: sr at denx.de


More information about the U-Boot mailing list