net: fec_mpc52xx: Read MAC address from device-tree
authorStefan Roese <sr@denx.de>
Tue, 12 Feb 2013 03:05:38 +0000 (03:05 +0000)
committerDavid S. Miller <davem@davemloft.net>
Tue, 12 Feb 2013 21:15:10 +0000 (16:15 -0500)
commitdb98f081888cbdd995c7c4cfd407781da35e33ba
tree21226907ec97affeb3c85c5433f34a823b34d61b
parentaf32de0ecda35e933848090bbab490174504c731
net: fec_mpc52xx: Read MAC address from device-tree

Until now, the MPC5200 FEC ethernet driver relied upon the bootloader
(U-Boot) to write the MAC address into the ethernet controller
registers. The Linux driver should not rely on such a thing. So
lets read the MAC address from the DT as it should be done here.

The following priority is now used to read the MAC address:

1) First, try OF node MAC address, if not present or invalid, then:

2) Read from MAC address registers, if invalid, then:

3) Log a warning message, and choose a random MAC address.

This fixes a problem with a MPC5200 board that uses the SPL U-Boot
version without FEC initialization before Linux booting for
boot speedup.

Additionally a status line is now be printed upon successful
driver probing, also displaying this MAC address.

Signed-off-by: Stefan Roese <sr@denx.de>
Cc: Anatolij Gustschin <agust@denx.de>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/freescale/fec_mpc52xx.c