MPC5200Lite PCI & IRQ
Bertrand Baudet
bbaudet at lacie.com
Fri Jun 4 23:00:10 EST 2004
Hi,
I'm trying to plug a sata card in the PCI slot of the MPC5200Lite.
I'm using DENX linuxppc_2_4_devel CVS tree.
The INTA of the PCI bus is connected to the IRQ0 of the MPC5200.
In mpc5xxx.h IRQ0 is defined a 0:
#define MPC5xxx_CRIT_IRQ_BASE 0
#define MPC5xxx_IRQ0 (MPC5xxx_CRIT_IRQ_BASE + 0)
By default the IRQ line of the sata card is 0, so I don't have to set it
to another IRQ number under U-Boot.
>From the source code, it looks like a value 0 for the IRQ means the IRQ
is
disabled.
>From "drivers/ide/ide-probe.c", in the 'hwif_init' function:
...
if (!hwif->irq) {
if (!(hwif->irq = ide_default_irq(hwif->io_ports[IDE_DATA_OFFSET])))
{
printk("%s: DISABLED, NO IRQ\n", hwif->name);
return (hwif->present = 0);
}
}
...
Commenting out the above code allow the PCI card to run properly.
Then I changed the IRQ0 to 1 by increasing the critical IRQ base value:
#define MPC5xxx_CRIT_IRQ_BASE 1
#define MPC5xxx_IRQ0 (MPC5xxx_CRIT_IRQ_BASE + 0)
and remove my comment around the above code (clean source).
By placing the interrupt line to 1 I was able to get the PCI card
to run properly.
I rather change the default critical IRQ base but I was wondering if
this
could have some bad effect somewhere else in the code?
Has anybody tried to plug a PCI card on the PCI slot of the MPC5200 and
have
the same issue?
Regards,
Bertrand
** Sent via the linuxppc-embedded mail list. See http://lists.linuxppc.org/
More information about the Linuxppc-embedded
mailing list