coreboot-kgpe-d16/src/mainboard/intel
Tobias Diedrich 7f5efd90e5 intel/bd82x6x: Use generated ACPI PIRQ
Enable change Ic6b8ce4a9db50211a9c26221ca10105c5a0829a0
(sb/intel/common: Automatically generate ACPI PIRQ) for BD82X6X.

This generates the main ACPI _PRT table automatically based on the
chipset registers.

Tested on Intel NUC DCP847SKE with Linux 4.13.14:
$ cat /proc/interrupts
           CPU0       CPU1
  0:         23          0   IO-APIC   2-edge      timer
  8:          1          0   IO-APIC   8-edge      rtc0
  9:          0          0   IO-APIC   9-fasteoi   acpi
 19:         86          0   IO-APIC  19-fasteoi   ehci_hcd:usb1
 23:          0          0   IO-APIC  23-fasteoi   i801_smbus
[...MSI and other interrupts skipped...]

Log messages:
ACPI_PIRQ_GEN PCI: 00:02.0: pin=1 pirq=1
ACPI_PIRQ_GEN PCI: 00:1b.0: pin=1 pirq=1
ACPI_PIRQ_GEN PCI: 00:1c.0: pin=1 pirq=2
ACPI_PIRQ_GEN PCI: 00:1c.1: pin=2 pirq=6
ACPI_PIRQ_GEN PCI: 00:1c.2: pin=3 pirq=4
ACPI_PIRQ_GEN PCI: 00:1d.0: pin=1 pirq=4
ACPI_PIRQ_GEN PCI: 00:1f.2: pin=1 pirq=2
ACPI_PIRQ_GEN PCI: 00:1f.3: pin=2 pirq=8
ACPI_PIRQ_GEN PCI: 00:04.0: pin=1 pirq=1

Generated _PRT:
    Scope (\_SB.PCI0)
    {
        Method (_PRT, 0, NotSerialized)  // _PRT: PCI Routing Table
        {
            If (PICM)
            {
                Return (Package (0x09)
                {
                    Package (0x04)
                    {
                        0x0002FFFF,
                        0x00000000,
                        0x00000000,
                        0x00000010
                    },

                    Package (0x04)
                    {
                        0x001BFFFF,
                        0x00000000,
                        0x00000000,
                        0x00000010
                    },

                    Package (0x04)
                    {
                        0x001CFFFF,
                        0x00000000,
                        0x00000000,
                        0x00000011
                    },

                    Package (0x04)
                    {
                        0x001CFFFF,
                        0x00000001,
                        0x00000000,
                        0x00000015
                    },

                    Package (0x04)
                    {
                        0x001CFFFF,
                        0x00000002,
                        0x00000000,
                        0x00000013
                    },

                    Package (0x04)
                    {
                        0x001DFFFF,
                        0x00000000,
                        0x00000000,
                        0x00000013
                    },

                    Package (0x04)
                    {
                        0x001FFFFF,
                        0x00000000,
                        0x00000000,
                        0x00000011
                    },

                    Package (0x04)
                    {
                        0x001FFFFF,
                        0x00000001,
                        0x00000000,
                        0x00000017
                    },

                    Package (0x04)
                    {
                        0x0004FFFF,
                        0x00000000,
                        0x00000000,
                        0x00000010
                    }
                })
            }
            Else
            {
                Return (Package (0x09)
                {
                    Package (0x04)
                    {
                        0x0002FFFF,
                        0x00000000,
                        \_SB.PCI0.LPCB.LNKA,
                        0x00000000
                    },

                    Package (0x04)
                    {
                        0x001BFFFF,
                        0x00000000,
                        \_SB.PCI0.LPCB.LNKA,
                        0x00000000
                    },

                    Package (0x04)
                    {
                        0x001CFFFF,
                        0x00000000,
                        \_SB.PCI0.LPCB.LNKB,
                        0x00000000
                    },

                    Package (0x04)
                    {
                        0x001CFFFF,
                        0x00000001,
                        \_SB.PCI0.LPCB.LNKF,
                        0x00000000
                    },

                    Package (0x04)
                    {
                        0x001CFFFF,
                        0x00000002,
                        \_SB.PCI0.LPCB.LNKD,
                        0x00000000
                    },

                    Package (0x04)
                    {
                        0x001DFFFF,
                        0x00000000,
                        \_SB.PCI0.LPCB.LNKD,
                        0x00000000
                    },

                    Package (0x04)
                    {
                        0x001FFFFF,
                        0x00000000,
                        \_SB.PCI0.LPCB.LNKB,
                        0x00000000
                    },

                    Package (0x04)
                    {
                        0x001FFFFF,
                        0x00000001,
                        \_SB.PCI0.LPCB.LNKH,
                        0x00000000
                    },

                    Package (0x04)
                    {
                        0x0004FFFF,
                        0x00000000,
                        \_SB.PCI0.LPCB.LNKA,
                        0x00000000
                    }
                })
            }
        }
    }

