diff -ruN old/arch/arm/boot/dts/Makefile new/arch/arm/boot/dts/Makefile --- old/arch/arm/boot/dts/Makefile 2014-02-05 13:08:14.000000000 +0100 +++ new/arch/arm/boot/dts/Makefile 2014-02-05 13:12:40.493773522 +0100 @@ -164,6 +164,7 @@ imx28-cfa10057.dtb \ imx28-cfa10058.dtb \ imx28-evk.dtb \ + imx28-duckbill.dtb \ imx28-m28cu3.dtb \ imx28-m28evk.dtb \ imx28-sps1.dtb \ diff -ruN old/arch/arm/mach-mxs/mach-mxs.c new/arch/arm/mach-mxs/mach-mxs.c --- old/arch/arm/mach-mxs/mach-mxs.c 2014-02-05 13:08:14.000000000 +0100 +++ new/arch/arm/mach-mxs/mach-mxs.c 2014-02-05 13:13:27.121772897 +0100 @@ -157,6 +157,7 @@ OUI_FSL, OUI_DENX, OUI_CRYSTALFONTZ, + OUI_I2SE, }; static void __init update_fec_mac_prop(enum mac_oui oui) @@ -211,6 +212,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; @@ -426,6 +432,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; @@ -464,6 +475,8 @@ crystalfontz_init(); else if (of_machine_is_compatible("msr,m28cu3")) m28cu3_init(); + else if (of_machine_is_compatible("i2se,duckbill")) + duckbill_init(); of_platform_populate(NULL, of_default_bus_match_table, NULL, parent);