浏览代码

OMAP: enable smc911x support for LDP platform

The following patch enables SMC911x support to work on the OMAP LDP
board.  Although the SMC911x driver will eventually be obsoleted, the
smsc911x patches are rather invasive for the -rc kernels.

Rather than risk destablising smsc911x, this simpler patch is preferred
to allow the network interface to work.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Acked-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Russell King 16 年之前
父节点
当前提交
07555c9880
共有 2 个文件被更改,包括 13 次插入1 次删除
  1. 1 1
      arch/arm/mach-omap2/board-ldp.c
  2. 12 0
      drivers/net/smc911x.h

+ 1 - 1
arch/arm/mach-omap2/board-ldp.c

@@ -81,7 +81,7 @@ static inline void __init ldp_init_smc911x(void)
 	}
 	}
 
 
 	ldp_smc911x_resources[0].start = cs_mem_base + 0x0;
 	ldp_smc911x_resources[0].start = cs_mem_base + 0x0;
-	ldp_smc911x_resources[0].end   = cs_mem_base + 0xf;
+	ldp_smc911x_resources[0].end   = cs_mem_base + 0xff;
 	udelay(100);
 	udelay(100);
 
 
 	eth_gpio = LDP_SMC911X_GPIO;
 	eth_gpio = LDP_SMC911X_GPIO;

+ 12 - 0
drivers/net/smc911x.h

@@ -42,6 +42,16 @@
   #define SMC_USE_16BIT		0
   #define SMC_USE_16BIT		0
   #define SMC_USE_32BIT		1
   #define SMC_USE_32BIT		1
   #define SMC_IRQ_SENSE		IRQF_TRIGGER_LOW
   #define SMC_IRQ_SENSE		IRQF_TRIGGER_LOW
+#elif defined(CONFIG_ARCH_OMAP34XX)
+  #define SMC_USE_16BIT		0
+  #define SMC_USE_32BIT		1
+  #define SMC_IRQ_SENSE		IRQF_TRIGGER_LOW
+  #define SMC_MEM_RESERVED	1
+#elif defined(CONFIG_ARCH_OMAP24XX)
+  #define SMC_USE_16BIT		0
+  #define SMC_USE_32BIT		1
+  #define SMC_IRQ_SENSE		IRQF_TRIGGER_LOW
+  #define SMC_MEM_RESERVED	1
 #else
 #else
 /*
 /*
  * Default configuration
  * Default configuration
@@ -675,6 +685,7 @@ smc_pxa_dma_outsl(struct smc911x_local *lp, u_long physaddr,
 #define CHIP_9116	0x0116
 #define CHIP_9116	0x0116
 #define CHIP_9117	0x0117
 #define CHIP_9117	0x0117
 #define CHIP_9118	0x0118
 #define CHIP_9118	0x0118
+#define CHIP_9211	0x9211
 #define CHIP_9215	0x115A
 #define CHIP_9215	0x115A
 #define CHIP_9217	0x117A
 #define CHIP_9217	0x117A
 #define CHIP_9218	0x118A
 #define CHIP_9218	0x118A
@@ -689,6 +700,7 @@ static const struct chip_id chip_ids[] =  {
 	{ CHIP_9116, "LAN9116" },
 	{ CHIP_9116, "LAN9116" },
 	{ CHIP_9117, "LAN9117" },
 	{ CHIP_9117, "LAN9117" },
 	{ CHIP_9118, "LAN9118" },
 	{ CHIP_9118, "LAN9118" },
+	{ CHIP_9211, "LAN9211" },
 	{ CHIP_9215, "LAN9215" },
 	{ CHIP_9215, "LAN9215" },
 	{ CHIP_9217, "LAN9217" },
 	{ CHIP_9217, "LAN9217" },
 	{ CHIP_9218, "LAN9218" },
 	{ CHIP_9218, "LAN9218" },