From 1e25f957c845878bf3f71425f2f5d2baef897470 Mon Sep 17 00:00:00 2001 From: Stefan Roese Date: Thu, 20 Oct 2005 16:34:28 +0200 Subject: Add NetConsole Support for AMCC eval boards Patch by Stefan Roese, 20 Oct 2005 --- CHANGELOG | 3 +++ cpu/ppc4xx/4xx_enet.c | 23 ++++++++++++++++++----- include/configs/bamboo.h | 4 +++- include/configs/bubinga.h | 2 ++ include/configs/ebony.h | 2 ++ include/configs/ocotea.h | 4 +++- include/configs/walnut.h | 3 +++ include/configs/yellowstone.h | 4 +++- include/configs/yosemite.h | 4 +++- 9 files changed, 40 insertions(+), 9 deletions(-) diff --git a/CHANGELOG b/CHANGELOG index 7e6cf36711..2dd56169ba 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Changes for U-Boot 1.1.4: ====================================================================== +* Add NetConsole Support for AMCC eval boards + Patch by Stefan Roese, 20 Oct 2005 + * Fix NetConsole support on 4xx (only print eth link on 1st transfer) Patch by Stefan Roese, 18 Oct 2005 diff --git a/cpu/ppc4xx/4xx_enet.c b/cpu/ppc4xx/4xx_enet.c index 859b72df4f..753b2be0c5 100644 --- a/cpu/ppc4xx/4xx_enet.c +++ b/cpu/ppc4xx/4xx_enet.c @@ -100,6 +100,10 @@ #error "CONFIG_MII has to be defined!" #endif +#if defined(CONFIG_NETCONSOLE) && !defined(CONFIG_NET_MULTI) +#error "CONFIG_NET_MULTI has to be defined for NetConsole" +#endif + #define EMAC_RESET_TIMEOUT 1000 /* 1000 ms reset timeout */ #define PHY_AUTONEGOTIATE_TIMEOUT 4000 /* 4000 ms autonegotiate timeout */ @@ -111,10 +115,6 @@ #define ENET_MAX_MTU PKTSIZE #define ENET_MAX_MTU_ALIGNED PKTSIZE_ALIGN -/* define the number of channels implemented */ -#define EMAC_RXCHL EMAC_NUM_DEV -#define EMAC_TXCHL EMAC_NUM_DEV - /*-----------------------------------------------------------------------------+ * Defines for MAL/EMAC interrupt conditions as reported in the UIC (Universal * Interrupt Controller). @@ -142,6 +142,19 @@ static uint32_t mal_ier; struct eth_device *emac0_dev = NULL; #endif +/* + * Get count of EMAC devices (doesn't have to be the max. possible number + * supported by the cpu) + */ +#if defined(CONFIG_HAS_ETH3) +#define LAST_EMAC_NUM 4 +#elif defined(CONFIG_HAS_ETH2) +#define LAST_EMAC_NUM 3 +#elif defined(CONFIG_HAS_ETH1) +#define LAST_EMAC_NUM 2 +#else +#define LAST_EMAC_NUM 1 +#endif /*-----------------------------------------------------------------------------+ * Prototypes and externals. @@ -1345,7 +1358,7 @@ int ppc_4xx_eth_initialize (bd_t * bis) #endif #endif - for (eth_num = 0; eth_num < EMAC_NUM_DEV; eth_num++) { + for (eth_num = 0; eth_num < LAST_EMAC_NUM; eth_num++) { /* See if we can actually bring up the interface, otherwise, skip it */ switch (eth_num) { diff --git a/include/configs/bamboo.h b/include/configs/bamboo.h index 01f86f5141..95f9b5c62e 100644 --- a/include/configs/bamboo.h +++ b/include/configs/bamboo.h @@ -278,12 +278,14 @@ #define CONFIG_PHY1_ADDR 1 #ifndef CONFIG_BAMBOO_NAND -#define CONFIG_NET_MULTI 1 /* required for netconsole */ #define CONFIG_HAS_ETH1 1 /* add support for "eth1addr" */ #endif /* CONFIG_BAMBOO_NAND */ #define CFG_RX_ETH_BUFFER 32 /* Number of ethernet rx buffers & descriptors */ +#define CONFIG_NETCONSOLE /* include NetConsole support */ +#define CONFIG_NET_MULTI 1 /* required for netconsole */ + /* Partitions */ #define CONFIG_MAC_PARTITION #define CONFIG_DOS_PARTITION diff --git a/include/configs/bubinga.h b/include/configs/bubinga.h index 5feb63a789..2f99ef044e 100644 --- a/include/configs/bubinga.h +++ b/include/configs/bubinga.h @@ -132,6 +132,8 @@ #define CONFIG_NET_MULTI 1 #define CFG_RX_ETH_BUFFER 16 /* Number of ethernet rx buffers & descriptors */ +#define CONFIG_NETCONSOLE /* include NetConsole support */ + #define CONFIG_RTC_DS174x 1 /* use DS1743 RTC in Bubinga */ #define CONFIG_COMMANDS (CONFIG_CMD_DFL | \ diff --git a/include/configs/ebony.h b/include/configs/ebony.h index 5f608be4c5..8eb4697df7 100644 --- a/include/configs/ebony.h +++ b/include/configs/ebony.h @@ -197,6 +197,8 @@ #define CONFIG_NET_MULTI 1 #define CFG_RX_ETH_BUFFER 32 /* Number of ethernet rx buffers & descriptors */ +#define CONFIG_NETCONSOLE /* include NetConsole support */ + #define CONFIG_COMMANDS (CONFIG_CMD_DFL | \ CFG_CMD_ASKENV | \ CFG_CMD_DATE | \ diff --git a/include/configs/ocotea.h b/include/configs/ocotea.h index 5a27c02706..49dd4878cb 100644 --- a/include/configs/ocotea.h +++ b/include/configs/ocotea.h @@ -269,7 +269,9 @@ #define CONFIG_ZERO_BOOTDELAY_CHECK /* check for keypress on bootdelay==0 */ #define CONFIG_VERSION_VARIABLE 1 /* include version env variable */ -#define CFG_RX_ETH_BUFFER 32 /* Number of ethernet rx buffers & descriptors */ +#define CFG_RX_ETH_BUFFER 32 /* Number of ethernet rx buffers & descriptors */ + +#define CONFIG_NETCONSOLE /* include NetConsole support */ /*----------------------------------------------------------------------- * PCI stuff diff --git a/include/configs/walnut.h b/include/configs/walnut.h index d33956d385..6dbce5788c 100644 --- a/include/configs/walnut.h +++ b/include/configs/walnut.h @@ -163,6 +163,9 @@ #define CFG_RX_ETH_BUFFER 16 /* use 16 rx buffer on 405 emac */ +#define CONFIG_NETCONSOLE /* include NetConsole support */ +#define CONFIG_NET_MULTI /* needed for NetConsole */ + /*----------------------------------------------------------------------- * I2C stuff *----------------------------------------------------------------------- diff --git a/include/configs/yellowstone.h b/include/configs/yellowstone.h index f2cd053e37..092959e337 100644 --- a/include/configs/yellowstone.h +++ b/include/configs/yellowstone.h @@ -200,7 +200,9 @@ #define CONFIG_HAS_ETH1 1 /* add support for "eth1addr" */ #define CONFIG_PHY_ADDR 1 /* PHY address, See schematics */ -#define CFG_RX_ETH_BUFFER 32 /* Number of ethernet rx buffers & descriptors */ +#define CFG_RX_ETH_BUFFER 32 /* Number of ethernet rx buffers & descriptors */ + +#define CONFIG_NETCONSOLE /* include NetConsole support */ /* Partitions */ #define CONFIG_MAC_PARTITION diff --git a/include/configs/yosemite.h b/include/configs/yosemite.h index 141cdb1990..d2bba98d00 100644 --- a/include/configs/yosemite.h +++ b/include/configs/yosemite.h @@ -200,7 +200,9 @@ #define CONFIG_HAS_ETH1 1 /* add support for "eth1addr" */ #define CONFIG_PHY_ADDR 1 /* PHY address, See schematics */ -#define CFG_RX_ETH_BUFFER 32 /* Number of ethernet rx buffers & descriptors */ +#define CFG_RX_ETH_BUFFER 32 /* Number of ethernet rx buffers & descriptors */ + +#define CONFIG_NETCONSOLE /* include NetConsole support */ /* Partitions */ #define CONFIG_MAC_PARTITION -- cgit