diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2009-01-28 18:03:10 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-02-01 03:58:26 -0500 |
commit | 196719ecec0c526de273dcb902f0be956a193232 (patch) | |
tree | fc134667f844daf2a4015621d0f881e887e99d54 /drivers/net/fec.c | |
parent | ccdc4f198193eb4956b8dbc00745270525c4cd6e (diff) |
fec: Add support for Freescale MX27
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Acked-by: Greg Ungerer <gerg@uclinux.org>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/fec.c')
-rw-r--r-- | drivers/net/fec.c | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/drivers/net/fec.c b/drivers/net/fec.c index a17dc6af30c3..7631062cd44d 100644 --- a/drivers/net/fec.c +++ b/drivers/net/fec.c | |||
@@ -38,10 +38,14 @@ | |||
38 | #include <linux/bitops.h> | 38 | #include <linux/bitops.h> |
39 | #include <linux/io.h> | 39 | #include <linux/io.h> |
40 | #include <linux/irq.h> | 40 | #include <linux/irq.h> |
41 | #include <linux/clk.h> | ||
41 | 42 | ||
42 | #include <asm/cacheflush.h> | 43 | #include <asm/cacheflush.h> |
44 | |||
45 | #ifndef CONFIG_ARCH_MXC | ||
43 | #include <asm/coldfire.h> | 46 | #include <asm/coldfire.h> |
44 | #include <asm/mcfsim.h> | 47 | #include <asm/mcfsim.h> |
48 | #endif | ||
45 | 49 | ||
46 | #include "fec.h" | 50 | #include "fec.h" |
47 | 51 | ||
@@ -51,6 +55,13 @@ | |||
51 | #define FEC_MAX_PORTS 1 | 55 | #define FEC_MAX_PORTS 1 |
52 | #endif | 56 | #endif |
53 | 57 | ||
58 | #ifdef CONFIG_ARCH_MXC | ||
59 | #include <mach/hardware.h> | ||
60 | #define FEC_ALIGNMENT 0xf | ||
61 | #else | ||
62 | #define FEC_ALIGNMENT 0x3 | ||
63 | #endif | ||
64 | |||
54 | #if defined(CONFIG_M5272) | 65 | #if defined(CONFIG_M5272) |
55 | #define HAVE_mii_link_interrupt | 66 | #define HAVE_mii_link_interrupt |
56 | #endif | 67 | #endif |
@@ -158,7 +169,7 @@ typedef struct { | |||
158 | * account when setting it. | 169 | * account when setting it. |
159 | */ | 170 | */ |
160 | #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ | 171 | #if defined(CONFIG_M523x) || defined(CONFIG_M527x) || defined(CONFIG_M528x) || \ |
161 | defined(CONFIG_M520x) || defined(CONFIG_M532x) | 172 | defined(CONFIG_M520x) || defined(CONFIG_M532x) || defined(CONFIG_ARCH_MXC) |
162 | #define OPT_FRAME_SIZE (PKT_MAXBUF_SIZE << 16) | 173 | #define OPT_FRAME_SIZE (PKT_MAXBUF_SIZE << 16) |
163 | #else | 174 | #else |
164 | #define OPT_FRAME_SIZE 0 | 175 | #define OPT_FRAME_SIZE 0 |
@@ -339,7 +350,7 @@ fec_enet_start_xmit(struct sk_buff *skb, struct net_device *dev) | |||
339 | * 4-byte boundaries. Use bounce buffers to copy data | 350 | * 4-byte boundaries. Use bounce buffers to copy data |
340 | * and get it aligned. Ugh. | 351 | * and get it aligned. Ugh. |
341 | */ | 352 | */ |
342 | if (bdp->cbd_bufaddr & 0x3) { | 353 | if (bdp->cbd_bufaddr & FEC_ALIGNMENT) { |
343 | unsigned int index; | 354 | unsigned int index; |
344 | index = bdp - fep->tx_bd_base; | 355 | index = bdp - fep->tx_bd_base; |
345 | memcpy(fep->tx_bounce[index], (void *)skb->data, skb->len); | 356 | memcpy(fep->tx_bounce[index], (void *)skb->data, skb->len); |