xref: /OK3568_Linux_fs/u-boot/arch/x86/include/asm/acpi/irqroute.asl (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun/*
2*4882a593Smuzhiyun * Copyright (C) 2007-2009 coresystems GmbH
3*4882a593Smuzhiyun * Copyright (C) 2013 Google Inc.
4*4882a593Smuzhiyun * Copyright (C) 2016 Bin Meng <bmeng.cn@gmail.com>
5*4882a593Smuzhiyun *
6*4882a593Smuzhiyun * Modified from coreboot src/soc/intel/baytrail/acpi/irqroute.asl
7*4882a593Smuzhiyun *
8*4882a593Smuzhiyun * SPDX-License-Identifier:	GPL-2.0+
9*4882a593Smuzhiyun */
10*4882a593Smuzhiyun
11*4882a593SmuzhiyunName(\PICM, 0)
12*4882a593Smuzhiyun
13*4882a593Smuzhiyun/*
14*4882a593Smuzhiyun * The _PIC method is called by the OS to choose between interrupt
15*4882a593Smuzhiyun * routing via the i8259 interrupt controller or the APIC.
16*4882a593Smuzhiyun *
17*4882a593Smuzhiyun * _PIC is called with a parameter of 0 for i8259 configuration and
18*4882a593Smuzhiyun * with a parameter of 1 for Local APIC/IOAPIC configuration.
19*4882a593Smuzhiyun */
20*4882a593SmuzhiyunMethod(\_PIC, 1)
21*4882a593Smuzhiyun{
22*4882a593Smuzhiyun	/* Remember the OS' IRQ routing choice */
23*4882a593Smuzhiyun	Store(Arg0, PICM)
24*4882a593Smuzhiyun}
25*4882a593Smuzhiyun
26*4882a593Smuzhiyun/* PCI interrupt routing */
27*4882a593SmuzhiyunMethod(_PRT) {
28*4882a593Smuzhiyun	If (PICM) {
29*4882a593Smuzhiyun		Return (Package() {
30*4882a593Smuzhiyun			#undef PIC_MODE
31*4882a593Smuzhiyun			#include "irq_helper.h"
32*4882a593Smuzhiyun			PCI_DEV_PIRQ_ROUTES
33*4882a593Smuzhiyun		})
34*4882a593Smuzhiyun	} Else {
35*4882a593Smuzhiyun		Return (Package() {
36*4882a593Smuzhiyun			#define PIC_MODE
37*4882a593Smuzhiyun			#include "irq_helper.h"
38*4882a593Smuzhiyun			PCI_DEV_PIRQ_ROUTES
39*4882a593Smuzhiyun		})
40*4882a593Smuzhiyun	}
41*4882a593Smuzhiyun
42*4882a593Smuzhiyun}
43*4882a593Smuzhiyun
44*4882a593Smuzhiyun/* PCIe downstream ports interrupt routing */
45*4882a593SmuzhiyunPCIE_BRIDGE_IRQ_ROUTES
46*4882a593Smuzhiyun#undef PIC_MODE
47*4882a593Smuzhiyun#include "irq_helper.h"
48*4882a593SmuzhiyunPCIE_BRIDGE_IRQ_ROUTES
49