diff options
author | Ben Warren <biggerbadderben@gmail.com> | 2010-04-26 11:11:46 -0700 |
---|---|---|
committer | Ben Warren <biggerbadderben@gmail.com> | 2010-05-03 14:52:49 -0700 |
commit | ecee9324d73555e744593f3e0d387bec4c566f55 (patch) | |
tree | e0ddc06decbe33b90c867d1751272e933f5e01ec /doc/README.enetaddr | |
parent | c960b13ed22d9ea570957379f9f7f2f37d87ef08 (diff) | |
download | u-boot-imx-ecee9324d73555e744593f3e0d387bec4c566f55.zip u-boot-imx-ecee9324d73555e744593f3e0d387bec4c566f55.tar.gz u-boot-imx-ecee9324d73555e744593f3e0d387bec4c566f55.tar.bz2 |
Program net device MAC addresses after initializing
Add a new function to the eth_device struct for programming a network
controller's hardware address.
After all network devices have been initialized and the proper MAC address
for each has been determined, make a device driver call to program the
address into the device. Only device instances with valid unicast addresses
will be programmed.
Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
Acked-by: Detlev Zundel <dzu@denx.de>
Tested-by: Prafulla Wadaskar <prafulla@marvell.com>
Tested-by: Heiko Schocher <hs@denx.de>
Tested-by: Thomas Chou <thomas@wytron.com.tw>
Diffstat (limited to 'doc/README.enetaddr')
-rw-r--r-- | doc/README.enetaddr | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/doc/README.enetaddr b/doc/README.enetaddr index 94d800a..2d8e24f 100644 --- a/doc/README.enetaddr +++ b/doc/README.enetaddr @@ -33,11 +33,13 @@ 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. +4. Program the address into hardware if the following conditions are met: + a) The relevant driver has a 'write_addr' function + b) The user hasn't set an 'ethmacskip' environment variable + c) The address is valid (unicast, not all-zeros) -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. +Previous behavior had the MAC address always being programmed into hardware +in the device's init() function. ------- Usage |