[PATCH 5/12] spidernet: spidernet: add support for Celleb

From: Linas Vepstas
Date: Tue Feb 20 2007 - 17:36:47 EST



From: Kou Ishizaki <kou.ishizaki@xxxxxxxxxxxxx>

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

Signed-off-by: Kou Ishizaki <kou.ishizaki@xxxxxxxxxxxxx>
Signed-off-by: Linas Vepstas <linas@xxxxxxxxxxxxxx>

----
drivers/net/Kconfig | 2 +-
drivers/net/spider_net.c | 8 +++++++-
drivers/net/spider_net.h | 6 ++++--
3 files changed, 12 insertions(+), 4 deletions(-)

Index: linux-2.6.20-git16/drivers/net/Kconfig
===================================================================
--- linux-2.6.20-git16.orig/drivers/net/Kconfig 2007-02-20 14:23:59.000000000 -0600
+++ linux-2.6.20-git16/drivers/net/Kconfig 2007-02-20 15:02:38.000000000 -0600
@@ -2245,7 +2245,7 @@ config BNX2

config SPIDER_NET
tristate "Spider Gigabit Ethernet driver"
- depends on PCI && PPC_IBM_CELL_BLADE
+ depends on PCI && (PPC_IBM_CELL_BLADE || PPC_CELLEB)
select FW_LOADER
help
This driver supports the Gigabit Ethernet chips present on the
Index: linux-2.6.20-git16/drivers/net/spider_net.h
===================================================================
--- linux-2.6.20-git16.orig/drivers/net/spider_net.h 2007-02-20 15:02:32.000000000 -0600
+++ linux-2.6.20-git16/drivers/net/spider_net.h 2007-02-20 15:02:38.000000000 -0600
@@ -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 2006 TOSHIBA CORPORATION
*
* Authors : Utz Bacher <utz.bacher@xxxxxxxxxx>
* Jens Osterkamp <Jens.Osterkamp@xxxxxxxxxx>
@@ -184,7 +185,8 @@ extern char spider_net_driver_name[];

/* pause frames: automatic, no upper retransmission count */
/* 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_LENLMT_VALUE 0x00000908

Index: linux-2.6.20-git16/drivers/net/spider_net.c
===================================================================
--- linux-2.6.20-git16.orig/drivers/net/spider_net.c 2007-02-20 15:02:36.000000000 -0600
+++ linux-2.6.20-git16/drivers/net/spider_net.c 2007-02-20 15:02:38.000000000 -0600
@@ -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 2006 TOSHIBA CORPORATION
*
* Authors : Utz Bacher <utz.bacher@xxxxxxxxxx>
* Jens Osterkamp <Jens.Osterkamp@xxxxxxxxxx>
@@ -1605,6 +1606,11 @@ spider_net_init_card(struct spider_net_c

spider_net_write_reg(card, SPIDER_NET_CKRCTRL,
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);
+
}

/**
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/