diff --git a/CHANGELOG b/CHANGELOG index 4ed9d6e..5938945 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -2,6 +2,9 @@ Changes for U-Boot 1.1.4: ====================================================================== +* Fix DPRAM offset/size for MPC8541/8555. + Simplify TQM85xx Makefile handling. + * Fix data overflow (typo?) in rtc/ds1302.c * Fix U-Boot compilation for MIPS boards using ELDK 4.0 diff --git a/Makefile b/Makefile index dde111c..8fe2984 100644 --- a/Makefile +++ b/Makefile @@ -1329,12 +1329,7 @@ TQM8540_config \ TQM8541_config \ TQM8555_config \ TQM8560_config: unconfig - @case "$@" in \ - TQM8540_config) CTYPE=8540;; \ - TQM8541_config) CTYPE=8541;; \ - TQM8555_config) CTYPE=8555;; \ - TQM8560_config) CTYPE=8560;; \ - esac; \ + @CTYPE=$(subst TQM,,$(@:_config=)); \ >include/config.h ; \ echo "... TQM"$${CTYPE}; \ echo "#define CONFIG_MPC$${CTYPE}">>include/config.h; \ diff --git a/cpu/mpc85xx/ether_fcc.c b/cpu/mpc85xx/ether_fcc.c index 7edb294..d15d242 100644 --- a/cpu/mpc85xx/ether_fcc.c +++ b/cpu/mpc85xx/ether_fcc.c @@ -307,7 +307,9 @@ static int fec_init(struct eth_device* dev, bd_t *bis) * Allocate space in the reserved FCC area of DPRAM for the * internal buffers. No one uses this space (yet), so we * can do this. Later, we will add resource management for - * this area. CPM_FCC_SPECIAL_BASE: 0xb000. + * this area. + * CPM_FCC_SPECIAL_BASE: 0xB000 for MPC8540, MPC8560 + * 0x9000 for MPC8541, MPC8555 */ mem_addr = CPM_FCC_SPECIAL_BASE + ((info->ether_index) * 64); pram_ptr->fen_genfcc.fcc_riptr = mem_addr; diff --git a/include/asm-ppc/cpm_85xx.h b/include/asm-ppc/cpm_85xx.h index 885663f..a74a3a1 100644 --- a/include/asm-ppc/cpm_85xx.h +++ b/include/asm-ppc/cpm_85xx.h @@ -77,9 +77,14 @@ * downloading RAM microcode. */ #define CPM_DATAONLY_BASE ((uint)128) +#define CPM_DP_NOSPACE ((uint)0x7FFFFFFF) +#if defined(CONFIG_MPC8541) || defined(CONFIG_MPC8555) +#define CPM_FCC_SPECIAL_BASE ((uint)0x00009000) +#define CPM_DATAONLY_SIZE ((uint)(8 * 1024) - CPM_DATAONLY_BASE) +#else /* MPC8540, MPC8560 */ +#define CPM_FCC_SPECIAL_BASE ((uint)0x0000B000) #define CPM_DATAONLY_SIZE ((uint)(16 * 1024) - CPM_DATAONLY_BASE) -#define CPM_DP_NOSPACE ((uint)0x7fffffff) -#define CPM_FCC_SPECIAL_BASE ((uint)0x0000b000) +#endif /* The number of pages of host memory we allocate for CPM. This is * done early in kernel initialization to get physically contiguous