diff -ruN orig/arch/arm/boot/dts/Makefile new/arch/arm/boot/dts/Makefile --- orig/arch/arm/boot/dts/Makefile 2013-11-04 00:41:51.000000000 +0100 +++ new/arch/arm/boot/dts/Makefile 2013-11-11 14:38:07.108808212 +0100 @@ -159,6 +159,7 @@ imx28-cfa10057.dtb \ imx28-cfa10058.dtb \ imx28-evk.dtb \ + imx28-duckbill.dtb \ imx28-m28evk.dtb \ imx28-sps1.dtb \ imx28-tx28.dtb diff -ruN orig/arch/arm/mach-mxs/mach-mxs.c new/arch/arm/mach-mxs/mach-mxs.c --- orig/arch/arm/mach-mxs/mach-mxs.c 2013-11-04 00:41:51.000000000 +0100 +++ new/arch/arm/mach-mxs/mach-mxs.c 2013-11-11 14:40:07.555397389 +0100 @@ -159,6 +159,7 @@ OUI_FSL, OUI_DENX, OUI_CRYSTALFONTZ, + OUI_I2SE, }; static void __init update_fec_mac_prop(enum mac_oui oui) @@ -213,6 +214,11 @@ macaddr[1] = 0xb9; macaddr[2] = 0xe1; break; + case OUI_I2SE: + macaddr[0] = 0x00; + macaddr[1] = 0x01; + macaddr[2] = 0x87; + break; } val = ocotp[i]; macaddr[3] = (val >> 16) & 0xff; @@ -423,6 +429,11 @@ return 0; } +static void __init duckbill_init(void) +{ + update_fec_mac_prop(OUI_I2SE); +} + static void __init mxs_machine_init(void) { struct device_node *root; @@ -459,6 +470,8 @@ apx4devkit_init(); else if (of_machine_is_compatible("crystalfontz,cfa10036")) crystalfontz_init(); + else if (of_machine_is_compatible("i2se,duckbill")) + duckbill_init(); of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);