Interrupt-problem mpc5200
WITTROCK
jwittrock at maginst.com
Tue Sep 11 22:49:18 EST 2007
Hello,
Is it possible that this call failed?
intr = ioremap(MPC52xx_MBAR+MPC52xx_INTR_OFFSET, MPC52xx_INTR_SIZE);
Maybe intr is invalid at this point?
out_be32(&intr->ctrl, intr_ctrl); // ERROR!
Regards,
WITTROCK
S. Fricke wrote:
>
> Hello all.
>
> What are the steps to configure an MPC500B-Board to react on an IRQ (2)?
>
> I have written a test-driver with this code-snippets, but the prozessor
> hangs when loading the driver.
>
> my __init-function looks like:
>
> static int __init mod_init( void )
> {
> volatile static struct mpc52xx_intr __iomem *intr;
> u32 intr_ctrl;
>
> // ...
>
> printk( "intmod.ko: interrupt init ");
> if (request_irq(MPC52xx_IRQ2, intmod_isr, IRQF_SHARED , "intmod",
> INTMOD_IRQ_BOARD) == -EBUSY)
> printk("KO\n");
> else
> printk("OK\n");
>
> intr = ioremap(MPC52xx_MBAR+MPC52xx_INTR_OFFSET, MPC52xx_INTR_SIZE);
>
> // read - modify - write
> intr_ctrl = in_be32(&intr->ctrl);
> intr_ctrl &= 0xfff3ffff;
> intr_ctrl |= 0x00080200;
> out_be32(&intr->ctrl, intr_ctrl); // ERROR!
>
> if(intr) iounmap(intr);
>
> // ...
> }
>
> On the Line, marked with "ERROR!" the prozessor hangs and the kernel drops
> out.
>
> TIA: Silvio
>
>
> Mit freundlichen Gruessen
> Silvio Fricke
>
> --
> -- S. Fricke ----------------------------- MAILTO:silvio.fricke at gmail.com
> --
> Diplom-Informatiker (FH)
> Linux-Entwicklung JABBER: fricke at jabber.org
> ----------------------------------------------------------------------------
>
>
>
> _______________________________________________
> Linuxppc-embedded mailing list
> Linuxppc-embedded at ozlabs.org
> https://ozlabs.org/mailman/listinfo/linuxppc-embedded
>
--
View this message in context: http://www.nabble.com/Interrupt-problem-mpc5200-tf4413834.html#a12613692
Sent from the linuxppc-embedded mailing list archive at Nabble.com.
More information about the Linuxppc-embedded
mailing list