blob: aab37f475748d52debdcda51ab2f17f0a74638d3 [file] [log] [blame]
Furquan Shaikhcff479e2020-07-08 15:47:19 -07001/* SPDX-License-Identifier: GPL-2.0-or-later */
2
Raul E Rangel4e80fae2020-12-16 10:08:41 -07003#include <amdblocks/amd_pci_util.h>
Elyes Haouas68eb4392022-10-08 13:24:08 +02004#include <commonlib/bsd/helpers.h>
Furquan Shaikhcff479e2020-07-08 15:47:19 -07005#include <soc/pci_devs.h>
Elyes Haouas68eb4392022-10-08 13:24:08 +02006#include <stddef.h>
Furquan Shaikhcff479e2020-07-08 15:47:19 -07007
Raul E Rangela8405a42021-05-07 11:19:42 -06008/* See AMD PPR 55570 - IOAPIC Initialization for the table that AGESA sets up */
9const 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},
Raul E Rangel2f5fd112020-12-14 16:55:09 -070019};
20
Raul E Rangela8405a42021-05-07 11:19:42 -060021const 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}