summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorRob Herring <r.herring@freescale.com>2010-04-07 13:26:04 -0500
committerRob Herring <r.herring@freescale.com>2010-05-05 17:41:35 -0500
commitebc765a5c1f869ab963bc4e044cab457fc47e3b9 (patch)
tree33035f230bc92d8bd3ef51cf724767e75a15cfef /arch
parent7c4f9738fe61206d6c1512fdb534ae72447d1c81 (diff)
ENGR00122142-2 imx: fix platforms using fec RMII mode
Add FEC phy interface mode platform data for platforms using RMII. Signed-off-by: Rob Herring <r.herring@freescale.com>
Diffstat (limited to 'arch')
-rw-r--r--arch/arm/mach-mx25/mx25_3stack.c8
-rw-r--r--arch/arm/mach-mx5/mx53_evk.c7
2 files changed, 14 insertions, 1 deletions
diff --git a/arch/arm/mach-mx25/mx25_3stack.c b/arch/arm/mach-mx25/mx25_3stack.c
index 30b4cbd178bd..6ccf1fa72d6c 100644
--- a/arch/arm/mach-mx25/mx25_3stack.c
+++ b/arch/arm/mach-mx25/mx25_3stack.c
@@ -22,6 +22,7 @@
#include <linux/i2c.h>
#include <linux/platform_device.h>
#include <linux/smsc911x.h>
+#include <linux/fec.h>
#if defined(CONFIG_MTD) || defined(CONFIG_MTD_MODULE)
#include <linux/mtd/mtd.h>
#include <linux/mtd/map.h>
@@ -462,9 +463,16 @@ static struct resource mxc_fec_resources[] = {
},
};
+static struct fec_platform_data fec_data = {
+ .phy = PHY_INTERFACE_MODE_RMII,
+};
+
struct platform_device mxc_fec_device = {
.name = "fec",
.id = 0,
+ .dev = {
+ .platform_data = &fec_data,
+ },
.num_resources = ARRAY_SIZE(mxc_fec_resources),
.resource = mxc_fec_resources,
};
diff --git a/arch/arm/mach-mx5/mx53_evk.c b/arch/arm/mach-mx5/mx53_evk.c
index 98fcfdfd6eec..4cc03aa56068 100644
--- a/arch/arm/mach-mx5/mx53_evk.c
+++ b/arch/arm/mach-mx5/mx53_evk.c
@@ -43,6 +43,7 @@
#include <linux/ipu.h>
#include <linux/mxcfb.h>
#include <linux/pwm_backlight.h>
+#include <linux/fec.h>
#include <mach/common.h>
#include <mach/hardware.h>
#include <asm/irq.h>
@@ -198,6 +199,10 @@ static struct mxc_vpu_platform_data mxc_vpu_data = {
.reset = mx5_vpu_reset,
};
+static struct fec_platform_data fec_data = {
+ .phy = PHY_INTERFACE_MODE_RMII,
+};
+
extern void mx53_evk_gpio_spi_chipselect_active(int cspi_mode, int status,
int chipselect);
extern void mx53_evk_gpio_spi_chipselect_inactive(int cspi_mode, int status,
@@ -696,7 +701,7 @@ static void __init mxc_board_init(void)
/*
mxc_register_device(&mxc_alsa_spdif_device, &mxc_spdif_data);
*/
- mxc_register_device(&mxc_fec_device, NULL);
+ mxc_register_device(&mxc_fec_device, &fec_data);
spi_register_board_info(mxc_dataflash_device,
ARRAY_SIZE(mxc_dataflash_device));
i2c_register_board_info(0, mxc_i2c0_board_info,