From: wdenk Date: Fri, 28 Dec 2001 17:13:34 +0000 (+0000) Subject: Patch by Brad Kemp, 27 Dec 2001 X-Git-Url: https://www.infradead.org/git/?a=commitdiff_plain;h=9aeefa25c137bd0943e2ec7bf86cd8965b14ec12;p=users%2Frw%2Fppcboot.git Patch by Brad Kemp, 27 Dec 2001 Move board dependend config stuff from cpu/mpc8260/ether_fcc.c to board config files; cleanup mess of CONFIG_ETHER_ON_* and CONFIG_ETHER_USE_* definitions. --- diff --git a/CHANGELOG b/CHANGELOG index 8b72e65..9474966 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -56,6 +56,11 @@ To do: Modifications for 1.1.3: ====================================================================== +* Patch by Brad Kemp, 27 Dec 2001 + Move board dependend config stuff from cpu/mpc8260/ether_fcc.c + to board config files; cleanup mess of CONFIG_ETHER_ON_* and + CONFIG_ETHER_USE_* definitions. + * Patch by Stefan Roese, 21 Dec 2001 - DU405 board added - Minor changes to some ESD boards diff --git a/cpu/mpc8260/ether_fcc.c b/cpu/mpc8260/ether_fcc.c index 710f1a4..85e8a1f 100644 --- a/cpu/mpc8260/ether_fcc.c +++ b/cpu/mpc8260/ether_fcc.c @@ -44,11 +44,10 @@ #include #include #include -/*#include "mii_phy.h"*/ +#include #if defined(CONFIG_ETHER_ON_FCC) && (CONFIG_COMMANDS & CFG_CMD_NET) -/*---------------------------------------------------------------------*/ /*---------------------------------------------------------------------*/ #if (CONFIG_ETHER_INDEX == 1) @@ -57,185 +56,19 @@ #define CPM_CR_ENET_SBLOCK CPM_CR_FCC1_SBLOCK #define CPM_CR_ENET_PAGE CPM_CR_FCC1_PAGE -/******* HYMOD *******************************************************/ -#if defined(CONFIG_HYMOD) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK10 - * - Tx-CLK is CLK11 - * - RAM for BD/Buffers is on the 60x Bus (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC1|CMXFCR_RF1CS_MSK|CMXFCR_TF1CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF1CS_CLK10|CMXFCR_TF1CS_CLK11) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) -#endif /* CONFIG_HYMOD */ -/******* PM826 *******************************************************/ -#if defined(CONFIG_PM826) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK11 - * - Tx-CLK is CLK10 - * - RAM for BD/Buffers is on the 60x Bus (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC1|CMXFCR_RF1CS_MSK|CMXFCR_TF1CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF1CS_CLK11|CMXFCR_TF1CS_CLK10) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) -#endif /* CONFIG_PM826 */ -/******* RPXSUPER ****************************************************/ -#if defined(CONFIG_RPXSUPER) -#error "on RPX Super ethernet must be FCC3" -#endif - -/*---------------------------------------------------------------------*/ /*---------------------------------------------------------------------*/ #elif (CONFIG_ETHER_INDEX == 2) #define PROFF_ENET PROFF_FCC2 #define CPM_CR_ENET_SBLOCK CPM_CR_FCC2_SBLOCK #define CPM_CR_ENET_PAGE CPM_CR_FCC2_PAGE -/******* HYMOD *******************************************************/ -#if defined(CONFIG_HYMOD) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK13 - * - Tx-CLK is CLK14 - * - RAM for BD/Buffers is on the 60x Bus (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) -#endif /* CONFIG_HYMOD */ -/******* MPC8260ADS **************************************************/ -#if defined(CONFIG_MPC8260ADS) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK13 - * - Tx-CLK is CLK14 - * - Select bus for bd/buffers (see 28-13) - * - Half duplex - */ -#define CMXFCR_MASK (CMXFCR_FC2 | CMXFCR_RF2CS_MSK | CMXFCR_TF2CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF2CS_CLK13 | CMXFCR_TF2CS_CLK14) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR 0 -#endif /* CONFIG_MPC8260ADS */ -/******* RSD_PROTO ***************************************************/ -#if defined(CONFIG_RSD_PROTO) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK13 - * - Tx-CLK is CLK14 - * - Select bus for bd/buffers (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC2 | CMXFCR_RF2CS_MSK | CMXFCR_TF2CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF2CS_CLK13 | CMXFCR_TF2CS_CLK14) -#define CPMFCR_RAMTYPE (0) -#define FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB) -#endif /* CONFIG_RSD_PROTO */ -/******* RPXSUPER ****************************************************/ -#if defined(CONFIG_RPXSUPER) -#error "on RPX Super ethernet must be FCC3" -#endif /* CONFIG_RPXSUPER */ -/******* SBC8260 *****************************************************/ -#if defined(CONFIG_SBC8260) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK13 - * - Tx-CLK is CLK14 - * - Select bus for bd/buffers (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB) -#endif /* CONFIG_SBC8260 */ -/******* GW8260 ******************************************************/ -#if defined(CONFIG_GW8260) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK13 - * - Tx-CLK is CLK14 - * - Select bus for bd/buffers (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB) -#endif /* CONFIG_GW8260 */ -/******* TQM8260 *****************************************************/ -#if defined(CONFIG_TQM8260) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK13 - * - Tx-CLK is CLK14 - * - RAM for BD/Buffers is on the 60x Bus (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) -#endif /* CONFIG_TQM8260 */ -/*---------------------------------------------------------------------*/ /*---------------------------------------------------------------------*/ #elif (CONFIG_ETHER_INDEX == 3) #define PROFF_ENET PROFF_FCC3 #define CPM_CR_ENET_SBLOCK CPM_CR_FCC3_SBLOCK #define CPM_CR_ENET_PAGE CPM_CR_FCC3_PAGE -/******* HYMOD *******************************************************/ -#if defined(CONFIG_HYMOD) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK15 - * - Tx-CLK is CLK16 - * - RAM for BD/Buffers is on the 60x Bus (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC3|CMXFCR_RF3CS_MSK|CMXFCR_TF3CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF3CS_CLK15|CMXFCR_TF3CS_CLK16) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) -#endif /* CONFIG_HYMOD */ -/******* RPXSUPER ****************************************************/ -#if defined(CONFIG_RPXSUPER) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK15 - * - Tx-CLK is CLK16 - * - RAM for BD/Buffers is on the 60x Bus (see 28-13) - * - Enable Half Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC3|CMXFCR_RF3CS_MSK|CMXFCR_TF3CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF3CS_CLK15|CMXFCR_TF3CS_CLK16) -#define CPMFCR_RAMTYPE 0 -//#define FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) -#define FCC_PSMR 0 -#endif /* CONFIG_RPXSUPER */ -/******* GW8260 ******************************************************/ -#if defined(CONFIG_GW8260) -/* - * Attention: this is board-specific - * - Rx-CLK is CLK15 - * - Tx-CLK is CLK16 - * - Select bus for bd/buffers (see 28-13) - * - Enable Full Duplex in FSMR - */ -#define CMXFCR_MASK (CMXFCR_FC3|CMXFCR_RF3CS_MSK|CMXFCR_TF3CS_MSK) -#define CMXFCR_VALUE (CMXFCR_RF3CS_CLK15|CMXFCR_TF3CS_CLK16) -#define CPMFCR_RAMTYPE 0 -#define FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB) -#endif /* CONFIG_GW8260 */ /*---------------------------------------------------------------------*/ #else @@ -377,14 +210,15 @@ int eth_init(bd_t *bis) /* 28.9 - (3): connect FCC's tx and rx clocks */ immr->im_cpmux.cmx_uar = 0; - immr->im_cpmux.cmx_fcr = (immr->im_cpmux.cmx_fcr&~CMXFCR_MASK)|CMXFCR_VALUE; + immr->im_cpmux.cmx_fcr = (immr->im_cpmux.cmx_fcr & ~CFG_CMXFCR_MASK) | + CFG_CMXFCR_VALUE; /* 28.9 - (4): GFMR: disable tx/rx, CCITT CRC, Mode Ethernet */ immr->im_fcc[CONFIG_ETHER_INDEX-1].fcc_gfmr = FCC_GFMR_MODE_ENET | FCC_GFMR_TCRC_32; /* 28.9 - (5): FPSMR: enable full duplex, select CCITT CRC for Ethernet */ - immr->im_fcc[CONFIG_ETHER_INDEX-1].fcc_fpsmr = FCC_PSMR | FCC_PSMR_ENCRC; + immr->im_fcc[CONFIG_ETHER_INDEX-1].fcc_fpsmr = CFG_FCC_PSMR | FCC_PSMR_ENCRC; /* 28.9 - (6): FDSR: Ethernet Syn */ immr->im_fcc[CONFIG_ETHER_INDEX-1].fcc_fdsr = 0xD555; @@ -434,10 +268,10 @@ int eth_init(bd_t *bis) */ pram_ptr->fen_genfcc.fcc_mrblr = PKT_MAXBLR_SIZE; pram_ptr->fen_genfcc.fcc_rstate = (CPMFCR_GBL | CPMFCR_EB | - CPMFCR_RAMTYPE) << 24; + CFG_CPMFCR_RAMTYPE) << 24; pram_ptr->fen_genfcc.fcc_rbase = (unsigned int)(&rtx.rxbd[rxIdx]); pram_ptr->fen_genfcc.fcc_tstate = (CPMFCR_GBL | CPMFCR_EB | - CPMFCR_RAMTYPE) << 24; + CFG_CPMFCR_RAMTYPE) << 24; pram_ptr->fen_genfcc.fcc_tbase = (unsigned int)(&rtx.txbd[txIdx]); /* protocol-specific area */ @@ -467,8 +301,10 @@ int eth_init(bd_t *bis) pram_ptr->fen_rfthr = 1; pram_ptr->fen_rfcnt = 1; #if 0 - printf("pram_ptr->fen_genfcc.fcc_rbase %08lx\n", pram_ptr->fen_genfcc.fcc_rbase); - printf("pram_ptr->fen_genfcc.fcc_tbase %08lx\n", pram_ptr->fen_genfcc.fcc_tbase); + printf("pram_ptr->fen_genfcc.fcc_rbase %08lx\n", + pram_ptr->fen_genfcc.fcc_rbase); + printf("pram_ptr->fen_genfcc.fcc_tbase %08lx\n", + pram_ptr->fen_genfcc.fcc_tbase); #endif /* 28.9 - (8): clear out events in FCCE */ @@ -505,7 +341,7 @@ void eth_halt(void) /* write GFMR: disable tx/rx */ immr->im_fcc[CONFIG_ETHER_INDEX-1].fcc_gfmr &= - ~(FCC_GFMR_ENT | FCC_GFMR_ENR); + ~(FCC_GFMR_ENT | FCC_GFMR_ENR); } #endif /* CONFIG_ETHER_ON_FCC && CFG_CMD_NET */ diff --git a/cpu/mpc8260/ether_scc.c b/cpu/mpc8260/ether_scc.c index ca01c92..6a35aa6 100644 --- a/cpu/mpc8260/ether_scc.c +++ b/cpu/mpc8260/ether_scc.c @@ -34,6 +34,7 @@ #include #include #include +#include #if defined(CONFIG_ETHER_ON_SCC) && (CONFIG_COMMANDS & CFG_CMD_NET) @@ -44,25 +45,6 @@ # define CMXSCR_MASK (CMXSCR_SC1 |\ CMXSCR_RS1CS_MSK |\ CMXSCR_TS1CS_MSK) -# if defined(CONFIG_SBC8260) -/* - * Attention: This is board specific - * - RX clk is CLK11 - * - TX clk is CLK12 - */ -# define CMXSCR_VALUE (CMXSCR_RS1CS_CLK11 |\ - CMXSCR_TS1CS_CLK12) -# endif - -# if defined(CONFIG_TQM8260) -/* - * Attention: This is board specific - * - RX clk is CLK11 - * - TX clk is CLK12 - */ -# define CMXSCR_VALUE (CMXSCR_RS1CS_CLK11 |\ - CMXSCR_TS1CS_CLK12) -# endif #elif (CONFIG_ETHER_INDEX == 2) # define PROFF_ENET PROFF_SCC2 @@ -219,7 +201,7 @@ int eth_init(bd_t *bis) /* 24.21 - (4,5): connect SCC's tx and rx clocks, use NMSI for SCC */ immr->im_cpmux.cmx_uar = 0; immr->im_cpmux.cmx_scr = ( (immr->im_cpmux.cmx_scr & ~CMXSCR_MASK) | - CMXSCR_VALUE); + CFG_CMXSCR_VALUE); /* 24.21 (6) write RBASE and TBASE to parameter RAM */ diff --git a/include/config_MPC8260ADS.h b/include/config_MPC8260ADS.h index b412bd1..563081e 100644 --- a/include/config_MPC8260ADS.h +++ b/include/config_MPC8260ADS.h @@ -77,6 +77,21 @@ #undef CONFIG_ETHER_NONE /* define if ether on something else */ #define CONFIG_ETHER_INDEX 2 /* which channel for ether */ +#if (CONFIG_ETHER_INDEX == 2) + +/* + * - Rx-CLK is CLK13 + * - Tx-CLK is CLK14 + * - Select bus for bd/buffers (see 28-13) + * - Half duplex + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC2 | CMXFCR_RF2CS_MSK | CMXFCR_TF2CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF2CS_CLK13 | CMXFCR_TF2CS_CLK14) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR 0 + +#endif /* CONFIG_ETHER_INDEX */ + /* other options */ #define CONFIG_I2C 1 /* To enable I2C support */ diff --git a/include/config_PM826.h b/include/config_PM826.h index 68ec62e..6c68595 100644 --- a/include/config_PM826.h +++ b/include/config_PM826.h @@ -97,6 +97,20 @@ #undef CONFIG_ETHER_NONE /* define if ether on something else */ #define CONFIG_ETHER_INDEX 1 /* which SCC/FCC channel for ethernet */ +#if (CONFIG_ETHER_INDEX == 1) +/* + * - Rx-CLK is CLK11 + * - Tx-CLK is CLK10 + * - RAM for BD/Buffers is on the 60x Bus (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC1|CMXFCR_RF1CS_MSK|CMXFCR_TF1CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF1CS_CLK11|CMXFCR_TF1CS_CLK10) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) + +#endif /* CONFIG_ETHER_INDEX */ + /* system clock rate (CLKIN) - equal to the 60x and local bus speed */ #define CONFIG_8260_CLKIN 64000000 /* in Hz */ diff --git a/include/config_RPXsuper.h b/include/config_RPXsuper.h index 8c5aa15..5989a63 100644 --- a/include/config_RPXsuper.h +++ b/include/config_RPXsuper.h @@ -99,6 +99,24 @@ #undef CONFIG_ETHER_NONE /* define if ethernet on neither */ #define CONFIG_ETHER_INDEX 3 /* which SCC/FCC channel for ethernet */ +#if ( CONFIG_ETHER_INDEX == 3 ) + +/* + * - Rx-CLK is CLK15 + * - Tx-CLK is CLK16 + * - RAM for BD/Buffers is on the 60x Bus (see 28-13) + * - Enable Half Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC3|CMXFCR_RF3CS_MSK|CMXFCR_TF3CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF3CS_CLK15|CMXFCR_TF3CS_CLK16) +# define CFG_CPMFCR_RAMTYPE 0 +/*#define CFG_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) */ +# define CFG_FCC_PSMR 0 + +#else /* CONFIG_ETHER_INDEX */ +# error "on RPX Super ethernet must be FCC3" +#endif /* CONFIG_ETHER_INDEX */ + #define CONFIG_I2C 1 /* Define this to reserve an entire FLASH sector (256 KB) for diff --git a/include/config_TQM8260.h b/include/config_TQM8260.h index e2d6c13..84cba73 100644 --- a/include/config_TQM8260.h +++ b/include/config_TQM8260.h @@ -118,6 +118,30 @@ #undef CONFIG_ETHER_NONE /* define if ether on something else */ #define CONFIG_ETHER_INDEX 2 /* which SCC/FCC channel for ethernet */ +#if defined(CONFIG_ETHER_ON_SCC) && (CONFIG_ETHER_INDEX == 1) + +/* + * - RX clk is CLK11 + * - TX clk is CLK12 + */ +# define CFG_CMXSCR_VALUE (CMXSCR_RS1CS_CLK11 | CMXSCR_TS1CS_CLK12) + +#elif defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 2) + +/* + * - Rx-CLK is CLK13 + * - Tx-CLK is CLK14 + * - RAM for BD/Buffers is on the 60x Bus (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) + +#endif /* CONFIG_ETHER_ON_FCC, CONFIG_ETHER_INDEX */ + + /* system clock rate (CLKIN) - equal to the 60x and local bus speed */ #define CONFIG_8260_CLKIN 66666666 /* in Hz */ diff --git a/include/config_gw8260.h b/include/config_gw8260.h index 1198a49..cbb24fc 100644 --- a/include/config_gw8260.h +++ b/include/config_gw8260.h @@ -198,20 +198,15 @@ * from CONFIG_COMMANDS to remove support for networking. */ -#undef CONFIG_ETHER_USE_SCC -#define CONFIG_ETHER_USE_FCC - -#ifdef CONFIG_ETHER_USE_SCC -#define CONFIG_ETHER_ON_SCC 1 /* define if ethernet on SCC */ -#undef CONFIG_ETHER_ON_FCC /* define if ethernet on FCC */ +#undef CONFIG_ETHER_ON_SCC +#define CONFIG_ETHER_ON_FCC #undef CONFIG_ETHER_NONE /* define if ethernet on neither */ + +#ifdef CONFIG_ETHER_ON_SCC #define CONFIG_ETHER_INDEX 1 /* which SCC/FCC channel for ethernet */ -#endif /* CONFIG_ETHER_USE_SCC1 */ +#endif /* CONFIG_ETHER_ON_SCC */ -#ifdef CONFIG_ETHER_USE_FCC -#undef CONFIG_ETHER_ON_SCC /* define if ethernet on SCC */ -#define CONFIG_ETHER_ON_FCC /* define if ethernet on FCC */ -#undef CONFIG_ETHER_NONE /* define if ethernet on neither */ +#ifdef CONFIG_ETHER_ON_FCC #define CONFIG_ETHER_INDEX 2 /* which SCC/FCC channel for ethernet */ #define CONFIG_MII /* MII PHY management */ #define CONFIG_BITBANGMII /* bit-bang MII PHY management */ @@ -230,7 +225,35 @@ else iop->pdat &= ~0x00200000 #define MIIDELAY udelay(1) -#endif /* CONFIG_ETHER_USE_FCC */ +#endif /* CONFIG_ETHER_ON_FCC */ + +#if defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 2) + +/* + * - Rx-CLK is CLK13 + * - Tx-CLK is CLK14 + * - Select bus for bd/buffers (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB) + +#elif defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 3) + +/* + * - Rx-CLK is CLK15 + * - Tx-CLK is CLK16 + * - Select bus for bd/buffers (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC3|CMXFCR_RF3CS_MSK|CMXFCR_TF3CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF3CS_CLK15|CMXFCR_TF3CS_CLK16) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB) + +#endif /* CONFIG_ETHER_ON_FCC, CONFIG_ETHER_INDEX */ /* Define this to reserve an entire FLASH sector (256 KB) for * environment variables. Otherwise, the environment will be diff --git a/include/config_hymod.h b/include/config_hymod.h index 1244317..9e3b5eb 100644 --- a/include/config_hymod.h +++ b/include/config_hymod.h @@ -72,6 +72,48 @@ #undef CONFIG_ETHER_NONE /* define if ether on something else */ #define CONFIG_ETHER_INDEX 1 /* which channel for ether */ +#if (CONFIG_ETHER_INDEX == 1) + +/* + * - Rx-CLK is CLK10 + * - Tx-CLK is CLK11 + * - RAM for BD/Buffers is on the 60x Bus (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC1|CMXFCR_RF1CS_MSK|CMXFCR_TF1CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF1CS_CLK10|CMXFCR_TF1CS_CLK11) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) + +#elif (CONFIG_ETHER_INDEX == 2) + +/* + * - Rx-CLK is CLK13 + * - Tx-CLK is CLK14 + * - RAM for BD/Buffers is on the 60x Bus (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) + +#elif (CONFIG_ETHER_INDEX == 3) + +/* + * - Rx-CLK is CLK15 + * - Tx-CLK is CLK16 + * - RAM for BD/Buffers is on the 60x Bus (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC3|CMXFCR_RF3CS_MSK|CMXFCR_TF3CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF3CS_CLK15|CMXFCR_TF3CS_CLK16) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR (FCC_PSMR_FDE|FCC_PSMR_LPB) + +#endif /* CONFIG_ETHER_INDEX */ + + /* other options */ #define CONFIG_I2C 1 /* To enable I2C support */ diff --git a/include/config_rsdproto.h b/include/config_rsdproto.h index eb57b88..e757e60 100644 --- a/include/config_rsdproto.h +++ b/include/config_rsdproto.h @@ -69,6 +69,22 @@ #undef CONFIG_ETHER_NONE /* define if ethernet on neither */ #define CONFIG_ETHER_INDEX 2 /* which SCC/FCC channel for ethernet */ +#if (CONFIG_ETHER_INDEX == 2) + +/* + * - Rx-CLK is CLK13 + * - Tx-CLK is CLK14 + * - Select bus for bd/buffers (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC2 | CMXFCR_RF2CS_MSK | CMXFCR_TF2CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF2CS_CLK13 | CMXFCR_TF2CS_CLK14) +# define CFG_CPMFCR_RAMTYPE (0) +# define CFG_FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB) + +#endif /* CONFIG_ETHER_INDEX */ + + /* allow to overwrite serial and ethaddr */ #define CONFIG_ENV_OVERWRITE diff --git a/include/config_sbc8260.h b/include/config_sbc8260.h index 5d19384..0d21455 100644 --- a/include/config_sbc8260.h +++ b/include/config_sbc8260.h @@ -182,20 +182,15 @@ * from CONFIG_COMMANDS to remove support for networking. */ -#undef CONFIG_ETHER_USE_SCC1 -#define CONFIG_ETHER_USE_FCC2 - -#ifdef CONFIG_ETHER_USE_SCC1 -#define CONFIG_ETHER_ON_SCC 1 /* define if ethernet on SCC */ -#undef CONFIG_ETHER_ON_FCC /* define if ethernet on FCC */ +#undef CONFIG_ETHER_ON_SCC +#define CONFIG_ETHER_ON_FCC #undef CONFIG_ETHER_NONE /* define if ethernet on neither */ + +#ifdef CONFIG_ETHER_ON_SCC #define CONFIG_ETHER_INDEX 1 /* which SCC/FCC channel for ethernet */ -#endif /* CONFIG_ETHER_USE_SCC1 */ +#endif /* CONFIG_ETHER_ON_SCC */ -#ifdef CONFIG_ETHER_USE_FCC2 -#undef CONFIG_ETHER_ON_SCC /* define if ethernet on SCC */ -#define CONFIG_ETHER_ON_FCC /* define if ethernet on FCC */ -#undef CONFIG_ETHER_NONE /* define if ethernet on neither */ +#ifdef CONFIG_ETHER_ON_FCC #define CONFIG_ETHER_INDEX 2 /* which SCC/FCC channel for ethernet */ #define CONFIG_MII /* MII PHY management */ #define CONFIG_BITBANGMII /* bit-bang MII PHY management */ @@ -214,7 +209,31 @@ else iop->pdat &= ~0x00200000 #define MIIDELAY udelay(1) -#endif /* CONFIG_ETHER_USE_FCC2 */ +#endif /* CONFIG_ETHER_ON_FCC */ + +#if defined(CONFIG_ETHER_ON_SCC) && (CONFIG_ETHER_INDEX == 1) + +/* + * - RX clk is CLK11 + * - TX clk is CLK12 + */ +# define CFG_CMXSCR_VALUE (CMXSCR_RS1CS_CLK11 | CMXSCR_TS1CS_CLK12) + +#elif defined(CONFIG_ETHER_ON_FCC) && (CONFIG_ETHER_INDEX == 2) + +/* + * - Rx-CLK is CLK13 + * - Tx-CLK is CLK14 + * - Select bus for bd/buffers (see 28-13) + * - Enable Full Duplex in FSMR + */ +# define CFG_CMXFCR_MASK (CMXFCR_FC2|CMXFCR_RF2CS_MSK|CMXFCR_TF2CS_MSK) +# define CFG_CMXFCR_VALUE (CMXFCR_RF2CS_CLK13|CMXFCR_TF2CS_CLK14) +# define CFG_CPMFCR_RAMTYPE 0 +# define CFG_FCC_PSMR (FCC_PSMR_FDE | FCC_PSMR_LPB) + +#endif /* CONFIG_ETHER_ON_FCC, CONFIG_ETHER_INDEX */ + /* Define this to reserve an entire FLASH sector (256 KB) for * environment variables. Otherwise, the environment will be @@ -298,7 +317,7 @@ #define CFG_PROMPT "=> " /* What ppcboot subsytems do you want enabled? */ -#ifdef CONFIG_ETHER_USE_FCC2 +#ifdef CONFIG_ETHER_ON_FCC # define CONFIG_COMMANDS (((CONFIG_CMD_DFL & ~(CFG_CMD_KGDB))) | \ CFG_CMD_ELF | \ CFG_CMD_ASKENV | \ @@ -315,7 +334,7 @@ CFG_CMD_I2C | \ CFG_CMD_REGINFO | \ CFG_CMD_IMMAP ) -#endif /* CONFIG_ETHER_USE_FCC2 */ +#endif /* CONFIG_ETHER_ON_FCC */ /* Where do the internal registers live? */ #define CFG_IMMR 0xF0000000