summaryrefslogtreecommitdiff
path: root/drivers/rtl8139.c
diff options
context:
space:
mode:
authorDavid Updegraff <dave@cray.com>2007-06-11 10:41:07 -0500
committerBen Warren <bwarren@qstreams.com>2007-08-13 23:22:31 -0400
commit53a5c424bf8655b7b4e2c305a441963259a26a81 (patch)
tree281e5aed270485a3c496479c0d46cea87e00c420 /drivers/rtl8139.c
parent5d110f0aa69f065ee386ec1840dfee1e8cc46bc1 (diff)
downloadu-boot-imx-53a5c424bf8655b7b4e2c305a441963259a26a81.zip
u-boot-imx-53a5c424bf8655b7b4e2c305a441963259a26a81.tar.gz
u-boot-imx-53a5c424bf8655b7b4e2c305a441963259a26a81.tar.bz2
multicast tftp: RFC2090
Implemented IETF RFC2090, Multicast TFTP. Initial implementation on Realtek RTL8139 and Freescale TSEC. Signed-off-by: David Updegraff <dave@cray.com> Signed-off-by: Ben Warren <bwarren@qstreams.com>
Diffstat (limited to 'drivers/rtl8139.c')
-rw-r--r--drivers/rtl8139.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/rtl8139.c b/drivers/rtl8139.c
index 9045523..3e259b6 100644
--- a/drivers/rtl8139.c
+++ b/drivers/rtl8139.c
@@ -193,6 +193,10 @@ static void rtl_reset(struct eth_device *dev);
static int rtl_transmit(struct eth_device *dev, volatile void *packet, int length);
static int rtl_poll(struct eth_device *dev);
static void rtl_disable(struct eth_device *dev);
+#ifdef CONFIG_MCAST_TFTP/* This driver already accepts all b/mcast */
+static int rtl_bcast_addr (struct eth_device *dev, u8 bcast_mac, u8 set)
+ { return (0); }
+#endif
static struct pci_device_id supported[] = {
{PCI_VENDOR_ID_REALTEK, PCI_DEVICE_ID_REALTEK_8139},
@@ -228,6 +232,9 @@ int rtl8139_initialize(bd_t *bis)
dev->halt = rtl_disable;
dev->send = rtl_transmit;
dev->recv = rtl_poll;
+#ifdef CONFIG_MCAST_TFTP
+ dev->mcast = rtl_bcast_addr;
+#endif
eth_register (dev);