[U-Boot] [PATCH] ARM: omap4-panda: Add MAC address creation for panda

Add a MAC address create based on the OMAP die ID registers. Then poplulate the ethaddr enviroment variable so that the device tree alias can be updated prior to boot.
Signed-off-by: Dan Murphy dmurphy@ti.com --- arch/arm/include/asm/arch-omap4/omap.h | 4 ++++ board/ti/panda/panda.c | 16 ++++++++++++++++ 2 files changed, 20 insertions(+)
diff --git a/arch/arm/include/asm/arch-omap4/omap.h b/arch/arm/include/asm/arch-omap4/omap.h index 9129c0d..e35f51c 100644 --- a/arch/arm/include/asm/arch-omap4/omap.h +++ b/arch/arm/include/asm/arch-omap4/omap.h @@ -33,6 +33,10 @@
/* CONTROL_ID_CODE */ #define CONTROL_ID_CODE 0x4A002204 +#define STD_FUSE_DIE_ID_0 0x4A002200 +#define STD_FUSE_DIE_ID_1 0x4A002208 +#define STD_FUSE_DIE_ID_2 0x4A00220c +#define STD_FUSE_DIE_ID_3 0x4A002210
#define OMAP4_CONTROL_ID_CODE_ES1_0 0x0B85202F #define OMAP4_CONTROL_ID_CODE_ES2_0 0x1B85202F diff --git a/board/ti/panda/panda.c b/board/ti/panda/panda.c index e838ffd..53f4c24 100644 --- a/board/ti/panda/panda.c +++ b/board/ti/panda/panda.c @@ -133,6 +133,7 @@ int misc_init_r(void) { int phy_type; u32 auxclk, altclksrc; + uint8_t device_mac[6];
/* EHCI is not supported on ES1.0 */ if (omap_revision() == OMAP4430_ES1_0) @@ -186,6 +187,21 @@ int misc_init_r(void)
writel(altclksrc, &scrm->altclksrc);
+ if (!getenv("ethaddr")) { + /* + * create a fake MAC address from the processor ID code. + * first byte is 0x02 to signify locally administered. + */ + device_mac[0] = 0x02; + device_mac[1] = readl(STD_FUSE_DIE_ID_3) & 0xff; + device_mac[2] = readl(STD_FUSE_DIE_ID_2) & 0xff; + device_mac[3] = readl(STD_FUSE_DIE_ID_1) & 0xff; + device_mac[4] = readl(STD_FUSE_DIE_ID_0) & 0xff; + device_mac[5] = (readl(STD_FUSE_DIE_ID_0) >> 8) & 0xff; + + eth_setenv_enetaddr("ethaddr", device_mac); + } + return 0; }

On Wed, Oct 09, 2013 at 01:53:46PM -0500, Dan Murphy wrote:
Add a MAC address create based on the OMAP die ID registers. Then poplulate the ethaddr enviroment variable so that the device tree alias can be updated prior to boot.
Signed-off-by: Dan Murphy dmurphy@ti.com
What are we creating a MAC address for here? The 10/100 port that's hooked up via USB is covered already, and we just need your other patch to make usbethaddr be updated in the aliases node applied to fix that. We shouldn't be dealing with other ethernet devices that we don't use in U-Boot.

Tom
On 10/09/2013 02:27 PM, Tom Rini wrote:
On Wed, Oct 09, 2013 at 01:53:46PM -0500, Dan Murphy wrote:
Add a MAC address create based on the OMAP die ID registers. Then poplulate the ethaddr enviroment variable so that the device tree alias can be updated prior to boot.
Signed-off-by: Dan Murphy dmurphy@ti.com
What are we creating a MAC address for here? The 10/100 port that's hooked up via USB is covered already, and we just need your other patch to make usbethaddr be updated in the aliases node applied to fix that. We shouldn't be dealing with other ethernet devices that we don't use in U-Boot.
We need to create the MAC for the panda as no MAC address is being set at all for the USB->Ethernet LAN.
I will change this to set the usbethaddr instead since the lan device is connected via usb on the panda boards
Dan
participants (2)
-
Dan Murphy
-
Tom Rini