mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-10 04:26:19 -04:00
Write MAC address automatically on MACB-based boards
Also, remove all calls to eth_init() in boards that use MACB Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
parent
aa9fba5313
commit
6bb4679017
@ -167,13 +167,6 @@ int dram_init(void)
|
|||||||
#ifdef CONFIG_RESET_PHY_R
|
#ifdef CONFIG_RESET_PHY_R
|
||||||
void reset_phy(void)
|
void reset_phy(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MACB
|
|
||||||
/*
|
|
||||||
* Initialize ethernet HW addr prior to starting Linux,
|
|
||||||
* needed for nfsroot
|
|
||||||
*/
|
|
||||||
eth_init(gd->bd);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -339,13 +339,6 @@ int dram_init(void)
|
|||||||
#ifdef CONFIG_RESET_PHY_R
|
#ifdef CONFIG_RESET_PHY_R
|
||||||
void reset_phy(void)
|
void reset_phy(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MACB
|
|
||||||
/*
|
|
||||||
* Initialize ethernet HW addr prior to starting Linux,
|
|
||||||
* needed for nfsroot
|
|
||||||
*/
|
|
||||||
eth_init(gd->bd);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -179,13 +179,6 @@ int dram_init(void)
|
|||||||
#ifdef CONFIG_RESET_PHY_R
|
#ifdef CONFIG_RESET_PHY_R
|
||||||
void reset_phy(void)
|
void reset_phy(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MACB
|
|
||||||
/*
|
|
||||||
* Initialize ethernet HW addr prior to starting Linux,
|
|
||||||
* needed for nfsroot
|
|
||||||
*/
|
|
||||||
eth_init(gd->bd);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -284,13 +284,6 @@ int dram_init(void)
|
|||||||
#ifdef CONFIG_RESET_PHY_R
|
#ifdef CONFIG_RESET_PHY_R
|
||||||
void reset_phy(void)
|
void reset_phy(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MACB
|
|
||||||
/*
|
|
||||||
* Initialize ethernet HW addr prior to starting Linux,
|
|
||||||
* needed for nfsroot
|
|
||||||
*/
|
|
||||||
eth_init(gd->bd);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -291,13 +291,6 @@ int dram_init(void)
|
|||||||
#ifdef CONFIG_RESET_PHY_R
|
#ifdef CONFIG_RESET_PHY_R
|
||||||
void reset_phy(void)
|
void reset_phy(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MACB
|
|
||||||
/*
|
|
||||||
* Initialize ethernet HW addr prior to starting Linux,
|
|
||||||
* needed for nfsroot
|
|
||||||
*/
|
|
||||||
eth_init(gd->bd);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -177,13 +177,6 @@ int dram_init(void)
|
|||||||
#ifdef CONFIG_RESET_PHY_R
|
#ifdef CONFIG_RESET_PHY_R
|
||||||
void reset_phy(void)
|
void reset_phy(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MACB
|
|
||||||
/*
|
|
||||||
* Initialize ethernet HW addr prior to starting Linux,
|
|
||||||
* needed for nfsroot
|
|
||||||
*/
|
|
||||||
eth_init(gd->bd);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -200,13 +200,6 @@ int dram_init(void)
|
|||||||
#ifdef CONFIG_RESET_PHY_R
|
#ifdef CONFIG_RESET_PHY_R
|
||||||
void reset_phy(void)
|
void reset_phy(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MACB
|
|
||||||
/*
|
|
||||||
* Initialize ethernet HW addr prior to starting Linux,
|
|
||||||
* needed for nfsroot
|
|
||||||
*/
|
|
||||||
eth_init(gd->bd);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -387,13 +387,6 @@ int dram_init(void)
|
|||||||
#ifdef CONFIG_RESET_PHY_R
|
#ifdef CONFIG_RESET_PHY_R
|
||||||
void reset_phy(void)
|
void reset_phy(void)
|
||||||
{
|
{
|
||||||
#ifdef CONFIG_MACB
|
|
||||||
/*
|
|
||||||
* Initialize ethernet HW addr prior to starting Linux,
|
|
||||||
* needed for nfsroot
|
|
||||||
*/
|
|
||||||
eth_init(gd->bd);
|
|
||||||
#endif
|
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -439,8 +439,6 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)
|
|||||||
{
|
{
|
||||||
struct macb_device *macb = to_macb(netdev);
|
struct macb_device *macb = to_macb(netdev);
|
||||||
unsigned long paddr;
|
unsigned long paddr;
|
||||||
u32 hwaddr_bottom;
|
|
||||||
u16 hwaddr_top;
|
|
||||||
int i;
|
int i;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -469,12 +467,6 @@ static int macb_init(struct eth_device *netdev, bd_t *bd)
|
|||||||
macb_writel(macb, RBQP, macb->rx_ring_dma);
|
macb_writel(macb, RBQP, macb->rx_ring_dma);
|
||||||
macb_writel(macb, TBQP, macb->tx_ring_dma);
|
macb_writel(macb, TBQP, macb->tx_ring_dma);
|
||||||
|
|
||||||
/* set hardware address */
|
|
||||||
hwaddr_bottom = cpu_to_le32(*((u32 *)netdev->enetaddr));
|
|
||||||
macb_writel(macb, SA1B, hwaddr_bottom);
|
|
||||||
hwaddr_top = cpu_to_le16(*((u16 *)(netdev->enetaddr + 4)));
|
|
||||||
macb_writel(macb, SA1T, hwaddr_top);
|
|
||||||
|
|
||||||
/* choose RMII or MII mode. This depends on the board */
|
/* choose RMII or MII mode. This depends on the board */
|
||||||
#ifdef CONFIG_RMII
|
#ifdef CONFIG_RMII
|
||||||
#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
|
#if defined(CONFIG_AT91CAP9) || defined(CONFIG_AT91SAM9260) || \
|
||||||
@ -521,6 +513,20 @@ static void macb_halt(struct eth_device *netdev)
|
|||||||
macb_writel(macb, NCR, MACB_BIT(CLRSTAT));
|
macb_writel(macb, NCR, MACB_BIT(CLRSTAT));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int macb_write_hwaddr(struct eth_device *dev)
|
||||||
|
{
|
||||||
|
struct macb_device *macb = to_macb(dev);
|
||||||
|
u32 hwaddr_bottom;
|
||||||
|
u16 hwaddr_top;
|
||||||
|
|
||||||
|
/* set hardware address */
|
||||||
|
hwaddr_bottom = cpu_to_le32(*((u32 *)dev->enetaddr));
|
||||||
|
macb_writel(macb, SA1B, hwaddr_bottom);
|
||||||
|
hwaddr_top = cpu_to_le16(*((u16 *)(dev->enetaddr + 4)));
|
||||||
|
macb_writel(macb, SA1T, hwaddr_top);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
int macb_eth_initialize(int id, void *regs, unsigned int phy_addr)
|
int macb_eth_initialize(int id, void *regs, unsigned int phy_addr)
|
||||||
{
|
{
|
||||||
struct macb_device *macb;
|
struct macb_device *macb;
|
||||||
@ -554,6 +560,7 @@ int macb_eth_initialize(int id, void *regs, unsigned int phy_addr)
|
|||||||
netdev->halt = macb_halt;
|
netdev->halt = macb_halt;
|
||||||
netdev->send = macb_send;
|
netdev->send = macb_send;
|
||||||
netdev->recv = macb_recv;
|
netdev->recv = macb_recv;
|
||||||
|
netdev->write_hwaddr = macb_write_hwaddr;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Do some basic initialization so that we at least can talk
|
* Do some basic initialization so that we at least can talk
|
||||||
|
Loading…
x
Reference in New Issue
Block a user