1 /* SPDX-License-Identifier: GPL-2.0-only */ 2 3 #ifndef AMD_PHOENIX_PCI_DEVS_H 4 #define AMD_PHOENIX_PCI_DEVS_H 5 6 #include <device/pci_def.h> 7 #include <amdblocks/pci_devs.h> 8 9 /* GNB Root Complex */ 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 */ 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 /* PCIe GFX/GPP Bridge device 1 with 4 ports */ 22 #define PCIE_GPP_BRIDGE_1_DEV 0x1 23 24 #define PCIE_GPP_1_1_FUNC 1 25 #define PCIE_GPP_1_1_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_1_FUNC) 26 #define SOC_GPP_1_1_DEV _SOC_DEV(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_1_FUNC) 27 28 #define PCIE_GPP_1_2_FUNC 2 29 #define PCIE_GPP_1_2_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_2_FUNC) 30 #define SOC_GPP_1_2_DEV _SOC_DEV(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_2_FUNC) 31 32 #define PCIE_GPP_1_3_FUNC 3 33 #define PCIE_GPP_1_3_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_3_FUNC) 34 #define SOC_GPP_1_3_DEV _SOC_DEV(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_3_FUNC) 35 36 #define PCIE_GPP_1_4_FUNC 4 37 #define PCIE_GPP_1_4_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_4_FUNC) 38 #define SOC_GPP_1_4_DEV _SOC_DEV(PCIE_GPP_BRIDGE_1_DEV, PCIE_GPP_1_4_FUNC) 39 40 /* PCIe GPP Bridge device 2 with up to 6 ports */ 41 #define PCIE_GPP_BRIDGE_2_DEV 0x2 42 43 #define PCIE_GPP_2_1_FUNC 1 44 #define PCIE_GPP_2_1_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_1_FUNC) 45 #define SOC_GPP_2_1_DEV _SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_1_FUNC) 46 47 #define PCIE_GPP_2_2_FUNC 2 48 #define PCIE_GPP_2_2_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_2_FUNC) 49 #define SOC_GPP_2_2_DEV _SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_2_FUNC) 50 51 #define PCIE_GPP_2_3_FUNC 3 52 #define PCIE_GPP_2_3_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_3_FUNC) 53 #define SOC_GPP_2_3_DEV _SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_3_FUNC) 54 55 #define PCIE_GPP_2_4_FUNC 4 56 #define PCIE_GPP_2_4_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_4_FUNC) 57 #define SOC_GPP_2_4_DEV _SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_4_FUNC) 58 59 #define PCIE_GPP_2_5_FUNC 5 60 #define PCIE_GPP_2_5_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_5_FUNC) 61 #define SOC_GPP_2_5_DEV _SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_5_FUNC) 62 63 #define PCIE_GPP_2_6_FUNC 6 64 #define PCIE_GPP_2_6_DEVFN PCI_DEVFN(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_6_FUNC) 65 #define SOC_GPP_2_6_DEV _SOC_DEV(PCIE_GPP_BRIDGE_2_DEV, PCIE_GPP_2_6_FUNC) 66 67 /* PCIe Bridges to Bus A, Bus B and Bus C devices */ 68 #define PCIE_ABC_BRIDGE_DEV 0x8 69 70 #define PCIE_ABC_A_FUNC 1 71 #define PCIE_ABC_A_DEVFN PCI_DEVFN(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_A_FUNC) 72 #define SOC_PCIE_ABC_A_DEV _SOC_DEV(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_A_FUNC) 73 74 #define GFX_DEV 0x0 75 #define GFX_FUNC 0 76 #define GFX_DEVFN PCI_DEVFN(GFX_DEV, GFX_FUNC) 77 78 #define GFX_HDA_DEV 0x0 79 #define GFX_HDA_FUNC 1 80 #define GFX_HDA_DEVFN PCI_DEVFN(GFX_HDA_DEV, GFX_HDA_FUNC) 81 82 #define XHCI0_DEV 0x0 83 #define XHCI0_FUNC 3 84 #define XHCI0_DEVFN PCI_DEVFN(XHCI0_DEV, XHCI0_FUNC) 85 86 #define XHCI1_DEV 0x0 87 #define XHCI1_FUNC 4 88 #define XHCI1_DEVFN PCI_DEVFN(XHCI1_DEV, XHCI1_FUNC) 89 90 #define AUDIO_DEV 0x0 91 #define AUDIO_FUNC 5 92 #define AUDIO_DEVFN PCI_DEVFN(AUDIO_DEV, AUDIO_FUNC) 93 94 #define HD_AUDIO_DEV 0x0 95 #define HD_AUDIO_FUNC 6 96 #define HD_AUDIO_DEVFN PCI_DEVFN(HD_AUDIO_DEV, HD_AUDIO_FUNC) 97 98 #define PCIE_ABC_B_FUNC 2 99 #define PCIE_GPP_B_DEVFN PCI_DEVFN(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_B_FUNC) 100 #define SOC_PCIE_GPP_B_DEV _SOC_DEV(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_B_FUNC) 101 102 #define GFX_IPU_DEV 0x0 103 #define GFX_IPU_FUNC 1 104 #define GFX_IPU_DEVFN PCI_DEVFN(GFX_IPU_DEV, GFX_IPU_FUNC) 105 106 #define PCIE_ABC_C_FUNC 3 107 #define PCIE_ABC_C_DEVFN PCI_DEVFN(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_C_FUNC) 108 #define SOC_PCIE_GPP_C_DEV _SOC_DEV(PCIE_ABC_BRIDGE_DEV, PCIE_ABC_C_FUNC) 109 110 #define USB4_XHCI0_DEV 0x0 111 #define USB4_XHCI0_FUNC 3 112 #define USB4_XHCI0_DEVFN PCI_DEVFN(USB4_XHCI0_DEV, USB4_XHCI0_FUNC) 113 114 #define USB4_XHCI1_DEV 0x0 115 #define USB4_XHCI1_FUNC 4 116 #define USB4_XHCI1_DEVFN PCI_DEVFN(USB4_XHCI1_DEV, USB4_XHCI1_FUNC) 117 118 #define USB4_ROUTER0_DEV 0x0 119 #define USB4_ROUTER0_FUNC 5 120 #define USB4_ROUTER0_DEVFN PCI_DEVFN(USB4_ROUTER0_DEV, USB4_ROUTER0_FUNC) 121 122 #define USB4_ROUTER1_DEV 0x0 123 #define USB4_ROUTER1_FUNC 6 124 #define USB4_ROUTER1_DEVFN PCI_DEVFN(USB4_ROUTER1_DEV, USB4_ROUTER1_FUNC) 125 126 /* SMBUS */ 127 #define SMBUS_DEV 0x14 128 #define SMBUS_FUNC 0 129 #define SMBUS_DEVFN PCI_DEVFN(SMBUS_DEV, SMBUS_FUNC) 130 #define SOC_SMBUS_DEV _SOC_DEV(SMBUS_DEV, SMBUS_FUNC) 131 132 /* LPC BUS */ 133 #define PCU_DEV 0x14 134 #define LPC_FUNC 3 135 #define LPC_DEVFN PCI_DEVFN(PCU_DEV, LPC_FUNC) 136 #define SOC_LPC_DEV _SOC_DEV(PCU_DEV, LPC_FUNC) 137 138 /* Data Fabric functions */ 139 #define DF_DEV 0x18 140 141 #define DF_F0_DEVFN PCI_DEVFN(DF_DEV, 0) 142 #define SOC_DF_F0_DEV _SOC_DEV(DF_DEV, 0) 143 144 #define DF_F1_DEVFN PCI_DEVFN(DF_DEV, 1) 145 #define SOC_DF_F1_DEV _SOC_DEV(DF_DEV, 1) 146 147 #define DF_F2_DEVFN PCI_DEVFN(DF_DEV, 2) 148 #define SOC_DF_F2_DEV _SOC_DEV(DF_DEV, 2) 149 150 #define DF_F3_DEVFN PCI_DEVFN(DF_DEV, 3) 151 #define SOC_DF_F3_DEV _SOC_DEV(DF_DEV, 3) 152 153 #define DF_F4_DEVFN PCI_DEVFN(DF_DEV, 4) 154 #define SOC_DF_F4_DEV _SOC_DEV(DF_DEV, 4) 155 156 #define DF_F5_DEVFN PCI_DEVFN(DF_DEV, 5) 157 #define SOC_DF_F5_DEV _SOC_DEV(DF_DEV, 5) 158 159 #define DF_F6_DEVFN PCI_DEVFN(DF_DEV, 6) 160 #define SOC_DF_F6_DEV _SOC_DEV(DF_DEV, 6) 161 162 #define DF_F7_DEVFN PCI_DEVFN(DF_DEV, 7) 163 #define SOC_DF_F7_DEV _SOC_DEV(DF_DEV, 7) 164 165 #endif /* AMD_PHOENIX_PCI_DEVS_H */ 166