X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=doc%2FREADME.enetaddr;h=1eaeaf9416efb5c76a81a202390f4bf110b11adc;hb=HEAD;hp=94d800a02ae0ff437746030587fbc65a75d49276;hpb=83653121d7382fccfe329cb732f77f116341ef1d;p=kernel%2Fu-boot.git diff --git a/doc/README.enetaddr b/doc/README.enetaddr index 94d800a..1eaeaf9 100644 --- a/doc/README.enetaddr +++ b/doc/README.enetaddr @@ -32,12 +32,18 @@ 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. +3. The environment variable will be compared to the driver initialized + struct eth_device->enetaddr. If they differ, a warning is printed, and the + environment variable will be used unchanged. + If the environment variable is not set, it will be initialized from + eth_device->enetaddr, and a warning will be printed. +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