aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlbert Aribaud <albert.aribaud@free.fr>2010-07-12 22:24:29 +0200
committerBen Warren <biggerbadderben@gmail.com>2010-07-12 23:40:31 -0700
commitd3c9ffd07dbf76b7aff678996374be2352628aa0 (patch)
treeede57368e8de99d0bb3f3dae5f4705f16eabfe24
parentd44265ad783f1896685db04faec148e32e918cda (diff)
downloadu-boot-d3c9ffd07dbf76b7aff678996374be2352628aa0.zip
u-boot-d3c9ffd07dbf76b7aff678996374be2352628aa0.tar.gz
u-boot-d3c9ffd07dbf76b7aff678996374be2352628aa0.tar.bz2
mvgbe: add support for orion5x GbE controller
Add definitions and initialization in orion5x for mvgbe. Add orion5x in mvgbe SoC includes. Signed-off-by: Albert Aribaud <albert.aribaud@free.fr> Acked-by: Prafulla Wadaskar <prafulla@marvell.com> Signed-off-by: Ben Warren <biggerbadderben@gmail.com>
-rw-r--r--arch/arm/cpu/arm926ejs/orion5x/cpu.c8
-rw-r--r--arch/arm/include/asm/arch-kirkwood/kirkwood.h6
-rw-r--r--arch/arm/include/asm/arch-orion5x/orion5x.h4
-rw-r--r--drivers/net/mvgbe.c2
-rw-r--r--drivers/net/mvgbe.h2
5 files changed, 18 insertions, 4 deletions
diff --git a/arch/arm/cpu/arm926ejs/orion5x/cpu.c b/arch/arm/cpu/arm926ejs/orion5x/cpu.c
index 03c6d06..f3c1e21 100644
--- a/arch/arm/cpu/arm926ejs/orion5x/cpu.c
+++ b/arch/arm/cpu/arm926ejs/orion5x/cpu.c
@@ -268,3 +268,11 @@ int arch_misc_init(void)
return 0;
}
#endif /* CONFIG_ARCH_MISC_INIT */
+
+#ifdef CONFIG_MVGBE
+int cpu_eth_init(bd_t *bis)
+{
+ mvgbe_initialize(bis);
+ return 0;
+}
+#endif
diff --git a/arch/arm/include/asm/arch-kirkwood/kirkwood.h b/arch/arm/include/asm/arch-kirkwood/kirkwood.h
index 5c2586b..9edb0be 100644
--- a/arch/arm/include/asm/arch-kirkwood/kirkwood.h
+++ b/arch/arm/include/asm/arch-kirkwood/kirkwood.h
@@ -60,8 +60,10 @@
#define KW_EGIGA0_BASE (KW_REGISTER(0x72000))
#define KW_EGIGA1_BASE (KW_REGISTER(0x76000))
-#define MVGBE0_BASE KW_EGIGA0_BASE
-#define MVGBE1_BASE KW_EGIGA1_BASE
+/* Kirkwood GbE controller has two ports */
+#define MAX_MVGBE_DEVS 2
+#define MVGBE0_BASE KW_EGIGA0_BASE
+#define MVGBE1_BASE KW_EGIGA1_BASE
#if defined (CONFIG_KW88F6281)
#include <asm/arch/kw88f6281.h>
diff --git a/arch/arm/include/asm/arch-orion5x/orion5x.h b/arch/arm/include/asm/arch-orion5x/orion5x.h
index 4008c84..d257b66 100644
--- a/arch/arm/include/asm/arch-orion5x/orion5x.h
+++ b/arch/arm/include/asm/arch-orion5x/orion5x.h
@@ -56,6 +56,10 @@
#define ORION5X_USB20_PORT1_BASE (ORION5X_REGISTER(0xA0000))
#define ORION5X_EGIGA_BASE (ORION5X_REGISTER(0x72000))
+/* Orion5x GbE controller has a single port */
+#define MAX_MVGBE_DEVS 1
+#define MVGBE0_BASE ORION5X_EGIGA_BASE
+
#define CONFIG_MAX_RAM_BANK_SIZE (64*1024*1024)
/* include here SoC variants. 5181, 5281, 6183 should go here when
diff --git a/drivers/net/mvgbe.c b/drivers/net/mvgbe.c
index e44352c..cad4023 100644
--- a/drivers/net/mvgbe.c
+++ b/drivers/net/mvgbe.c
@@ -38,6 +38,8 @@
#if defined(CONFIG_KIRKWOOD)
#include <asm/arch/kirkwood.h>
+#elif defined(CONFIG_ORION5X)
+#include <asm/arch/orion5x.h>
#endif
#include "mvgbe.h"
diff --git a/drivers/net/mvgbe.h b/drivers/net/mvgbe.h
index 7db5af4..3de98d0 100644
--- a/drivers/net/mvgbe.h
+++ b/drivers/net/mvgbe.h
@@ -28,8 +28,6 @@
#ifndef __MVGBE_H__
#define __MVGBE_H__
-#define MAX_MVGBE_DEVS 2 /*controller has two ports */
-
/* PHY_BASE_ADR is board specific and can be configured */
#if defined (CONFIG_PHY_BASE_ADR)
#define PHY_BASE_ADR CONFIG_PHY_BASE_ADR