diff options
| -rw-r--r-- | arch/arm/mach-imx/clock-imx25.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-imx/clock-imx27.c | 2 | ||||
| -rw-r--r-- | arch/arm/mach-imx/clock-imx35.c | 3 | ||||
| -rw-r--r-- | arch/arm/mach-mx5/clock-mx51-mx53.c | 6 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/devices/platform-fec.c | 21 | ||||
| -rw-r--r-- | arch/arm/plat-mxc/include/mach/devices-common.h | 1 | ||||
| -rw-r--r-- | drivers/net/fec.c | 22 |
7 files changed, 40 insertions, 17 deletions
diff --git a/arch/arm/mach-imx/clock-imx25.c b/arch/arm/mach-imx/clock-imx25.c index 006b30e4b4e7..13d61f34bd34 100644 --- a/arch/arm/mach-imx/clock-imx25.c +++ b/arch/arm/mach-imx/clock-imx25.c | |||
| @@ -296,7 +296,7 @@ static struct clk_lookup lookups[] = { | |||
| 296 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk) | 296 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c_clk) |
| 297 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c_clk) | 297 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c_clk) |
| 298 | _REGISTER_CLOCK("imx-i2c.2", NULL, i2c_clk) | 298 | _REGISTER_CLOCK("imx-i2c.2", NULL, i2c_clk) |
| 299 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 299 | _REGISTER_CLOCK("imx25-fec.0", NULL, fec_clk) |
| 300 | _REGISTER_CLOCK("imxdi_rtc.0", NULL, dryice_clk) | 300 | _REGISTER_CLOCK("imxdi_rtc.0", NULL, dryice_clk) |
| 301 | _REGISTER_CLOCK("imx-fb.0", NULL, lcdc_clk) | 301 | _REGISTER_CLOCK("imx-fb.0", NULL, lcdc_clk) |
| 302 | _REGISTER_CLOCK("imx2-wdt.0", NULL, wdt_clk) | 302 | _REGISTER_CLOCK("imx2-wdt.0", NULL, wdt_clk) |
diff --git a/arch/arm/mach-imx/clock-imx27.c b/arch/arm/mach-imx/clock-imx27.c index 8c9a681ebfc1..6912b821b37b 100644 --- a/arch/arm/mach-imx/clock-imx27.c +++ b/arch/arm/mach-imx/clock-imx27.c | |||
| @@ -663,7 +663,7 @@ static struct clk_lookup lookups[] = { | |||
| 663 | _REGISTER_CLOCK(NULL, "brom", brom_clk) | 663 | _REGISTER_CLOCK(NULL, "brom", brom_clk) |
| 664 | _REGISTER_CLOCK(NULL, "emma", emma_clk) | 664 | _REGISTER_CLOCK(NULL, "emma", emma_clk) |
| 665 | _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk) | 665 | _REGISTER_CLOCK(NULL, "slcdc", slcdc_clk) |
| 666 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 666 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) |
| 667 | _REGISTER_CLOCK(NULL, "emi", emi_clk) | 667 | _REGISTER_CLOCK(NULL, "emi", emi_clk) |
| 668 | _REGISTER_CLOCK(NULL, "sahara2", sahara2_clk) | 668 | _REGISTER_CLOCK(NULL, "sahara2", sahara2_clk) |
| 669 | _REGISTER_CLOCK(NULL, "ata", ata_clk) | 669 | _REGISTER_CLOCK(NULL, "ata", ata_clk) |
diff --git a/arch/arm/mach-imx/clock-imx35.c b/arch/arm/mach-imx/clock-imx35.c index b44cb065e629..7718101099b7 100644 --- a/arch/arm/mach-imx/clock-imx35.c +++ b/arch/arm/mach-imx/clock-imx35.c | |||
| @@ -461,7 +461,8 @@ static struct clk_lookup lookups[] = { | |||
| 461 | _REGISTER_CLOCK("sdhci-esdhc-imx.0", NULL, esdhc1_clk) | 461 | _REGISTER_CLOCK("sdhci-esdhc-imx.0", NULL, esdhc1_clk) |
| 462 | _REGISTER_CLOCK("sdhci-esdhc-imx.1", NULL, esdhc2_clk) | 462 | _REGISTER_CLOCK("sdhci-esdhc-imx.1", NULL, esdhc2_clk) |
| 463 | _REGISTER_CLOCK("sdhci-esdhc-imx.2", NULL, esdhc3_clk) | 463 | _REGISTER_CLOCK("sdhci-esdhc-imx.2", NULL, esdhc3_clk) |
| 464 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 464 | /* i.mx35 has the i.mx27 type fec */ |
| 465 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) | ||
| 465 | _REGISTER_CLOCK(NULL, "gpio", gpio1_clk) | 466 | _REGISTER_CLOCK(NULL, "gpio", gpio1_clk) |
| 466 | _REGISTER_CLOCK(NULL, "gpio", gpio2_clk) | 467 | _REGISTER_CLOCK(NULL, "gpio", gpio2_clk) |
| 467 | _REGISTER_CLOCK(NULL, "gpio", gpio3_clk) | 468 | _REGISTER_CLOCK(NULL, "gpio", gpio3_clk) |
diff --git a/arch/arm/mach-mx5/clock-mx51-mx53.c b/arch/arm/mach-mx5/clock-mx51-mx53.c index b8119e8fb519..76e450ba8589 100644 --- a/arch/arm/mach-mx5/clock-mx51-mx53.c +++ b/arch/arm/mach-mx5/clock-mx51-mx53.c | |||
| @@ -1427,7 +1427,8 @@ static struct clk_lookup mx51_lookups[] = { | |||
| 1427 | _REGISTER_CLOCK("imx21-uart.1", NULL, uart2_clk) | 1427 | _REGISTER_CLOCK("imx21-uart.1", NULL, uart2_clk) |
| 1428 | _REGISTER_CLOCK("imx21-uart.2", NULL, uart3_clk) | 1428 | _REGISTER_CLOCK("imx21-uart.2", NULL, uart3_clk) |
| 1429 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) | 1429 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) |
| 1430 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 1430 | /* i.mx51 has the i.mx27 type fec */ |
| 1431 | _REGISTER_CLOCK("imx27-fec.0", NULL, fec_clk) | ||
| 1431 | _REGISTER_CLOCK("mxc_pwm.0", "pwm", pwm1_clk) | 1432 | _REGISTER_CLOCK("mxc_pwm.0", "pwm", pwm1_clk) |
| 1432 | _REGISTER_CLOCK("mxc_pwm.1", "pwm", pwm2_clk) | 1433 | _REGISTER_CLOCK("mxc_pwm.1", "pwm", pwm2_clk) |
| 1433 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk) | 1434 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk) |
| @@ -1478,7 +1479,8 @@ static struct clk_lookup mx53_lookups[] = { | |||
| 1478 | _REGISTER_CLOCK("imx21-uart.3", NULL, uart4_clk) | 1479 | _REGISTER_CLOCK("imx21-uart.3", NULL, uart4_clk) |
| 1479 | _REGISTER_CLOCK("imx21-uart.4", NULL, uart5_clk) | 1480 | _REGISTER_CLOCK("imx21-uart.4", NULL, uart5_clk) |
| 1480 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) | 1481 | _REGISTER_CLOCK(NULL, "gpt", gpt_clk) |
| 1481 | _REGISTER_CLOCK("fec.0", NULL, fec_clk) | 1482 | /* i.mx53 has the i.mx25 type fec */ |
| 1483 | _REGISTER_CLOCK("imx25-fec.0", NULL, fec_clk) | ||
| 1482 | _REGISTER_CLOCK(NULL, "iim_clk", iim_clk) | 1484 | _REGISTER_CLOCK(NULL, "iim_clk", iim_clk) |
| 1483 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk) | 1485 | _REGISTER_CLOCK("imx-i2c.0", NULL, i2c1_clk) |
| 1484 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c2_clk) | 1486 | _REGISTER_CLOCK("imx-i2c.1", NULL, i2c2_clk) |
diff --git a/arch/arm/plat-mxc/devices/platform-fec.c b/arch/arm/plat-mxc/devices/platform-fec.c index 4fc6ffc2a13e..0bae44e890db 100644 --- a/arch/arm/plat-mxc/devices/platform-fec.c +++ b/arch/arm/plat-mxc/devices/platform-fec.c | |||
| @@ -11,40 +11,45 @@ | |||
| 11 | #include <mach/hardware.h> | 11 | #include <mach/hardware.h> |
| 12 | #include <mach/devices-common.h> | 12 | #include <mach/devices-common.h> |
| 13 | 13 | ||
| 14 | #define imx_fec_data_entry_single(soc) \ | 14 | #define imx_fec_data_entry_single(soc, _devid) \ |
| 15 | { \ | 15 | { \ |
| 16 | .devid = _devid, \ | ||
| 16 | .iobase = soc ## _FEC_BASE_ADDR, \ | 17 | .iobase = soc ## _FEC_BASE_ADDR, \ |
| 17 | .irq = soc ## _INT_FEC, \ | 18 | .irq = soc ## _INT_FEC, \ |
| 18 | } | 19 | } |
| 19 | 20 | ||
| 20 | #ifdef CONFIG_SOC_IMX25 | 21 | #ifdef CONFIG_SOC_IMX25 |
| 21 | const struct imx_fec_data imx25_fec_data __initconst = | 22 | const struct imx_fec_data imx25_fec_data __initconst = |
| 22 | imx_fec_data_entry_single(MX25); | 23 | imx_fec_data_entry_single(MX25, "imx25-fec"); |
| 23 | #endif /* ifdef CONFIG_SOC_IMX25 */ | 24 | #endif /* ifdef CONFIG_SOC_IMX25 */ |
| 24 | 25 | ||
| 25 | #ifdef CONFIG_SOC_IMX27 | 26 | #ifdef CONFIG_SOC_IMX27 |
| 26 | const struct imx_fec_data imx27_fec_data __initconst = | 27 | const struct imx_fec_data imx27_fec_data __initconst = |
| 27 | imx_fec_data_entry_single(MX27); | 28 | imx_fec_data_entry_single(MX27, "imx27-fec"); |
| 28 | #endif /* ifdef CONFIG_SOC_IMX27 */ | 29 | #endif /* ifdef CONFIG_SOC_IMX27 */ |
| 29 | 30 | ||
| 30 | #ifdef CONFIG_SOC_IMX35 | 31 | #ifdef CONFIG_SOC_IMX35 |
| 32 | /* i.mx35 has the i.mx27 type fec */ | ||
| 31 | const struct imx_fec_data imx35_fec_data __initconst = | 33 | const struct imx_fec_data imx35_fec_data __initconst = |
| 32 | imx_fec_data_entry_single(MX35); | 34 | imx_fec_data_entry_single(MX35, "imx27-fec"); |
| 33 | #endif | 35 | #endif |
| 34 | 36 | ||
| 35 | #ifdef CONFIG_SOC_IMX50 | 37 | #ifdef CONFIG_SOC_IMX50 |
| 38 | /* i.mx50 has the i.mx25 type fec */ | ||
| 36 | const struct imx_fec_data imx50_fec_data __initconst = | 39 | const struct imx_fec_data imx50_fec_data __initconst = |
| 37 | imx_fec_data_entry_single(MX50); | 40 | imx_fec_data_entry_single(MX50, "imx25-fec"); |
| 38 | #endif | 41 | #endif |
| 39 | 42 | ||
| 40 | #ifdef CONFIG_SOC_IMX51 | 43 | #ifdef CONFIG_SOC_IMX51 |
| 44 | /* i.mx51 has the i.mx27 type fec */ | ||
| 41 | const struct imx_fec_data imx51_fec_data __initconst = | 45 | const struct imx_fec_data imx51_fec_data __initconst = |
| 42 | imx_fec_data_entry_single(MX51); | 46 | imx_fec_data_entry_single(MX51, "imx27-fec"); |
| 43 | #endif | 47 | #endif |
| 44 | 48 | ||
| 45 | #ifdef CONFIG_SOC_IMX53 | 49 | #ifdef CONFIG_SOC_IMX53 |
| 50 | /* i.mx53 has the i.mx25 type fec */ | ||
| 46 | const struct imx_fec_data imx53_fec_data __initconst = | 51 | const struct imx_fec_data imx53_fec_data __initconst = |
| 47 | imx_fec_data_entry_single(MX53); | 52 | imx_fec_data_entry_single(MX53, "imx25-fec"); |
| 48 | #endif | 53 | #endif |
| 49 | 54 | ||
| 50 | struct platform_device *__init imx_add_fec( | 55 | struct platform_device *__init imx_add_fec( |
| @@ -63,7 +68,7 @@ struct platform_device *__init imx_add_fec( | |||
| 63 | }, | 68 | }, |
| 64 | }; | 69 | }; |
| 65 | 70 | ||
| 66 | return imx_add_platform_device_dmamask("fec", 0, | 71 | return imx_add_platform_device_dmamask(data->devid, 0, |
| 67 | res, ARRAY_SIZE(res), | 72 | res, ARRAY_SIZE(res), |
| 68 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); | 73 | pdata, sizeof(*pdata), DMA_BIT_MASK(32)); |
| 69 | } | 74 | } |
diff --git a/arch/arm/plat-mxc/include/mach/devices-common.h b/arch/arm/plat-mxc/include/mach/devices-common.h index bf93820ab61c..6ac24501426d 100644 --- a/arch/arm/plat-mxc/include/mach/devices-common.h +++ b/arch/arm/plat-mxc/include/mach/devices-common.h | |||
| @@ -30,6 +30,7 @@ static inline struct platform_device *imx_add_platform_device( | |||
| 30 | 30 | ||
| 31 | #include <linux/fec.h> | 31 | #include <linux/fec.h> |
| 32 | struct imx_fec_data { | 32 | struct imx_fec_data { |
| 33 | const char *devid; | ||
| 33 | resource_size_t iobase; | 34 | resource_size_t iobase; |
| 34 | resource_size_t irq; | 35 | resource_size_t irq; |
| 35 | }; | 36 | }; |
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index 5b631fe74738..ed137bbbcf61 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c | |||
| @@ -66,17 +66,28 @@ | |||
| 66 | #define FEC_QUIRK_ENET_MAC (1 << 0) | 66 | #define FEC_QUIRK_ENET_MAC (1 << 0) |
| 67 | /* Controller needs driver to swap frame */ | 67 | /* Controller needs driver to swap frame */ |
| 68 | #define FEC_QUIRK_SWAP_FRAME (1 << 1) | 68 | #define FEC_QUIRK_SWAP_FRAME (1 << 1) |
| 69 | /* Controller uses gasket */ | ||
| 70 | #define FEC_QUIRK_USE_GASKET (1 << 2) | ||
| 69 | 71 | ||
| 70 | static struct platform_device_id fec_devtype[] = { | 72 | static struct platform_device_id fec_devtype[] = { |
| 71 | { | 73 | { |
| 74 | /* keep it for coldfire */ | ||
| 72 | .name = DRIVER_NAME, | 75 | .name = DRIVER_NAME, |
