net, doc: How to setup MAC address correctly
authorHeiko Schocher <hs@denx.de>
Wed, 31 Mar 2010 06:34:51 +0000 (08:34 +0200)
committerWolfgang Denk <wd@denx.de>
Wed, 31 Mar 2010 13:13:32 +0000 (15:13 +0200)
As this seems unclear, document how the flow of setting up
the MAC address is correct.

Signed-off-by: Heiko Schocher <hs@denx.de>
Text changed slightly, adding input from Mike Frysinger.

Signed-off-by: Wolfgang Denk <wd@denx.de>
doc/README.enetaddr

index 1d75aa3876efc8c47bbe9e6c76963ef0ec105bf0..94d800a02ae0ff437746030587fbc65a75d49276 100644 (file)
@@ -28,6 +28,17 @@ Here are the places where MAC addresses might be stored:
              purpose of passing this information to an OS kernel we are about
              to boot
 
+Correct flow of setting up the MAC address (summarized):
+
+1. Read from hardware in initialize() function
+2. Read from environment in net/eth.c after initialize()
+3. Give priority to the value in the environment if a conflict
+4. Program hardware in the device's init() function.
+
+If somebody wants to subvert the design philosophy, this can be done
+in the board-specific board_eth_init() function by calling eth_init()
+after all the NICs have been registered.
+
 -------
  Usage
 -------