2010-04-27 08:56:47 +02:00
|
|
|
/* This file was generated by getpir.c, do not modify!
|
2006-01-28 00:46:30 +01:00
|
|
|
(but if you do, please run checkpir on it to verify)
|
|
|
|
* Contains the IRQ Routing Table dumped directly from your memory, which BIOS sets up
|
|
|
|
*
|
|
|
|
* Documentation at : http://www.microsoft.com/hwdev/busbios/PCIIRQ.HTM
|
|
|
|
*/
|
|
|
|
|
|
|
|
#include <arch/pirq_routing.h>
|
|
|
|
|
2010-12-29 22:12:10 +01:00
|
|
|
/* Platform IRQs */
|
|
|
|
#define PIRQA 11
|
|
|
|
#define PIRQB 5
|
|
|
|
#define PIRQC 10
|
|
|
|
#define PIRQD 10
|
|
|
|
|
|
|
|
/* Map */
|
|
|
|
#define M_PIRQA (1 << PIRQA) /* Bitmap of supported IRQs */
|
|
|
|
#define M_PIRQB (1 << PIRQB) /* Bitmap of supported IRQs */
|
|
|
|
#define M_PIRQC (1 << PIRQC) /* Bitmap of supported IRQs */
|
|
|
|
#define M_PIRQD (1 << PIRQD) /* Bitmap of supported IRQs */
|
|
|
|
|
|
|
|
/* Link */
|
|
|
|
#define L_PIRQA 1 /* Means Slot INTx# Connects To Chipset INTA# */
|
|
|
|
#define L_PIRQB 2 /* Means Slot INTx# Connects To Chipset INTB# */
|
|
|
|
#define L_PIRQC 3 /* Means Slot INTx# Connects To Chipset INTC# */
|
|
|
|
#define L_PIRQD 4 /* Means Slot INTx# Connects To Chipset INTD# */
|
|
|
|
|
2012-11-16 00:15:15 +01:00
|
|
|
static const struct irq_routing_table intel_irq_routing_table = {
|
2006-01-28 00:46:30 +01:00
|
|
|
PIRQ_SIGNATURE, /* u32 signature */
|
|
|
|
PIRQ_VERSION, /* u16 version */
|
2009-10-07 23:51:33 +02:00
|
|
|
32+16*CONFIG_IRQ_SLOT_COUNT, /* there can be total CONFIG_IRQ_SLOT_COUNT devices on the bus */
|
2006-01-28 00:46:30 +01:00
|
|
|
0x00, /* Where the interrupt router lies (bus) */
|
|
|
|
(0x12<<3)|0x0, /* Where the interrupt router lies (dev) */
|
|
|
|
0x800, /* IRQs devoted exclusively to PCI usage */
|
|
|
|
0x1078, /* Vendor */
|
|
|
|
0x2, /* Device */
|
2010-09-21 23:16:27 +02:00
|
|
|
0, /* Miniport data */
|
2006-01-28 00:46:30 +01:00
|
|
|
{ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }, /* u8 rfu[11] */
|
|
|
|
0xdf, /* u8 checksum , this hase to set to some value that would give 0 after the sum of all bytes for this structure (including checksum) */
|
|
|
|
{
|
|
|
|
/* bus, dev|fn, {link, bitmap}, {link, bitmap}, {link, bitmap}, {link, bitmap}, slot, rfu */
|
|
|
|
{0x00,(0x0e<<3)|0x0, {{0x02, 0xdeb8}, {0x03, 0xdeb8}, {0x04, 0xdeb8}, {0x01, 0x0deb8}}, 0x1, 0x0},
|
|
|
|
{0x00,(0x0f<<3)|0x0, {{0x03, 0xdeb8}, {0x04, 0xdeb8}, {0x01, 0xdeb8}, {0x02, 0x0deb8}}, 0x2, 0x0},
|
|
|
|
}
|
|
|
|
};
|
|
|
|
unsigned long write_pirq_routing_table(unsigned long addr)
|
|
|
|
{
|
2012-11-16 00:15:15 +01:00
|
|
|
return copy_pirq_routing_table(addr, &intel_irq_routing_table);
|
2006-01-28 00:46:30 +01:00
|
|
|
}
|