Browse Source

spidernet: spidernet: add support for Celleb

This patch adds or changes some HW specific settings for spider_net on
Celleb.

Signed-off-by: Kou Ishizaki <kou.ishizaki@toshiba.co.jp>
Signed-off-by: Linas Vepstas <linas@austin.ibm.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Kou Ishizaki 18 years ago
parent
commit
3342cf0e59
3 changed files with 12 additions and 4 deletions
  1. 1 1
      drivers/net/Kconfig
  2. 7 1
      drivers/net/spider_net.c
  3. 4 2
      drivers/net/spider_net.h

+ 1 - 1
drivers/net/Kconfig

@@ -2245,7 +2245,7 @@ config BNX2
 
 
 config SPIDER_NET
 config SPIDER_NET
 	tristate "Spider Gigabit Ethernet driver"
 	tristate "Spider Gigabit Ethernet driver"
-	depends on PCI && PPC_IBM_CELL_BLADE
+	depends on PCI && (PPC_IBM_CELL_BLADE || PPC_CELLEB)
 	select FW_LOADER
 	select FW_LOADER
 	help
 	help
 	  This driver supports the Gigabit Ethernet chips present on the
 	  This driver supports the Gigabit Ethernet chips present on the

+ 7 - 1
drivers/net/spider_net.c

@@ -1,7 +1,8 @@
 /*
 /*
- * Network device driver for Cell Processor-Based Blade
+ * Network device driver for Cell Processor-Based Blade and Celleb platform
  *
  *
  * (C) Copyright IBM Corp. 2005
  * (C) Copyright IBM Corp. 2005
+ * (C) Copyright 2006 TOSHIBA CORPORATION
  *
  *
  * Authors : Utz Bacher <utz.bacher@de.ibm.com>
  * Authors : Utz Bacher <utz.bacher@de.ibm.com>
  *           Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
  *           Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
@@ -1605,6 +1606,11 @@ spider_net_init_card(struct spider_net_card *card)
 
 
 	spider_net_write_reg(card, SPIDER_NET_CKRCTRL,
 	spider_net_write_reg(card, SPIDER_NET_CKRCTRL,
 			     SPIDER_NET_CKRCTRL_RUN_VALUE);
 			     SPIDER_NET_CKRCTRL_RUN_VALUE);
+
+	/* trigger ETOMOD signal */
+	spider_net_write_reg(card, SPIDER_NET_GMACOPEMD,
+		spider_net_read_reg(card, SPIDER_NET_GMACOPEMD) | 0x4);
+
 }
 }
 
 
 /**
 /**

+ 4 - 2
drivers/net/spider_net.h

@@ -1,7 +1,8 @@
 /*
 /*
- * Network device driver for Cell Processor-Based Blade
+ * Network device driver for Cell Processor-Based Blade and Celleb platform
  *
  *
  * (C) Copyright IBM Corp. 2005
  * (C) Copyright IBM Corp. 2005
+ * (C) Copyright 2006 TOSHIBA CORPORATION
  *
  *
  * Authors : Utz Bacher <utz.bacher@de.ibm.com>
  * Authors : Utz Bacher <utz.bacher@de.ibm.com>
  *           Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
  *           Jens Osterkamp <Jens.Osterkamp@de.ibm.com>
@@ -184,7 +185,8 @@ extern char spider_net_driver_name[];
 
 
 /* pause frames: automatic, no upper retransmission count */
 /* pause frames: automatic, no upper retransmission count */
 /* outside loopback mode: ETOMOD signal dont matter, not connected */
 /* outside loopback mode: ETOMOD signal dont matter, not connected */
-#define SPIDER_NET_OPMODE_VALUE		0x00000063
+/* ETOMOD signal is brought to PHY reset. bit 2 must be 1 in Celleb */
+#define SPIDER_NET_OPMODE_VALUE		0x00000067
 /*#define SPIDER_NET_OPMODE_VALUE		0x001b0062*/
 /*#define SPIDER_NET_OPMODE_VALUE		0x001b0062*/
 #define SPIDER_NET_LENLMT_VALUE		0x00000908
 #define SPIDER_NET_LENLMT_VALUE		0x00000908