mirror of
https://github.com/Stichting-MINIX-Research-Foundation/u-boot.git
synced 2025-09-10 04:26:19 -04:00
Blackfin: bfin_mac: hook up new write_hwaddr function
Signed-off-by: Mike Frysinger <vapier@gentoo.org> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
This commit is contained in:
parent
3ac9d6c650
commit
4324dc72df
@ -106,6 +106,7 @@ int bfin_EMAC_initialize(bd_t *bis)
|
|||||||
dev->halt = bfin_EMAC_halt;
|
dev->halt = bfin_EMAC_halt;
|
||||||
dev->send = bfin_EMAC_send;
|
dev->send = bfin_EMAC_send;
|
||||||
dev->recv = bfin_EMAC_recv;
|
dev->recv = bfin_EMAC_recv;
|
||||||
|
dev->write_hwaddr = bfin_EMAC_setup_addr;
|
||||||
|
|
||||||
eth_register(dev);
|
eth_register(dev);
|
||||||
|
|
||||||
@ -303,6 +304,19 @@ static int bfin_miiphy_init(struct eth_device *dev, int *opmode)
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static int bfin_EMAC_setup_addr(struct eth_device *dev)
|
||||||
|
{
|
||||||
|
*pEMAC_ADDRLO =
|
||||||
|
dev->enetaddr[0] |
|
||||||
|
dev->enetaddr[1] << 8 |
|
||||||
|
dev->enetaddr[2] << 16 |
|
||||||
|
dev->enetaddr[3] << 24;
|
||||||
|
*pEMAC_ADDRHI =
|
||||||
|
dev->enetaddr[4] |
|
||||||
|
dev->enetaddr[5] << 8;
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
static int bfin_EMAC_init(struct eth_device *dev, bd_t *bd)
|
static int bfin_EMAC_init(struct eth_device *dev, bd_t *bd)
|
||||||
{
|
{
|
||||||
u32 opmode;
|
u32 opmode;
|
||||||
@ -318,7 +332,7 @@ static int bfin_EMAC_init(struct eth_device *dev, bd_t *bd)
|
|||||||
return -1;
|
return -1;
|
||||||
|
|
||||||
/* Initialize EMAC address */
|
/* Initialize EMAC address */
|
||||||
bfin_EMAC_setup_addr(dev->enetaddr);
|
bfin_EMAC_setup_addr(dev);
|
||||||
|
|
||||||
/* Initialize TX and RX buffer */
|
/* Initialize TX and RX buffer */
|
||||||
for (i = 0; i < PKTBUFSRX; i++) {
|
for (i = 0; i < PKTBUFSRX; i++) {
|
||||||
@ -376,18 +390,6 @@ static void bfin_EMAC_halt(struct eth_device *dev)
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void bfin_EMAC_setup_addr(uchar *enetaddr)
|
|
||||||
{
|
|
||||||
*pEMAC_ADDRLO =
|
|
||||||
enetaddr[0] |
|
|
||||||
enetaddr[1] << 8 |
|
|
||||||
enetaddr[2] << 16 |
|
|
||||||
enetaddr[3] << 24;
|
|
||||||
*pEMAC_ADDRHI =
|
|
||||||
enetaddr[4] |
|
|
||||||
enetaddr[5] << 8;
|
|
||||||
}
|
|
||||||
|
|
||||||
ADI_ETHER_BUFFER *SetupRxBuffer(int no)
|
ADI_ETHER_BUFFER *SetupRxBuffer(int no)
|
||||||
{
|
{
|
||||||
ADI_ETHER_FRAME_BUFFER *frmbuf;
|
ADI_ETHER_FRAME_BUFFER *frmbuf;
|
||||||
|
@ -60,7 +60,6 @@ static int bfin_EMAC_init(struct eth_device *dev, bd_t *bd);
|
|||||||
static void bfin_EMAC_halt(struct eth_device *dev);
|
static void bfin_EMAC_halt(struct eth_device *dev);
|
||||||
static int bfin_EMAC_send(struct eth_device *dev, volatile void *packet, int length);
|
static int bfin_EMAC_send(struct eth_device *dev, volatile void *packet, int length);
|
||||||
static int bfin_EMAC_recv(struct eth_device *dev);
|
static int bfin_EMAC_recv(struct eth_device *dev);
|
||||||
|
static int bfin_EMAC_setup_addr(struct eth_device *dev);
|
||||||
void bfin_EMAC_setup_addr(uchar *enetaddr);
|
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user