X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=drivers%2Fnet%2Frtl8019.c;h=f516afe6b0f4e621600952b60f0d640dbf5a9392;hb=e67f46286440a53fb1d693152667ea3b1a6b3060;hp=409a69f0214e21d8088b98ed858babdda15974f1;hpb=4985ca5af3767ffe13ea96e1dc26f88c81084414;p=u-boot diff --git a/drivers/net/rtl8019.c b/drivers/net/rtl8019.c index 409a69f021..f516afe6b0 100644 --- a/drivers/net/rtl8019.c +++ b/drivers/net/rtl8019.c @@ -32,20 +32,13 @@ #include "rtl8019.h" #include -#ifdef CONFIG_DRIVER_RTL8019 - -#if defined(CONFIG_CMD_NET) - - /* packet page register access functions */ - static unsigned char get_reg (unsigned int regno) { return (*(unsigned char *) regno); } - static void put_reg (unsigned int regno, unsigned char val) { *(volatile unsigned char *) regno = val; @@ -91,7 +84,6 @@ void rtl8019_get_enetaddr (uchar * addr) put_reg (RTL8019_COMMAND, RTL8019_PAGE0); } - void eth_halt (void) { put_reg (RTL8019_COMMAND, 0x01); @@ -99,6 +91,7 @@ void eth_halt (void) int eth_init (bd_t * bd) { + uchar enetaddr[6]; eth_reset (); put_reg (RTL8019_COMMAND, RTL8019_PAGE0STOP); put_reg (RTL8019_DATACONFIGURATION, 0x48); @@ -113,12 +106,13 @@ int eth_init (bd_t * bd) put_reg (RTL8019_INTERRUPTSTATUS, 0xff); put_reg (RTL8019_INTERRUPTMASK, 0x11); /*b; */ put_reg (RTL8019_COMMAND, RTL8019_PAGE1STOP); - put_reg (RTL8019_PHYSICALADDRESS0, bd->bi_enetaddr[0]); - put_reg (RTL8019_PHYSICALADDRESS1, bd->bi_enetaddr[1]); - put_reg (RTL8019_PHYSICALADDRESS2, bd->bi_enetaddr[2]); - put_reg (RTL8019_PHYSICALADDRESS3, bd->bi_enetaddr[3]); - put_reg (RTL8019_PHYSICALADDRESS4, bd->bi_enetaddr[4]); - put_reg (RTL8019_PHYSICALADDRESS5, bd->bi_enetaddr[5]); + eth_getenv_enetaddr("ethaddr", enetaddr); + put_reg (RTL8019_PHYSICALADDRESS0, enetaddr[0]); + put_reg (RTL8019_PHYSICALADDRESS1, enetaddr[1]); + put_reg (RTL8019_PHYSICALADDRESS2, enetaddr[2]); + put_reg (RTL8019_PHYSICALADDRESS3, enetaddr[3]); + put_reg (RTL8019_PHYSICALADDRESS4, enetaddr[4]); + put_reg (RTL8019_PHYSICALADDRESS5, enetaddr[5]); put_reg (RTL8019_MULTIADDRESS0, 0x00); put_reg (RTL8019_MULTIADDRESS1, 0x00); put_reg (RTL8019_MULTIADDRESS2, 0x00); @@ -134,7 +128,6 @@ int eth_init (bd_t * bd) return 0; } - static unsigned char nic_to_pc (void) { unsigned char rec_head_status; @@ -276,7 +269,3 @@ extern int eth_send (volatile void *packet, int length) return 0; } - -#endif /* COMMANDS & CFG_NET */ - -#endif /* CONFIG_DRIVER_RTL8019 */