From 39d0ce06599c73e6e5b8d8c43c64e5272694cbbc Mon Sep 17 00:00:00 2001
From: Jiandong Zheng <jdzheng@broadcom.com>
Date: Wed, 15 Jul 2015 16:28:14 -0700
Subject: [PATCH] arm: bcmcygnus: Enable Ethernet support

Enable BCM SF2 ethernet and PHY for BCM Cygnus SoC

Signed-off-by: Jiandong Zheng <jdzheng@broadcom.com>
Signed-off-by: Steve Rae <srae@broadcom.com>
Acked-by: Joe Hershberger <joe.hershberger@ni.com>
---
 arch/arm/include/asm/arch-bcmcygnus/configs.h | 11 +++++++++++
 board/broadcom/bcm_ep/board.c                 | 11 +++++++++++
 2 files changed, 22 insertions(+)

diff --git a/arch/arm/include/asm/arch-bcmcygnus/configs.h b/arch/arm/include/asm/arch-bcmcygnus/configs.h
index 5354637cf0..3c0716082a 100644
--- a/arch/arm/include/asm/arch-bcmcygnus/configs.h
+++ b/arch/arm/include/asm/arch-bcmcygnus/configs.h
@@ -22,4 +22,15 @@
 #define CONFIG_CONS_INDEX		3
 #define CONFIG_SYS_NS16550_COM3		0x18023000
 
+/* Ethernet */
+#define CONFIG_BCM_SF2_ETH
+#define CONFIG_BCM_SF2_ETH_GMAC
+
+#define CONFIG_PHYLIB
+#define CONFIG_PHY_BROADCOM
+#define CONFIG_PHY_RESET_DELAY 10000 /* PHY reset delay in us*/
+
+#define CONFIG_CMD_PING
+#define CONFIG_CMD_MII
+
 #endif /* __ARCH_CONFIGS_H */
diff --git a/board/broadcom/bcm_ep/board.c b/board/broadcom/bcm_ep/board.c
index eaad0b3d98..c28b203cea 100644
--- a/board/broadcom/bcm_ep/board.c
+++ b/board/broadcom/bcm_ep/board.c
@@ -7,6 +7,7 @@
 #include <common.h>
 #include <asm/io.h>
 #include <config.h>
+#include <netdev.h>
 #include <asm/system.h>
 #include <asm/iproc-common/armpll.h>
 
@@ -67,3 +68,13 @@ void smp_waitloop(unsigned previous_address)
 {
 }
 #endif
+
+#ifdef CONFIG_BCM_SF2_ETH
+int board_eth_init(bd_t *bis)
+{
+	int rc = -1;
+	printf("Registering BCM sf2 eth\n");
+	rc = bcm_sf2_eth_register(bis, 0);
+	return rc;
+}
+#endif
-- 
2.39.5