Selaa lähdekoodia

* Modify XLB arbiter priorities on MPC5200 so all devices use same
priority; configure critical interrupts to be handled like external
interrupts

wdenk 21 vuotta sitten
vanhempi
commit
4aeb251f90
4 muutettua tiedostoa jossa 17 lisäystä ja 1 poistoa
  1. 4 0
      CHANGELOG
  2. 1 1
      config.mk
  3. 5 0
      cpu/mpc5xxx/cpu_init.c
  4. 7 0
      include/mpc5xxx.h

+ 4 - 0
CHANGELOG

@@ -2,6 +2,10 @@
 Changes for U-Boot 1.0.0:
 ======================================================================
 
+* Modify XLB arbiter priorities on MPC5200 so all devices use same
+  priority; configure critical interrupts to be handled like external
+  interrupts
+
 * Make IPB clock on MGT5100/MPC5200 configurable in board config file;
   go back to 66 MHz for stability
 

+ 1 - 1
config.mk

@@ -102,7 +102,7 @@ RELFLAGS= $(PLATFORM_RELFLAGS)
 DBGFLAGS= -g #-DDEBUG
 OPTFLAGS= -Os #-fomit-frame-pointer
 ifndef LDSCRIPT
-#LDSCRIPT := board/$(BOARDDIR)/u-boot.lds.debug
+#LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds.debug
 LDSCRIPT := $(TOPDIR)/board/$(BOARDDIR)/u-boot.lds
 endif
 OBJCFLAGS += --gap-fill=0xff

+ 5 - 0
cpu/mpc5xxx/cpu_init.c

@@ -161,6 +161,9 @@ void cpu_init_f (void)
 	addecr |= 0x02;
 	*(vu_long *)MPC5XXX_CDM_CFG = addecr;
 #endif
+	/* Configure the XLB Arbiter */
+	*(vu_long *)MPC5XXX_XLBARB_MPRIEN = 0xff;
+	*(vu_long *)MPC5XXX_XLBARB_MPRIVAL = 0x11111111;
 #endif
 }
 
@@ -177,6 +180,8 @@ int cpu_init_r (void)
 #endif
 	*(vu_long *)MPC5XXX_ICTL_CRIT |= 0x0001ffff;
 	*(vu_long *)MPC5XXX_ICTL_EXT &= ~0x00000f00;
+	/* route critical ints to normal ints */
+	*(vu_long *)MPC5XXX_ICTL_EXT |= 0x00000001;
 
 #if (CONFIG_COMMANDS & CFG_CMD_NET) && defined(CONFIG_MPC5XXX_FEC)
 	/* load FEC microcode */

+ 7 - 0
include/mpc5xxx.h

@@ -151,6 +151,13 @@
 #define MPC5XXX_CS_DEADCYCLE	(MPC5XXX_LPB + 0x002c)
 #endif
 
+#if defined(CONFIG_MPC5200)
+/* XLB Arbiter registers */
+#define MPC5XXX_XLBARB_CFG		(MPC5XXX_XLBARB + 0x40)
+#define MPC5XXX_XLBARB_MPRIEN	(MPC5XXX_XLBARB + 0x64)
+#define MPC5XXX_XLBARB_MPRIVAL	(MPC5XXX_XLBARB + 0x68)
+#endif
+
 /* GPIO registers */
 #define MPC5XXX_GPS_PORT_CONFIG	(MPC5XXX_GPIO + 0x0000)