OMAP3: beagle-xm: generate fake USB ethernet MAC address from dieid
Similar to OMAP5uEVM, PandaBoard, BeagleBoard-XM has a USB based ethernet without MAC address embedded. So fake a MAC address following the similar strategy used on OMAP5 and PandaBoard family. Signed-off-by: Nishanth Menon <nm@ti.com>
This commit is contained in:
		
							parent
							
								
									79e7e87f91
								
							
						
					
					
						commit
						548a64d845
					
				|  | @ -8,6 +8,7 @@ | |||
| #ifndef _SYS_PROTO_H_ | ||||
| #define _SYS_PROTO_H_ | ||||
| #include <linux/mtd/omap_gpmc.h> | ||||
| #include <asm/omap_common.h> | ||||
| 
 | ||||
| typedef struct { | ||||
| 	u32 mtype; | ||||
|  |  | |||
|  | @ -316,6 +316,7 @@ int misc_init_r(void) | |||
| 	struct gpio *gpio5_base = (struct gpio *)OMAP34XX_GPIO5_BASE; | ||||
| 	struct gpio *gpio6_base = (struct gpio *)OMAP34XX_GPIO6_BASE; | ||||
| 	struct control_prog_io *prog_io_base = (struct control_prog_io *)OMAP34XX_CTRL_BASE; | ||||
| 	bool generate_fake_mac = false; | ||||
| 
 | ||||
| 	/* Enable i2c2 pullup resisters */ | ||||
| 	writel(~(PRG_I2C2_PULLUPRESX), &prog_io_base->io1); | ||||
|  | @ -349,6 +350,7 @@ int misc_init_r(void) | |||
| 					TWL4030_PM_RECEIVER_VAUX2_VSEL_18, | ||||
| 					TWL4030_PM_RECEIVER_VAUX2_DEV_GRP, | ||||
| 					TWL4030_PM_RECEIVER_DEV_GRP_P1); | ||||
| 		generate_fake_mac = true; | ||||
| 		break; | ||||
| 	case REVISION_XM_C: | ||||
| 		printf("Beagle xM Rev C\n"); | ||||
|  | @ -359,6 +361,7 @@ int misc_init_r(void) | |||
| 					TWL4030_PM_RECEIVER_VAUX2_VSEL_18, | ||||
| 					TWL4030_PM_RECEIVER_VAUX2_DEV_GRP, | ||||
| 					TWL4030_PM_RECEIVER_DEV_GRP_P1); | ||||
| 		generate_fake_mac = true; | ||||
| 		break; | ||||
| 	default: | ||||
| 		printf("Beagle unknown 0x%02x\n", get_board_revision()); | ||||
|  | @ -368,6 +371,7 @@ int misc_init_r(void) | |||
| 					TWL4030_PM_RECEIVER_VAUX2_VSEL_18, | ||||
| 					TWL4030_PM_RECEIVER_VAUX2_DEV_GRP, | ||||
| 					TWL4030_PM_RECEIVER_DEV_GRP_P1); | ||||
| 		generate_fake_mac = true; | ||||
| 	} | ||||
| 
 | ||||
| 	switch (get_expansion_id()) { | ||||
|  | @ -486,6 +490,13 @@ int misc_init_r(void) | |||
| 	musb_register(&musb_plat, &musb_board_data, (void *)MUSB_BASE); | ||||
| #endif | ||||
| 
 | ||||
| 	if (generate_fake_mac) { | ||||
| 		u32 id[4]; | ||||
| 
 | ||||
| 		get_dieid(id); | ||||
| 		usb_fake_mac_from_die_id(id); | ||||
| 	} | ||||
| 
 | ||||
| 	return 0; | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue