[coreboot] IRQ 9 on s2895 and s2892

Rudolf Marek r.marek at assembler.cz
Mon Mar 16 21:36:13 CET 2009


Myles Watson napsal(a):
> On Mon, Mar 16, 2009 at 1:23 PM, Rudolf Marek <r.marek at assembler.cz> wrote:
>> Hi,
>>
>>> All of the other interrupts from 0x0-0xf are set as Edge triggered in
>>> the mptable, so that seems likely.
>> Fine. Second reason might be that the ExtInt pin is wrong for the APIC. I
>> mean it is set wrongly. To which pin sets the original BIOS the ExtInt IRQ?
> 
> Do I need to decode the mptable to know that?  Is there a utility to
> do that?  I've gotten as far as "ISA is bus 86", but I'm struggling to
> find ExtINT in there.  I don't see anything that matches what I
> expect.
> 

It should be the interrupt type 3 maybe you can dump the table somewhere?

mp_ExtINT Looking into the mptable for yhe 2895 seems that extint is not pin0 
but pin2!

Maybe you can change the code here:

--- ck804_lpc.c	(revision 3613)
+++ ck804_lpc.c	(working copy)
@@ -43,9 +43,9 @@
  #define INT		(1 << 8)
  	/* IO-APIC virtual wire mode configuration */
  	/* mask, trigger, polarity, destination, delivery, vector */
-	{   0, ENABLED | TRIGGER_EDGE | POLARITY_HIGH | PHYSICAL_DEST | ExtINT, NONE},
+	{   0, DISABLED, NONE},
  	{   1, DISABLED, NONE},
-	{   2, DISABLED, NONE},
+	{   2, ENABLED | TRIGGER_EDGE | POLARITY_HIGH | PHYSICAL_DEST | ExtINT, NONE},
  	{   3, DISABLED, NONE},
  	{   4, DISABLED, NONE},
  	{   5, DISABLED, NONE},


> 04d0: 20 0c
> 
> IRQ 7, IRQ a, IRQ b are edge?

Nope IRQ5 and IRQ10 and IRQ11 are edge.

But I think that linux trusts more the APIC conf and not the MPTable so, after 
you fix it it may actually start to work.

Rudolf






More information about the coreboot mailing list