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