--- a/arch/arm/boot/dts/Makefile +++ b/arch/arm/boot/dts/Makefile @@ -184,6 +184,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb imx28-cfa10057.dtb \ imx28-cfa10058.dtb \ imx28-evk.dtb \ + imx28-duckbill.dtb \ imx28-m28cu3.dtb \ imx28-m28evk.dtb \ imx28-sps1.dtb \ --- a/arch/arm/mach-mxs/mach-mxs.c +++ b/arch/arm/mach-mxs/mach-mxs.c @@ -157,6 +157,7 @@ enum mac_oui { OUI_FSL, OUI_DENX, OUI_CRYSTALFONTZ, + OUI_I2SE, }; static void __init update_fec_mac_prop(enum mac_oui oui) @@ -211,6 +212,11 @@ static void __init update_fec_mac_prop(e 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 @@ static int __init mxs_restart_init(void) 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 @@ static void __init mxs_machine_init(void 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);