Hi Joe, On Wed, Apr 22, 2015 at 3:41 AM, Joe Hershberger <joe.hershber...@gmail.com> wrote: > Hi Bin Meng, > > On Tue, Apr 21, 2015 at 8:54 AM, Simon Glass <s...@chromium.org> wrote: >> Hi Bin, >> >> On 20 April 2015 at 23:05, Bin Meng <bmeng...@gmail.com> wrote: >>> Not like other x86 chipset, there is no EEPROM for the ethernet >>> controller on the Intel Quark SoC to retreive the mac address >>> after power up. With pre-defined mac addresses, U-Boot boots up >>> and will not show "Error: dwmac.90006000 address not set" message. >>> >>> Signed-off-by: Bin Meng <bmeng...@gmail.com> >>> --- >>> >>> include/configs/galileo.h | 2 ++ >>> 1 file changed, 2 insertions(+) >>> >>> diff --git a/include/configs/galileo.h b/include/configs/galileo.h >>> index d4d0eb3..961d087 100644 >>> --- a/include/configs/galileo.h >>> +++ b/include/configs/galileo.h >>> @@ -62,6 +62,8 @@ >>> #define CONFIG_DESIGNWARE_ETH >>> #define CONFIG_DW_ALTDESCRIPTOR >>> #define CONFIG_PHYLIB >>> +#define CONFIG_ETHADDR 00:02:b3:00:00:00 >>> +#define CONFIG_ETH1ADDR 00:02:b3:00:00:01 >> >> I recall this coming up before with another board - we are not >> supposed to set a default MAC address since it may create inexplicable >> conflicts on the network if an org two boards on the same network one >> day. Can you just set an environment variable?
There are lots of boards which have CONFIG_ETHADDR defined in the board configuration files. Do you think we need cleam them up? include/configs/blackstamp.h:81:/* #define CONFIG_ETHADDR 02:80:ad:20:31:b8 */ include/configs/grsim.h:254:#define CONFIG_ETHADDR 00:00:7a:cc:00:12 include/configs/bct-brettl2.h:77:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/bf533-stamp.h:72:/* #define CONFIG_ETHADDR 02:80:ad:20:31:b8 */ include/configs/stxgp3.h:16: * search for CONFIG_ETHADDR,CONFIG_SERVERIP,etc in this file include/configs/stxgp3.h:348:#define CONFIG_ETHADDR 00:e0:0c:07:9b:8a include/configs/cobra5272.h:177:#define CONFIG_ETHADDR 00:00:00:00:00:09 /* default ethernet MAC addr. */ include/configs/pb1x00.h:34:#define CONFIG_ETHADDR DE:AD:BE:EF:01:01 /* Ethernet address */ include/configs/M54418TWR.h:116:#define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/dbau1x00.h:40:#define CONFIG_ETHADDR DE:AD:BE:EF:01:01 /* Ethernet address */ include/configs/bf561-acvilon.h:96:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/galileo.h:65:#define CONFIG_ETHADDR 00:02:b3:00:00:00 include/configs/cm-bf527.h:87:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/M5329EVB.h:91:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/sbc8641d.h:17: * search for CONFIG_ETHADDR, CONFIG_SERVERIP, etc in this file. include/configs/sbc8641d.h:533:#define CONFIG_ETHADDR 02:E0:0C:00:00:01 include/configs/bf527-ezkit.h:87:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/MPC8541CDS.h:421:#define CONFIG_ETHADDR 00:E0:0C:00:00:FD include/configs/bf537-stamp.h:69:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/zeus.h:299:#define CONFIG_ETHADDR 50:00:00:00:06:00 include/configs/br4.h:73:/* #define CONFIG_ETHADDR 5c:38:1a:80:a7:00 */ include/configs/M5373EVB.h:91:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/MPC8641HPCN.h:13: * search for CONFIG_ETHADDR, CONFIG_SERVERIP, etc in this file. include/configs/MPC8641HPCN.h:683:#define CONFIG_ETHADDR 00:E0:0C:00:00:01 include/configs/MPC8560ADS.h:15: * search for CONFIG_ETHADDR, CONFIG_SERVERIP, etc in this file. include/configs/MPC8560ADS.h:450:#define CONFIG_ETHADDR 00:E0:0C:00:00:FD include/configs/M5272C3.h:93:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/gr_xc3s_1500.h:231:#define CONFIG_ETHADDR 00:00:7a:cc:00:12 include/configs/MPC8568MDS.h:441:#define CONFIG_ETHADDR 00:E0:0C:00:00:FD include/configs/bf537-pnav.h:69:/* #define CONFIG_ETHADDR 02:80:ad:24:21:18 */ include/configs/M54455EVB.h:86:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/blackvme.h:90:/* # define CONFIG_ETHADDR ff:ee:dd:cc:bb:aa */ include/configs/MPC8548CDS.h:546:#define CONFIG_ETHADDR 00:E0:0C:00:00:FD include/configs/stxssa.h:16: * search for CONFIG_ETHADDR,CONFIG_SERVERIP,etc in this file include/configs/stxssa.h:383:#define CONFIG_ETHADDR 00:e0:0c:07:9b:8a include/configs/grsim_leon2.h:252:#define CONFIG_ETHADDR 00:00:7a:cc:00:12 include/configs/M5235EVB.h:98:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/tcm-bf518.h:70:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/sbc405.h:105:#define CONFIG_ETHADDR DE:AD:BE:EF:01:01 /* Ethernet address */ include/configs/microblaze-generic.h:353:#define CONFIG_ETHADDR 00:E0:0C:00:00:FD include/configs/uniphier.h:212:#define CONFIG_ETHADDR 00:21:83:24:00:00 include/configs/bf538f-ezkit.h:67:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/M5208EVBE.h:77:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/cm-bf561.h:71:/* #define CONFIG_ETHADDR 02:80:ad:20:31:cf */ include/configs/M54451EVB.h:80:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/MPC8544DS.h:452:#define CONFIG_ETHADDR 00:E0:0C:02:00:FD include/configs/motionpro.h:88:#define CONFIG_ETHADDR 00:50:C2:40:10:00 include/configs/inka4x0.h:113:#define CONFIG_ETHADDR 00:a0:a4:03:00:00 include/configs/cm-bf537e.h:75:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/MPC8572DS.h:665:#define CONFIG_ETHADDR 00:E0:0C:02:00:FD include/configs/cm-bf548.h:80:/* #define CONFIG_ETHADDR 02:80:ad:24:31:91 */ include/configs/MPC8610HPCD.h:303:#define CONFIG_ETHADDR 00:E0:0C:00:00:01 include/configs/tcm-bf537.h:75:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/sbc8548.h:588:#define CONFIG_ETHADDR 02:E0:0C:00:00:FD include/configs/M5475EVB.h:78:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/M5475EVB.h:138:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/gr_ep2s60.h:272:#define CONFIG_ETHADDR 00:00:7a:cc:00:13 include/configs/xaeniax.h:73:#define CONFIG_ETHADDR 08:00:3e:26:0a:5b include/configs/pr1.h:73:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/MPC8536DS.h:723:#define CONFIG_ETHADDR 00:E0:0C:02:00:FD include/configs/bf537-srv1.h:90:/* #define CONFIG_ETHADDR 02:80:ad:20:31:42 */ include/configs/M5282EVB.h:79:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/bf526-ezbrd.h:89:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/ibf-dsp561.h:68:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/bf561-ezkit.h:68:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/bf548-ezkit.h:77:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/MPC8540ADS.h:15: * search for CONFIG_ETHADDR, CONFIG_SERVERIP, etc in this file. include/configs/MPC8540ADS.h:409:#define CONFIG_ETHADDR 00:E0:0C:00:00:FD include/configs/M5485EVB.h:78:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/work_92105.h:187:#define CONFIG_ETHADDR 00:12:B4:00:AF:FE include/configs/bf533-ezkit.h:79:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/cm-bf537u.h:73:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/MPC8555CDS.h:419:#define CONFIG_ETHADDR 00:E0:0C:00:00:FD include/configs/sequoia.h:110:#define CONFIG_ETHADDR 4a:56:49:22:3e:43 include/configs/scb9328.h:53:#define CONFIG_ETHADDR 80:81:82:83:84:85 include/configs/cm-bf533.h:70:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/gr_cpci_ax2000.h:283:#define CONFIG_ETHADDR 00:00:7a:cc:00:13 include/configs/M53017EVB.h:97:# define CONFIG_ETHADDR 00:e0:0c:bc:e5:60 include/configs/bf518f-ezbrd.h:91:/* #define CONFIG_ETHADDR 02:80:ad:20:31:e8 */ include/configs/bf537-minotaur.h:90:/* #define CONFIG_ETHADDR 02:80:ad:20:31:42 */ include/env_default.h:52:#ifdef CONFIG_ETHADDR include/env_default.h:53: "ethaddr=" __stringify(CONFIG_ETHADDR) "\0 > Simon is correct here. You should simply set it in your environment on > your board. Another option that we tend to frown on, but is allowed, > is to call net_random_ethaddr() from your board init. > I see net_random_ethaddr() is not used consistently. Lots of boards call this API in their borad init but there are two drivers call this API in the driver. I think we need move them all to board init? board/bf527-ezkit/bf527-ezkit.c:49: net_random_ethaddr(mac_addr); board/bf537-minotaur/bf537-minotaur.c:29: net_random_ethaddr(mac_addr); board/tcm-bf537/tcm-bf537.c:34: net_random_ethaddr(enetaddr); board/bf526-ezbrd/bf526-ezbrd.c:47: net_random_ethaddr(mac_addr); board/bct-brettl2/bct-brettl2.c:35: net_random_ethaddr(mac_addr); board/buffalo/lsxl/lsxl.c:235: net_random_ethaddr(enetaddr); board/bf537-stamp/bf537-stamp.c:50: net_random_ethaddr(mac_addr); board/dnp5370/dnp5370.c:57: net_random_ethaddr(mac_addr); board/cm-bf537u/cm-bf537u.c:34: net_random_ethaddr(enetaddr); board/bf518f-ezbrd/bf518f-ezbrd.c:50: net_random_ethaddr(mac_addr); board/tcm-bf518/tcm-bf518.c:49: net_random_ethaddr(mac_addr); board/bf537-pnav/bf537-pnav.c:29: net_random_ethaddr(mac_addr); board/cm-bf527/cm-bf527.c:48: net_random_ethaddr(mac_addr); board/cm-bf537e/cm-bf537e.c:34: net_random_ethaddr(enetaddr); board/bf537-srv1/bf537-srv1.c:29: net_random_ethaddr(mac_addr); board/ip04/ip04.c:35: net_random_ethaddr(enetaddr); drivers/net/ftmac110.c:428: net_random_ethaddr(dev->enetaddr); drivers/net/dm9000x.c:348: net_random_ethaddr(dev->enetaddr); include/net.h:767: * net_random_ethaddr - Generate software assigned random Ethernet address include/net.h:773:static inline void net_random_ethaddr(uchar *addr) And there is even one CONFIG_RANDOM_MACADDR used for this purpose. board/buffalo/lsxl/lsxl.c:233:#ifdef CONFIG_RANDOM_MACADDR drivers/net/dm9000x.c:346:#ifdef CONFIG_RANDOM_MACADDR include/configs/lsxl.h:40:#define CONFIG_RANDOM_MACADDR I think we should clean these all? Regards, Bin _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot