* 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 b7fa4469cd9bbac731d7fe912641c96807486838..acf5f9c00cb92c3d772cd98463084bb4e369ff0f 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 f73d6f4c90903fb3608701c56a1af345a3a579c9..51ca5f0a6b32c27ffdfbc9ab7bc54e7e0736194c 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 a33e2501e77d7d5ffb9881361db8e7ce674cc7c5..c23d621ec0bc44e6302066885c2dc004134a2544 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 b38d7d4a0c28a78564de1895fe7dff0111b52e2e..49951f5972e938a4952910f9235416dce47a1244 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)