mirror of
https://github.com/AsahiLinux/u-boot
synced 2025-02-18 06:58:54 +00:00
net: sh_eth: Separate out MAC address programming
Pull out the code for writing MAC address into the NIC into a separate function, so it can be reused by both DM and non-DM code. This is done in preparation for DM support, which handles MAC address programming separately. Signed-off-by: Marek Vasut <marek.vasut+renesas@gmail.com> Cc: Nobuhiro Iwamatsu <iwamatsu@nigauri.org> Cc: Joe Hershberger <joe.hershberger@ni.com>
This commit is contained in:
parent
52c15e220b
commit
68ac92e937
1 changed files with 13 additions and 6 deletions
|
@ -391,6 +391,18 @@ err_tx_init:
|
|||
return ret;
|
||||
}
|
||||
|
||||
static void sh_eth_write_hwaddr(struct sh_eth_info *port_info,
|
||||
unsigned char *mac)
|
||||
{
|
||||
u32 val;
|
||||
|
||||
val = (mac[0] << 24) | (mac[1] << 16) | (mac[2] << 8) | mac[3];
|
||||
sh_eth_write(port_info, val, MAHR);
|
||||
|
||||
val = (mac[4] << 8) | mac[5];
|
||||
sh_eth_write(port_info, val, MALR);
|
||||
}
|
||||
|
||||
static int sh_eth_phy_config(struct sh_eth_dev *eth)
|
||||
{
|
||||
int port = eth->port, ret = 0;
|
||||
|
@ -433,12 +445,7 @@ static int sh_eth_config(struct sh_eth_dev *eth)
|
|||
sh_eth_write(port_info, 0, ECSIPR);
|
||||
|
||||
/* Set Mac address */
|
||||
val = dev->enetaddr[0] << 24 | dev->enetaddr[1] << 16 |
|
||||
dev->enetaddr[2] << 8 | dev->enetaddr[3];
|
||||
sh_eth_write(port_info, val, MAHR);
|
||||
|
||||
val = dev->enetaddr[4] << 8 | dev->enetaddr[5];
|
||||
sh_eth_write(port_info, val, MALR);
|
||||
sh_eth_write_hwaddr(port_info, dev->enetaddr);
|
||||
|
||||
sh_eth_write(port_info, RFLR_RFL_MIN, RFLR);
|
||||
#if defined(SH_ETH_TYPE_GETHER)
|
||||
|
|
Loading…
Add table
Reference in a new issue