X-Git-Url: https://git.sur5r.net/?a=blobdiff_plain;f=doc%2FREADME.enetaddr;h=f9264859866c1ca57cd927b00d96e3960fbad756;hb=HEAD;hp=0fafd2cdcd5f575796c69fc3fe97c085d4a666b4;hpb=b939689c7b87773c44275a578ffc8674a867e39d;p=u-boot diff --git a/doc/README.enetaddr b/doc/README.enetaddr index 0fafd2cdcd..f926485986 100644 --- a/doc/README.enetaddr +++ b/doc/README.enetaddr @@ -15,7 +15,7 @@ Here are the places where MAC addresses might be stored: - board-specific location (eeprom, dedicated flash, ...) Note: only used when mandatory due to hardware design etc... - - environment ("ethaddr", "eth1addr", ...) (see CONFIG_ETHADDR) + - environment ("ethaddr", "eth1addr", ...) Note: this is the preferred way to permanently store MAC addresses - ethernet data (struct eth_device -> enetaddr) @@ -37,6 +37,8 @@ Correct flow of setting up the MAC address (summarized): 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. + If both are invalid and CONFIG_NET_RANDOM_ETHADDR is defined, a random, + locally-assigned MAC is written to eth_device->enetaddr. 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 @@ -82,7 +84,7 @@ uchar enetaddr[6]; eth_parse_enetaddr(addr, enetaddr); /* enetaddr now equals { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 } */ - * int eth_getenv_enetaddr(char *name, uchar *enetaddr); + * int eth_env_get_enetaddr(char *name, uchar *enetaddr); Look up an environment variable and convert the stored address. If the address is valid, then the function returns 1. Otherwise, the function returns 0. In @@ -90,18 +92,18 @@ all cases, the enetaddr memory is initialized. If the env var is not found, then it is set to all zeros. The common function is_valid_ethaddr() is used to determine address validity. uchar enetaddr[6]; -if (!eth_getenv_enetaddr("ethaddr", enetaddr)) { +if (!eth_env_get_enetaddr("ethaddr", enetaddr)) { /* "ethaddr" is not set in the environment */ ... try and setup "ethaddr" in the env ... } /* enetaddr is now set to the value stored in the ethaddr env var */ - * int eth_setenv_enetaddr(char *name, const uchar *enetaddr); + * int eth_env_set_enetaddr(char *name, const uchar *enetaddr); Store the MAC address into the named environment variable. The return value is -the same as the setenv() function. +the same as the env_set() function. uchar enetaddr[6] = { 0x00, 0x11, 0x22, 0x33, 0x44, 0x55 }; -eth_setenv_enetaddr("ethaddr", enetaddr); +eth_env_set_enetaddr("ethaddr", enetaddr); /* the "ethaddr" env var should now be set to "00:11:22:33:44:55" */ * the %pM format modifier