[U-Boot] [PATCH] net: mvneta: support setting hardware address

Stefan Roese sr at denx.de
Thu Apr 12 10:20:29 UTC 2018


Hi Matt,

(added Joe as network custodian to Cc)

On 27.03.2018 19:18, Matt Pelland wrote:
> mvneta already supports setting the MAC address but this was only done
> internally when some other part of U-Boot tries to actually use the
> interface. This commit exposes this functionality to the ethernet core
> code so that the MAC addresses of all interfaces are configured
> correctly even if they are not used before loading Linux.
> 
> Signed-off-by: Matt Pelland <mpelland at starry.com>
> ---
>   drivers/net/mvneta.c | 11 +++++++++++
>   1 file changed, 11 insertions(+)
> 
> diff --git a/drivers/net/mvneta.c b/drivers/net/mvneta.c
> index 83e3153768..fdff772178 100644
> --- a/drivers/net/mvneta.c
> +++ b/drivers/net/mvneta.c
> @@ -890,6 +890,16 @@ static void mvneta_mac_addr_set(struct mvneta_port *pp, unsigned char *addr,
>   	mvneta_set_ucast_addr(pp, addr[5], queue);
>   }
>   
> +static int mvneta_write_hwaddr(struct udevice *dev)
> +{
> +	mvneta_mac_addr_set(
> +		dev_get_priv(dev),
> +		((struct eth_pdata *)dev_get_platdata(dev))->enetaddr,
> +		rxq_def);
> +
> +	return 0;
> +}
> +
>   /* Handle rx descriptor fill by setting buf_cookie and buf_phys_addr */
>   static void mvneta_rx_desc_fill(struct mvneta_rx_desc *rx_desc,
>   				u32 phys_addr, u32 cookie)
> @@ -1753,6 +1763,7 @@ static const struct eth_ops mvneta_ops = {
>   	.send		= mvneta_send,
>   	.recv		= mvneta_recv,
>   	.stop		= mvneta_stop,
> +	.write_hwaddr	= mvneta_write_hwaddr,
>   };
>   
>   static int mvneta_ofdata_to_platdata(struct udevice *dev)
> 

Reviewed-by: Stefan Roese <sr at denx.de>

Joe, will you pick this one up (if you have no objections)? Or should I
push it via the Marvell repo?

Thanks,
Stefan


More information about the U-Boot mailing list