[PATCH] ppc32: explicitly disable 440GP IRQ compatibility mode in 440GX setup
Eugene Surovegin
ebs at ebshome.net
Sat Jul 2 03:02:39 EST 2005
Andrew,
the following patch adds explicit disabling of 440GP IRQ compatibility
mode when configuring 440GX interrupt controller. This helps when
board firmware for some reason uses this compatibility mode and
leaves it enabled. It breaks 440GX interrupt code because it assumes
native 440GX IRQ mode. People seems to be continuously bitten by this.
Signed-off-by: Eugene Surovegin <ebs at ebshome.net>
diff --git a/arch/ppc/syslib/ppc4xx_pic.c b/arch/ppc/syslib/ppc4xx_pic.c
--- a/arch/ppc/syslib/ppc4xx_pic.c
+++ b/arch/ppc/syslib/ppc4xx_pic.c
@@ -110,6 +110,10 @@ static int ppc4xx_pic_get_irq(struct pt_
static void __init ppc4xx_pic_impl_init(void)
{
+#if defined(CONFIG_440GX)
+ /* Disable 440GP compatibility mode if it was enabled in firmware */
+ SDR_WRITE(DCRN_SDR_MFR, SDR_READ(DCRN_SDR_MFR) & ~DCRN_SDR_MFR_PCM);
+#endif
/* Configure Base UIC */
mtdcr(DCRN_UIC_CR(UICB), 0);
mtdcr(DCRN_UIC_TR(UICB), 0);
More information about the Linuxppc-embedded
mailing list