aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWolfgang Denk <wd@pollux.(none)>2005-12-06 15:02:31 +0100
committerWolfgang Denk <wd@pollux.(none)>2005-12-06 15:02:31 +0100
commita889bd27ef2a9c01eb5b10d067765545781efa0a (patch)
treee42a6a0dadc6ea2b90c1850030e30241920fe844
parent41253be442e35f71fdf26dac71d78451858a1fc7 (diff)
Fix DPRAM offset/size for MPC8541/8555.
Simplify TQM85xx Makefile handling.
-rw-r--r--CHANGELOG3
-rw-r--r--Makefile7
-rw-r--r--cpu/mpc85xx/ether_fcc.c4
-rw-r--r--include/asm-ppc/cpm_85xx.h9
4 files changed, 14 insertions, 9 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 4ed9d6e30..59389450b 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 dde111c3a..8fe2984c5 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 7edb294e9..d15d24249 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 885663fef..a74a3a115 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