1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef AMD_STONEYRIDGE_PCI_DEVS_H 4 #define AMD_STONEYRIDGE_PCI_DEVS_H 5 6 #include <device/pci_def.h> 7 #include <amdblocks/pci_devs.h> 8 9 /* GNB Root Complex: GNB_DEVID 0x1576 */ 10 #define GNB_DEV 0x0 11 #define GNB_FUNC 0 12 #define GNB_DEVFN PCI_DEVFN(GNB_DEV, GNB_FUNC) 13 #define SOC_GNB_DEV _SOC_DEV(GNB_DEV, GNB_FUNC) 14 15 /* IOMMU: IOMMU_DEVID 0x1577 */ 16 #define IOMMU_DEV 0x0 17 #define IOMMU_FUNC 2 18 #define IOMMU_DEVFN PCI_DEVFN(IOMMU_DEV, IOMMU_FUNC) 19 #define SOC_IOMMU_DEV _SOC_DEV(IOMMU_DEV, IOMMU_FUNC) 20 21 /* 22 * Internal Graphics 23 * Device IDs subject to SKU/OPN variation 24 * GFX_DEVID for merlinfalcon PCI_DID_AMD_15H_MODEL_606F_GFX 25 * GFX_DEVID for stoneyridge PCI_DID_AMD_15H_MODEL_707F_GFX 26 */ 27 #define GFX_DEV 0x1 28 #define GFX_FUNC 0 29 #define GFX_DEVFN PCI_DEVFN(GFX_DEV, GFX_FUNC) 30 #define SOC_GFX_DEV _SOC_DEV(GFX_DEV, GFX_FUNC) 31 32 /* HD Audio 0 33 * Device IDs 34 * HDA0_DEVID PCI_DID_AMD_15H_MODEL_606F_HDA 35 * HDA0_DEVID PCI_DID_AMD_15H_MODEL_707F_HDA 36 */ 37 #define HDA0_DEV 0x1 38 #define HDA0_FUNC 1 39 #define HDA0_DEVFN PCI_DEVFN(HDA0_DEV, HDA0_FUNC) 40 #define SOC_HDA0_DEV _SOC_DEV(HDA0_DEV, HDA0_FUNC) 41 42 /* Host Bridge: HOST_DEVID 0x157b */ 43 #define HOST_DEV 0x2 44 #define HOST_FUNC 0 45 #define HOST_DEVFN PCI_DEVFN(HOST_DEV, HOST_FUNC) 46 #define SOC_HOST_DEV _SOC_DEV(HOST_DEV, HOST_FUNC) 47 48 /* PCIe GPP Bridge 0: PCIE0_DEVID 0x157c */ 49 #define PCIE0_DEV 0x2 50 #define PCIE0_FUNC 1 51 #define PCIE0_DEVFN PCI_DEVFN(PCIE0_DEV, PCIE0_FUNC) 52 #define SOC_PCIE0_DEV _SOC_DEV(PCIE0_DEV, PCIE0_FUNC) 53 54 /* PCIe GPP Bridge 1: PCIE1_DEVID 0x157c */ 55 #define PCIE1_DEV 0x2 56 #define PCIE1_FUNC 2 57 #define PCIE1_DEVFN PCI_DEVFN(PCIE1_DEV, PCIE1_FUNC) 58 #define SOC_PCIE1_DEV _SOC_DEV(PCIE1_DEV, PCIE1_FUNC) 59 60 /* PCIe GPP Bridge 2: PCIE2_DEVID 0x157c */ 61 #define PCIE2_DEV 0x2 62 #define PCIE2_FUNC 3 63 #define PCIE2_DEVFN PCI_DEVFN(PCIE2_DEV, PCIE2_FUNC) 64 #define SOC_PCIE2_DEV _SOC_DEV(PCIE2_DEV, PCIE2_FUNC) 65 66 /* PCIe GPP Bridge 3: PCIE3_DEVID 0x157c */ 67 #define PCIE3_DEV 0x2 68 #define PCIE3_FUNC 4 69 #define PCIE3_DEVFN PCI_DEVFN(PCIE3_DEV, PCIE3_FUNC) 70 #define SOC_PCIE3_DEV _SOC_DEV(PCIE3_DEV, PCIE3_FUNC) 71 72 /* PCIe GPP Bridge 4: PCIE4_DEVID 0x157c */ 73 #define PCIE4_DEV 0x2 74 #define PCIE4_FUNC 5 75 #define PCIE4_DEVFN PCI_DEVFN(PCIE4_DEV, PCIE4_FUNC) 76 #define SOC_PCIE4_DEV _SOC_DEV(PCIE4_DEV, PCIE4_FUNC) 77 78 /* Platform Security Processor: PSP_DEVID 0x1578 */ 79 #define PSP_DEV 0x8 80 #define PSP_FUNC 0 81 #define PSP_DEVFN PCI_DEVFN(PSP_DEV, PSP_FUNC) 82 #define SOC_PSP_DEV _SOC_DEV(PSP_DEV, PSP_FUNC) 83 84 /* HD Audio 1: HDA1_DEVID 0x157a */ 85 #define HDA1_DEV 0x9 86 #define HDA1_FUNC 2 87 #define HDA1_DEVFN PCI_DEVFN(HDA1_DEV, HDA1_FUNC) 88 #define SOC_HDA1_DEV _SOC_DEV(HDA1_DEV, HDA1_FUNC) 89 90 /* HT Configuration 91 * Device IDs 92 * HT_DEVID for merlinfalcon PCI_DID_AMD_15H_MODEL_606F_NB_HT 93 * HT_DEVID for stoneyridge PCI_DID_AMD_15H_MODEL_707F_NB_HT 94 */ 95 #define HT_DEV 0x18 96 #define HT_FUNC 0 97 #define HT_DEVFN PCI_DEVFN(HT_DEV, HT_FUNC) 98 #define SOC_HT_DEV _SOC_DEV(HT_DEV, HT_FUNC) 99 100 /* Address Maps 101 * Device IDs 102 * ADDR_DEVID for merlinfalcon 0x1571 103 * ADDR_DEVID for stoneyridge 0x15b1 104 */ 105 #define ADDR_DEV 0x18 106 #define ADDR_FUNC 1 107 #define ADDR_DEVFN PCI_DEVFN(ADDR_DEV, ADDR_FUNC) 108 #define SOC_ADDR_DEV _SOC_DEV(ADDR_DEV, ADDR_FUNC) 109 110 /* DRAM Configuration 111 * Device IDs 112 * DCT_DEVID for merlinfalcon 0x1572 113 * DCT_DEVID for stoneyridge 0x15b2 114 */ 115 #define DCT_DEV 0x18 116 #define DCT_FUNC 2 117 #define DCT_DEVFN PCI_DEVFN(DCT_DEV, DCT_FUNC) 118 #define SOC_DCT_DEV _SOC_DEV(DCT_DEV, DCT_FUNC) 119 120 /* Misc. Configuration 121 * Device IDs 122 * MISC_DEVID for merlinfalcon 0x1573 123 * MISC_DEVID for stoneyridge 0x15b3 124 */ 125 #define MISC_DEV 0x18 126 #define MISC_FUNC 3 127 #define MISC_DEVFN PCI_DEVFN(MISC_DEV, MISC_FUNC) 128 #define SOC_MISC_DEV _SOC_DEV(MISC_DEV, MISC_FUNC) 129 130 /* PM Configuration 131 * Device IDs 132 * PM_DEVID for merlinfalcon 0x1574 133 * PM_DEVID for stoneyridge 0x15b4 134 */ 135 #define PM_DEV 0x18 136 #define PM_FUNC 4 137 #define PM_DEVFN PCI_DEVFN(PM_DEV, PM_FUNC) 138 #define SOC_PM_DEV _SOC_DEV(PM_DEV, PM_FUNC) 139 140 /* Northbridge Configuration 141 * Device IDs 142 * NB_DEVID for merlinfalcon 0x1575 143 * NB_DEVID for stoneyridge 0x15b5 144 */ 145 #define NB_DEV 0x18 146 #define NB_FUNC 5 147 #define NB_DEVFN PCI_DEVFN(NB_DEV, NB_FUNC) 148 #define SOC_NB_DEV _SOC_DEV(NB_DEV, NB_FUNC) 149 150 /* XHCI: XHCI_DEVID 0x7914 */ 151 #define XHCI_DEV 0x10 152 #define XHCI_FUNC 0 153 #define XHCI_DEVFN PCI_DEVFN(XHCI_DEV, XHCI_FUNC) 154 #define SOC_XHCI_DEV _SOC_DEV(XHCI_DEV, XHCI_FUNC) 155 156 /* 157 * SATA: 158 * SATA_IDE_IDEVID 0x7900 159 * AHCI_DEVID_MS 0x7901 160 * AHCI_DEVID_AMD 0x7904 161 */ 162 #define SATA_DEV 0x11 163 #define SATA_FUNC 0 164 #define SATA_DEVFN PCI_DEVFN(SATA_DEV, SATA_FUNC) 165 #define SOC_SATA_DEV _SOC_DEV(SATA_DEV, SATA_FUNC) 166 167 /* EHCI: EHCI_DEVID 0x7908 */ 168 #define EHCI_DEV 0x12 169 #define EHCI_FUNC 0 170 #define EHCI1_DEVFN PCI_DEVFN(EHCI_DEV, EHCI_FUNC) 171 #define SOC_EHCI1_DEV _SOC_DEV(EHCI_DEV, EHCI_FUNC) 172 173 /* SMBUS: SMBUS_DEVID 0x790b */ 174 #define SMBUS_DEV 0x14 175 #define SMBUS_FUNC 0 176 #define SMBUS_DEVFN PCI_DEVFN(SMBUS_DEV, SMBUS_FUNC) 177 #define SOC_SMBUS_DEV _SOC_DEV(SMBUS_DEV, SMBUS_FUNC) 178 179 /* LPC BUS: LPC_DEVID 0x790e */ 180 #define PCU_DEV 0x14 181 #define LPC_FUNC 3 182 #define LPC_DEVFN PCI_DEVFN(PCU_DEV, LPC_FUNC) 183 #define SOC_LPC_DEV _SOC_DEV(PCU_DEV, LPC_FUNC) 184 185 /* SD Controller: SD_DEVID 0x7906 */ 186 #define SD_DEV 0x14 187 #define SD_FUNC 7 188 #define SD_DEVFN PCI_DEVFN(SD_DEV, SD_FUNC) 189 #define SOC_SD_DEV _SOC_DEV(SD_DEV, SD_FUNC) 190 191 #endif /* AMD_STONEYRIDGE_PCI_DEVS_H */ 192