[U-Boot] [PATCH 5/5] smc911x: allow mac address to be kept after smc911x_halt

Mike Rapoport mike at compulab.co.il
Wed Nov 11 09:03:04 CET 2009


The smc911x_halt gets called after completion of network opration
and resets the chip. When there is no SROM attached to the SMSC, MAC
address gets reset as well. Add CONFIG_SMC911X_KEEP_MAC option to allow
boards with no SROM instruct the SMSC driver to keep mac address after the
reset

Signed-off-by: Mike Rapoport <mike at compulab.co.il>
---
 README                |    5 +++++
 drivers/net/smc911x.c |    4 ++++
 2 files changed, 9 insertions(+), 0 deletions(-)

diff --git a/README b/README
index 84d7f16..a5956b2 100644
--- a/README
+++ b/README
@@ -857,6 +857,11 @@ The following options need to be configured:
 			automatically converts one 32 bit word to two 16 bit
 			words you may also try CONFIG_SMC911X_32_BIT.
 
+			CONFIG_SMC911X_KEEP_MAC
+			Define this if your board does not have SROM
+			attached to SMC chip and the MAC address is
+			stored elsewhere
+
 - USB Support:
 		At the moment only the UHCI host controller is
 		supported (PIP405, MIP405, MPC5200); define
diff --git a/drivers/net/smc911x.c b/drivers/net/smc911x.c
index f5d984d..eee34f0 100644
--- a/drivers/net/smc911x.c
+++ b/drivers/net/smc911x.c
@@ -206,6 +206,10 @@ static int smc911x_send(struct eth_device *dev,
 static void smc911x_halt(struct eth_device *dev)
 {
 	smc911x_reset(dev);
+
+#ifdef CONFIG_SMC911X_KEEP_MAC
+	smc911x_handle_mac_address(dev);
+#endif
 }
 
 static int smc911x_rx(struct eth_device *dev)
-- 
1.6.0.6



More information about the U-Boot mailing list