AMD SB800: Interrupt routine for PCI slots on Persimmon

Set the correct device number in the pcie interrupt routine in ACPI asl.
The device number is decided by which address pin is connected to IDSEL.
Table 3-1: IDSEL Generation
Primary Address AD[15::11] Secondary Address AD[31::16]
0 0000 0000 0000 0000 0001
0 0001 0000 0000 0000 0010
0 0010 0000 0000 0000 0100
0 0011 0000 0000 0000 1000
0 0100 0000 0000 0001 0000
0 0101 0000 0000 0010 0000
0 0110 0000 0000 0100 0000
0 0111 0000 0000 1000 0000
0 1000 0000 0001 0000 0000
0 1001 0000 0010 0000 0000
0 1010 0000 0100 0000 0000
0 1011 0000 1000 0000 0000
0 1100 0001 0000 0000 0000
0 1101 0010 0000 0000 0000
0 1110 0100 0000 0000 0000
0 1111 1000 0000 0000 0000
1 xxxx 0000 0000 0000 0000
On persimmon, PCI slot 0's IDSEL is connected to AD19, so the device number is 3.
Slot 1's IDSEL is connected to AD20, so the device number is 4.

Change-Id: Ic0fb7ac1c87ec306bf314e4d2b8c2bdc9031081b
Signed-off-by: Zheng Bao <zheng.bao@amd.com>
Signed-off-by: zbao <fishbaozi@gmail.com>
Reviewed-on: http://review.coreboot.org/1610
Tested-by: build bot (Jenkins)
Reviewed-by: Martin Roth <martin@se-eng.com>
Reviewed-by: Marc Jones <marcj303@gmail.com>
This commit is contained in:
Zheng Bao 2012-10-24 11:22:38 +08:00 committed by Marc Jones
parent fbb5b4035f
commit e7d6f02ca4
1 changed files with 12 additions and 12 deletions

View File

@ -391,17 +391,17 @@ Scope(\_SB) {
Name(PCIB, Package(){ Name(PCIB, Package(){
/* PCI slots: slot 0, slot 1, slot 2 behind Dev14, Fun4. */ /* PCI slots: slot 0, slot 1, slot 2 behind Dev14, Fun4. */
Package(){0x0005FFFF, 0, 0, 0x14 }, Package(){0x0003FFFF, 0, 0, 0x14 },
Package(){0x0005FFFF, 1, 0, 0x15 }, Package(){0x0003FFFF, 1, 0, 0x15 },
Package(){0x0005FFFF, 2, 0, 0x16 }, Package(){0x0003FFFF, 2, 0, 0x16 },
Package(){0x0005FFFF, 3, 0, 0x17 }, Package(){0x0003FFFF, 3, 0, 0x17 },
Package(){0x0006FFFF, 0, 0, 0x15 }, Package(){0x0004FFFF, 0, 0, 0x15 },
Package(){0x0006FFFF, 1, 0, 0x16 }, Package(){0x0004FFFF, 1, 0, 0x16 },
Package(){0x0006FFFF, 2, 0, 0x17 }, Package(){0x0004FFFF, 2, 0, 0x17 },
Package(){0x0006FFFF, 3, 0, 0x14 }, Package(){0x0004FFFF, 3, 0, 0x14 },
Package(){0x0007FFFF, 0, 0, 0x16 }, Package(){0x0005FFFF, 0, 0, 0x16 },
Package(){0x0007FFFF, 1, 0, 0x17 }, Package(){0x0005FFFF, 1, 0, 0x17 },
Package(){0x0007FFFF, 2, 0, 0x14 }, Package(){0x0005FFFF, 2, 0, 0x14 },
Package(){0x0007FFFF, 3, 0, 0x15 }, Package(){0x0005FFFF, 3, 0, 0x15 },
}) })
} }