* Modify XLB arbiter priorities on MPC5200 so all devices use same
authorwdenk <wdenk>
Tue, 16 Sep 2003 17:06:05 +0000 (17:06 +0000)
committerwdenk <wdenk>
Tue, 16 Sep 2003 17:06:05 +0000 (17:06 +0000)
  priority; configure critical interrupts to be handled like external
  interrupts

CHANGELOG
config.mk
cpu/mpc5xxx/cpu_init.c
include/mpc5xxx.h

index b7fa446..acf5f9c 100644 (file)
--- a/CHANGELOG
+++ b/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
 
index f73d6f4..51ca5f0 100644 (file)
--- a/config.mk
+++ b/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
index a33e250..c23d621 100644 (file)
@@ -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 */
index b38d7d4..49951f5 100644 (file)
 #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)