Kaynağa Gözat

Fix DPRAM offset/size for MPC8541/8555.
Simplify TQM85xx Makefile handling.

Wolfgang Denk 19 yıl önce
ebeveyn
işleme
a889bd27ef
4 değiştirilmiş dosya ile 14 ekleme ve 9 silme
  1. 3 0
      CHANGELOG
  2. 1 6
      Makefile
  3. 3 1
      cpu/mpc85xx/ether_fcc.c
  4. 7 2
      include/asm-ppc/cpm_85xx.h

+ 3 - 0
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

+ 1 - 6
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; \

+ 3 - 1
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;

+ 7 - 2
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