X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2FREADME.enetaddr;h=2d8e24f5cb4df128dcf5fdba00ed244614791f25;hb=98e99e5a48e8eb3987c89f5316929313601ed7d6;hp=1d75aa3876efc8c47bbe9e6c76963ef0ec105bf0;hpb=1129b14e549c8629cbff8c19cb650cc431211868;p=u-boot diff --git a/doc/README.enetaddr b/doc/README.enetaddr index 1d75aa3876..2d8e24f5cb 100644 --- a/doc/README.enetaddr +++ b/doc/README.enetaddr @@ -28,6 +28,19 @@ 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 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) + +Previous behavior had the MAC address always being programmed into hardware +in the device's init() function. + ------- Usage -------