diff options
author | Steve Glendinning <steve.glendinning@smsc.com> | 2009-01-20 08:22:29 -0500 |
---|---|---|
committer | Steve Glendinning <steve.glendinning@smsc.com> | 2009-04-02 13:21:15 -0400 |
commit | 4353318ed5fe95debb8a80f289ebf1c03244cf9c (patch) | |
tree | 69fe58c3c6c9230b0c29332e43c4aca25f56f5a9 /arch/arm/mach-mx3/pcm037.c | |
parent | 833bb3046b6cb320e775ea2160ddca87d53260d5 (diff) |
arm: convert pcm037 platform to use smsc911x
Updated to also specify SMSC911X_FORCE_INTERNAL_PHY, as the external phy
detection hardware strap is incorrectly pulled high on this platform.
Signed-off-by: Steve Glendinning <steve.glendinning@smsc.com>
Acked-by: Sascha Hauer <s.hauer@pengutronix.de>
Tested-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'arch/arm/mach-mx3/pcm037.c')
-rw-r--r-- | arch/arm/mach-mx3/pcm037.c | 23 |
1 files changed, 13 insertions, 10 deletions
diff --git a/arch/arm/mach-mx3/pcm037.c b/arch/arm/mach-mx3/pcm037.c index 5fce022114de..c3648eff5137 100644 --- a/arch/arm/mach-mx3/pcm037.c +++ b/arch/arm/mach-mx3/pcm037.c | |||
@@ -24,7 +24,7 @@ | |||
24 | #include <linux/mtd/plat-ram.h> | 24 | #include <linux/mtd/plat-ram.h> |
25 | #include <linux/memory.h> | 25 | #include <linux/memory.h> |
26 | #include <linux/gpio.h> | 26 | #include <linux/gpio.h> |
27 | #include <linux/smc911x.h> | 27 | #include <linux/smsc911x.h> |
28 | #include <linux/interrupt.h> | 28 | #include <linux/interrupt.h> |
29 | #include <linux/i2c.h> | 29 | #include <linux/i2c.h> |
30 | #include <linux/i2c/at24.h> | 30 | #include <linux/i2c/at24.h> |
@@ -70,7 +70,7 @@ static struct imxuart_platform_data uart_pdata = { | |||
70 | .flags = IMXUART_HAVE_RTSCTS, | 70 | .flags = IMXUART_HAVE_RTSCTS, |
71 | }; | 71 | }; |
72 | 72 | ||
73 | static struct resource smc911x_resources[] = { | 73 | static struct resource smsc911x_resources[] = { |
74 | [0] = { | 74 | [0] = { |
75 | .start = CS1_BASE_ADDR + 0x300, | 75 | .start = CS1_BASE_ADDR + 0x300, |
76 | .end = CS1_BASE_ADDR + 0x300 + SZ_64K - 1, | 76 | .end = CS1_BASE_ADDR + 0x300 + SZ_64K - 1, |
@@ -79,22 +79,25 @@ static struct resource smc911x_resources[] = { | |||
79 | [1] = { | 79 | [1] = { |
80 | .start = IOMUX_TO_IRQ(MX31_PIN_GPIO3_1), | 80 | .start = IOMUX_TO_IRQ(MX31_PIN_GPIO3_1), |
81 | .end = IOMUX_TO_IRQ(MX31_PIN_GPIO3_1), | 81 | .end = IOMUX_TO_IRQ(MX31_PIN_GPIO3_1), |
82 | .flags = IORESOURCE_IRQ, | 82 | .flags = IORESOURCE_IRQ | IORESOURCE_IRQ_LOWLEVEL, |
83 | }, | 83 | }, |
84 | }; | 84 | }; |
85 | 85 | ||
86 | static struct smc911x_platdata smc911x_info = { | 86 | static struct smsc911x_platform_config smsc911x_info = { |
87 | .flags = SMC911X_USE_32BIT, | 87 | .flags = SMSC911X_USE_32BIT | SMSC911X_FORCE_INTERNAL_PHY | |
88 | .irq_flags = IRQF_SHARED | IRQF_TRIGGER_LOW, | 88 | SMSC911X_SAVE_MAC_ADDRESS, |
89 | .irq_polarity = SMSC911X_IRQ_POLARITY_ACTIVE_LOW, | ||
90 | .irq_type = SMSC911X_IRQ_TYPE_OPEN_DRAIN, | ||
91 | .phy_interface = PHY_INTERFACE_MODE_MII, | ||
89 | }; | 92 | }; |
90 | 93 | ||
91 | static struct platform_device pcm037_eth = { | 94 | static struct platform_device pcm037_eth = { |
92 | .name = "smc911x", | 95 | .name = "smsc911x", |
93 | .id = -1, | 96 | .id = -1, |
94 | .num_resources = ARRAY_SIZE(smc911x_resources), | 97 | .num_resources = ARRAY_SIZE(smsc911x_resources), |
95 | .resource = smc911x_resources, | 98 | .resource = smsc911x_resources, |
96 | .dev = { | 99 | .dev = { |
97 | .platform_data = &smc911x_info, | 100 | .platform_data = &smsc911x_info, |
98 | }, | 101 | }, |
99 | }; | 102 | }; |
100 | 103 | ||