aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/fec.c
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2009-01-28 18:03:10 -0500
committerDavid S. Miller <davem@davemloft.net>2009-02-01 03:58:26 -0500
commit196719ecec0c526de273dcb902f0be956a193232 (patch)
treefc134667f844daf2a4015621d0f881e887e99d54 /drivers/net/fec.c
parentccdc4f198193eb4956b8dbc00745270525c4cd6e (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.c15
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);