1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2
3 #include <amdblocks/amd_pci_util.h>
4 #include <commonlib/bsd/helpers.h>
5 #include <soc/pci_devs.h>
6 #include <stddef.h>
7
8 /* See AMD PPR 55570 - IOAPIC Initialization for the table that AGESA sets up */
9 const struct pci_routing_info pci_routing_table[] = {
10 {PCIE_GPP_0_DEVFN, 0, PCI_SWIZZLE_ABCD, 0x10},
11 {PCIE_GPP_1_DEVFN, 1, PCI_SWIZZLE_ABCD, 0x11},
12 {PCIE_GPP_2_DEVFN, 2, PCI_SWIZZLE_ABCD, 0x12},
13 {PCIE_GPP_3_DEVFN, 3, PCI_SWIZZLE_ABCD, 0x13},
14 {PCIE_GPP_4_DEVFN, 4, PCI_SWIZZLE_ABCD, 0x10},
15 {PCIE_GPP_5_DEVFN, 5, PCI_SWIZZLE_ABCD, 0x11},
16 {PCIE_GPP_6_DEVFN, 6, PCI_SWIZZLE_ABCD, 0x12},
17 {PCIE_GPP_A_DEVFN, 7, PCI_SWIZZLE_ABCD, 0x13},
18 {PCIE_GPP_B_DEVFN, 7, PCI_SWIZZLE_CDAB, 0x0C},
19 };
20
get_pci_routing_table(size_t * entries)21 const struct pci_routing_info *get_pci_routing_table(size_t *entries)
22 {
23 *entries = ARRAY_SIZE(pci_routing_table);
24 return pci_routing_table;
25 }
26