summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2012-12-11 12:12:09 +0100
committerSascha Hauer <s.hauer@pengutronix.de>2012-12-12 21:01:33 +0100
commitec7faef3ba68b3ff9038e8f6c6dbe1cd870aca9d (patch)
tree7af3894a482c55ece70a6f83cbcb374187a965b1
parent679f5277ff535dbaac710e317e9770269ef3501d (diff)
downloadbarebox-ec7faef3ba68b3ff9038e8f6c6dbe1cd870aca9d.tar.gz
barebox-ec7faef3ba68b3ff9038e8f6c6dbe1cd870aca9d.tar.xz
ARM i.MX31 pcm037: Force internal phy
The smsc911x has a bootstrap pin for detecting an external phy. Unfortunately this is pulled into the wrong direction on the pcm037 board, so force internal phy with platform data. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r--arch/arm/boards/pcm037/pcm037.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/boards/pcm037/pcm037.c b/arch/arm/boards/pcm037/pcm037.c
index ff32e3541f..b8e55a0b3f 100644
--- a/arch/arm/boards/pcm037/pcm037.c
+++ b/arch/arm/boards/pcm037/pcm037.c
@@ -31,6 +31,7 @@
#include <mach/gpio.h>
#include <mach/weim.h>
#include <io.h>
+#include <smc911x.h>
#include <asm/mmu.h>
#include <partition.h>
#include <generated/mach-types.h>
@@ -153,6 +154,10 @@ static int pcm037_mmu_init(void)
}
postmmu_initcall(pcm037_mmu_init);
+static struct smc911x_plat smsc9217_pdata = {
+ .flags = SMC911X_FORCE_INTERNAL_PHY,
+};
+
static int imx31_devices_init(void)
{
/* CS0: Nor Flash */
@@ -193,7 +198,7 @@ static int imx31_devices_init(void)
* GPIO3, data width is 16 bit
*/
add_generic_device("smc911x", DEVICE_ID_DYNAMIC, NULL, MX31_CS1_BASE_ADDR,
- MX31_CS1_SIZE, IORESOURCE_MEM, NULL);
+ MX31_CS1_SIZE, IORESOURCE_MEM, &smsc9217_pdata);
#ifdef CONFIG_USB
pcm037_usb_init();