Lines Matching +full:mac +full:- +full:only
1 ---------------------------------
2 Ethernet Address (MAC) Handling
3 ---------------------------------
5 There are a variety of places in U-Boot where the MAC address is used, parsed,
9 -----------
11 -----------
13 Here are the places where MAC addresses might be stored:
15 - board-specific location (eeprom, dedicated flash, ...)
16 Note: only used when mandatory due to hardware design etc...
18 - environment ("ethaddr", "eth1addr", ...)
19 Note: this is the preferred way to permanently store MAC addresses
21 - ethernet data (struct eth_device -> enetaddr)
22 Note: these are temporary copies of the MAC address which exist only
23 after the respective init steps have run and only to make usage
26 - struct bd_info and/or device tree
27 Note: these are temporary copies of the MAC address only for the
31 Correct flow of setting up the MAC address (summarized):
36 struct eth_device->enetaddr. If they differ, a warning is printed, and the
39 eth_device->enetaddr, and a warning will be printed.
41 locally-assigned MAC is written to eth_device->enetaddr.
45 c) The address is valid (unicast, not all-zeros)
47 Previous behavior had the MAC address always being programmed into hardware
50 -------
52 -------
54 If the hardware design mandates that the MAC address is stored in some special
56 board-specific misc_init_r() function) is responsible for locating the MAC
58 Note that this shall be done if, and only if, the environment does not already
63 the MAC addresses to the ethernet structures. All ethernet driver code should
64 then only use the enetaddr member of the eth_device structure. This is done
67 Any other code that wishes to access the MAC address should query the
71 ---------
73 ---------
81 Convert a string representation of a MAC address to the binary version.
103 Store the MAC address into the named environment variable. The return value is
112 the binary 6 byte array representation of a MAC address.
114 printf("The MAC is %pM\n", enetaddr);