Change-Id: I832a86925283d61b64b8268246d9e6f11994c120
Signed-off-by: Tobias Diedrich <ranma+coreboot@tdiedrich.de>
Reviewed-on: https://review.coreboot.org/22859
Tested-by: build bot (Jenkins) <no-reply@coreboot.org>
Reviewed-by: Arthur Heymans <arthur@aheymans.xyz>
2017-12-20 16:48:23 +00:00
..
apollolake_rvp drivers/intel/fsp2_0: Make FSP Headers Consumable out of Box 2016-09-02 18:12:24 +02:00
baskingridge mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
bayleybay_fsp mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
camelbackmountain_fsp mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
cannonlake_rvp mainboard/intel/cannonlake_rvp: Disable SATA controller 2017-12-20 16:47:39 +00:00
cougar_canyon2 mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
d510mo mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
d810e2cb mainboard/*/*/irq_tables.c: Use tabs for indents 2016-09-26 13:22:39 +02:00
d945gclf mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
dg43gt mb/intel/dg43gt: Add romstage timestamps 2017-09-23 22:29:35 +00:00
eagleheights intel: Replace msr(0x198) with msr(IA32_PERF_STATUS) 2017-11-30 17:21:17 +00:00
emeraldlake2 intel/bd82x6x: Use generated ACPI PIRQ 2017-12-20 16:48:23 +00:00
galileo security/vboot: Move vboot2 to security kconfig section 2017-10-22 02:14:46 +00:00
glkrvp mainboard/intel/glkrvp: Configure Prmrr and Enable SGX 2017-12-14 20:12:50 +00:00
harcuvar src/mainboard: Fix various typos 2017-11-23 05:01:47 +00:00
kblrvp skylake mainboards: Use PAD_CFG_GPI_GPIO_DRIVER instead of PAD_CFG_GPI 2017-10-09 20:20:40 +00:00
kunimitsu boardid: Switch from Kconfig to weak functions 2017-12-07 01:19:27 +00:00
leafhill soc/intel/common/block: Add LPC Common code and use it for APL 2017-08-15 19:59:21 +00:00
littleplains mainboard: use SeaBIOS config only when it's the payload of choice 2017-09-26 16:48:27 +00:00
minnow3 soc/intel/common/block: Add LPC Common code and use it for APL 2017-08-15 19:59:21 +00:00
minnowmax mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
mohonpeak mainboard: use SeaBIOS config only when it's the payload of choice 2017-09-26 16:48:27 +00:00
mtarvon intel: Replace msr(0x198) with msr(IA32_PERF_STATUS) 2017-11-30 17:21:17 +00:00
saddlebrook mainboard/intel/saddlebrook: add support for Saddle Brook 2017-12-19 15:36:48 +00:00
stargo2 mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
strago src/mainboard: Fix various typos 2017-11-23 05:01:47 +00:00
truxton src/mainboard/getac - kontron: Add space around operators 2016-09-20 21:54:45 +02:00
wtm2 mb/*/*: Remove rtc nvram configurable baud rate 2017-09-23 11:06:25 +00:00
Kconfig kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00
Kconfig.name kconfig: automatically include mainboards 2015-04-18 08:31:08 +02:00