summaryrefslogtreecommitdiff
path: root/cpu/mpc5xxx/cpu_init.c
diff options
context:
space:
mode:
authorwdenk <wdenk>2003-09-16 17:06:05 +0000
committerwdenk <wdenk>2003-09-16 17:06:05 +0000
commit4aeb251f90f3c13b9a3c68c4f296fa871c77f314 (patch)
tree4e15cd2c76d159a297429600cb23e4ac11980d97 /cpu/mpc5xxx/cpu_init.c
parentacf98e7f3062921547516d87611f2ae9824808b9 (diff)
downloadu-boot-imx-4aeb251f90f3c13b9a3c68c4f296fa871c77f314.zip
u-boot-imx-4aeb251f90f3c13b9a3c68c4f296fa871c77f314.tar.gz
u-boot-imx-4aeb251f90f3c13b9a3c68c4f296fa871c77f314.tar.bz2
* Modify XLB arbiter priorities on MPC5200 so all devices use same
priority; configure critical interrupts to be handled like external interrupts
Diffstat (limited to 'cpu/mpc5xxx/cpu_init.c')
-rw-r--r--cpu/mpc5xxx/cpu_init.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/cpu/mpc5xxx/cpu_init.c b/cpu/mpc5xxx/cpu_init.c
index a33e250..c23d621 100644
--- a/cpu/mpc5xxx/cpu_init.c
+++ b/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 */