• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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