mxs: add support for I2SE Duckbill devices
[openwrt/openwrt.git] / target / linux / mxs / patches / 200-duckbill.patch
1 diff --git a/arch/arm/boot/dts/Makefile b/arch/arm/boot/dts/Makefile
2 index f0895c5..3ec78a1 100644
3 --- a/arch/arm/boot/dts/Makefile
4 +++ b/arch/arm/boot/dts/Makefile
5 @@ -131,6 +131,7 @@ dtb-$(CONFIG_ARCH_MXS) += imx23-evk.dtb \
6 imx28-cfa10037.dtb \
7 imx28-cfa10049.dtb \
8 imx28-evk.dtb \
9 + imx28-duckbill.dtb \
10 imx28-m28evk.dtb \
11 imx28-sps1.dtb \
12 imx28-tx28.dtb
13 diff --git a/arch/arm/mach-mxs/mach-mxs.c b/arch/arm/mach-mxs/mach-mxs.c
14 index 5b62b64..63916c5 100644
15 --- a/arch/arm/mach-mxs/mach-mxs.c
16 +++ b/arch/arm/mach-mxs/mach-mxs.c
17 @@ -175,6 +175,7 @@ enum mac_oui {
18 OUI_FSL,
19 OUI_DENX,
20 OUI_CRYSTALFONTZ,
21 + OUI_I2SE,
22 };
23
24 static void __init update_fec_mac_prop(enum mac_oui oui)
25 @@ -229,6 +230,11 @@ static void __init update_fec_mac_prop(enum mac_oui oui)
26 macaddr[1] = 0xb9;
27 macaddr[2] = 0xe1;
28 break;
29 + case OUI_I2SE:
30 + macaddr[0] = 0x00;
31 + macaddr[1] = 0x01;
32 + macaddr[2] = 0x87;
33 + break;
34 }
35 val = ocotp[i];
36 macaddr[3] = (val >> 16) & 0xff;
37 @@ -362,6 +368,11 @@ static void __init cfa10037_init(void)
38 update_fec_mac_prop(OUI_CRYSTALFONTZ);
39 }
40
41 +static void __init duckbill_init(void)
42 +{
43 + update_fec_mac_prop(OUI_I2SE);
44 +}
45 +
46 static void __init mxs_machine_init(void)
47 {
48 if (of_machine_is_compatible("fsl,imx28-evk"))
49 @@ -372,6 +383,8 @@ static void __init mxs_machine_init(void)
50 cfa10037_init();
51 else if (of_machine_is_compatible("crystalfontz,cfa10049"))
52 cfa10049_init();
53 + else if (of_machine_is_compatible("i2se,duckbill"))
54 + duckbill_init();
55
56 of_platform_populate(NULL, of_default_bus_match_table,
57 mxs_auxdata_lookup, NULL);