mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-08-19 08:28:51 +09:00
![Bin Meng](/assets/img/avatar_default.png)
The irqroute.asl file is already common enough to all x86 platforms. Platform ASL files need only provide a irqroute.h to describe how internal PCI devices and PCIe downstream port devices' INTx pins are routed to which PIRQ pin. Signed-off-by: Bin Meng <bmeng.cn@gmail.com> Reviewed-by: Simon Glass <sjg@chromium.org>
49 lines
1012 B
Plaintext
49 lines
1012 B
Plaintext
/*
|
|
* Copyright (C) 2007-2009 coresystems GmbH
|
|
* Copyright (C) 2013 Google Inc.
|
|
* Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
|
|
*
|
|
* Modified from coreboot src/soc/intel/baytrail/acpi/irqroute.asl
|
|
*
|
|
* SPDX-License-Identifier: GPL-2.0+
|
|
*/
|
|
|
|
Name(\PICM, 0)
|
|
|
|
/*
|
|
* The _PIC method is called by the OS to choose between interrupt
|
|
* routing via the i8259 interrupt controller or the APIC.
|
|
*
|
|
* _PIC is called with a parameter of 0 for i8259 configuration and
|
|
* with a parameter of 1 for Local APIC/IOAPIC configuration.
|
|
*/
|
|
Method(\_PIC, 1)
|
|
{
|
|
/* Remember the OS' IRQ routing choice */
|
|
Store(Arg0, PICM)
|
|
}
|
|
|
|
/* PCI interrupt routing */
|
|
Method(_PRT) {
|
|
If (PICM) {
|
|
Return (Package() {
|
|
#undef PIC_MODE
|
|
#include "irq_helper.h"
|
|
PCI_DEV_PIRQ_ROUTES
|
|
})
|
|
} Else {
|
|
Return (Package() {
|
|
#define PIC_MODE
|
|
#include "irq_helper.h"
|
|
PCI_DEV_PIRQ_ROUTES
|
|
})
|
|
}
|
|
|
|
}
|
|
|
|
/* PCIe downstream ports interrupt routing */
|
|
PCIE_BRIDGE_IRQ_ROUTES
|
|
#undef PIC_MODE
|
|
#include "irq_helper.h"
|
|
PCIE_BRIDGE_IRQ_ROUTES
|