• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /* SPDX-License-Identifier: GPL-2.0-only */
2 
3 #ifndef AMD_PICASSO_PCI_DEVS_H
4 #define AMD_PICASSO_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 GPP Bridges 0 - 6 */
22 #define PCIE_HOST_BRIDGE_06_DEV	0x1
23 
24 #define PCIE_GPP_0_FUNC		1
25 #define PCIE_GPP_0_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_0_FUNC)
26 #define SOC_GPP_0_DEV		_SOC_DEV(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_0_FUNC)
27 
28 #define PCIE_GPP_1_FUNC		2
29 #define PCIE_GPP_1_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_1_FUNC)
30 #define SOC_GPP_1_DEV		_SOC_DEV(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_1_FUNC)
31 
32 #define PCIE_GPP_2_FUNC		3
33 #define PCIE_GPP_2_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_2_FUNC)
34 #define SOC_GPP_2_DEV		_SOC_DEV(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_2_FUNC)
35 
36 #define PCIE_GPP_3_FUNC		4
37 #define PCIE_GPP_3_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_3_FUNC)
38 #define SOC_GPP_3_DEV		_SOC_DEV(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_3_FUNC)
39 
40 #define PCIE_GPP_4_FUNC		5
41 #define PCIE_GPP_4_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_4_FUNC)
42 #define SOC_GPP_4_DEV		_SOC_DEV(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_4_FUNC)
43 
44 #define PCIE_GPP_5_FUNC		6
45 #define PCIE_GPP_5_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_5_FUNC)
46 #define SOC_GPP_5_DEV		_SOC_DEV(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_5_FUNC)
47 
48 #define PCIE_GPP_6_FUNC		7
49 #define PCIE_GPP_6_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_6_FUNC)
50 #define SOC_GPP_6_DEV		_SOC_DEV(PCIE_HOST_BRIDGE_06_DEV, PCIE_GPP_6_FUNC)
51 
52 /* PCIe GPP Bridges to Bus A and Bus B devices */
53 #define PCIE_HOST_BRIDGE_AB_DEV	0x8
54 
55 #define PCIE_GPP_A_FUNC		1
56 #define PCIE_GPP_A_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_AB_DEV, PCIE_GPP_A_FUNC)
57 #define SOC_PCIE_GPP_A_DEV	_SOC_DEV(PCIE_HOST_BRIDGE_AB_DEV, PCIE_GPP_A_FUNC)
58 #define   GFX_DEV		0x0
59 #define   GFX_FUNC		0
60 #define   GFX_DEVFN		PCI_DEVFN(GFX_DEV, GFX_FUNC)
61 
62 #define   XHCI0_DEV		0x0
63 #define   XHCI0_FUNC		3
64 #define   XHCI0_DEVFN		PCI_DEVFN(XHCI0_DEV, XHCI0_FUNC)
65 
66 #define   XHCI1_DEV		0x0
67 #define   XHCI1_FUNC		4
68 #define   XHCI1_DEVFN		PCI_DEVFN(XHCI1_DEV, XHCI1_FUNC)
69 
70 #define   AUDIO_DEV		0x0
71 #define   AUDIO_FUNC		5
72 #define   AUDIO_DEVFN		PCI_DEVFN(AUDIO_DEV, AUDIO_FUNC)
73 
74 #define   HD_AUDIO_DEV		0x0
75 #define   HD_AUDIO_FUNC		6
76 #define   HD_AUDIO_DEVFN	PCI_DEVFN(HD_AUDIO_DEV, HD_AUDIO_FUNC)
77 
78 #define PCIE_GPP_B_FUNC		2
79 #define PCIE_GPP_B_DEVFN	PCI_DEVFN(PCIE_HOST_BRIDGE_AB_DEV, PCIE_GPP_B_FUNC)
80 #define SOC_PCIE_GPP_B_DEV	_SOC_DEV(PCIE_HOST_BRIDGE_AB_DEV, PCIE_GPP_B_FUNC)
81 #define   SATA_DEV		0x0
82 #define   SATA_FUNC		0
83 #define   SATA_DEVFN		PCI_DEVFN(SATA_DEV, SATA_FUNC)
84 
85 /* Data Fabric functions */
86 #define DF_DEV			0x18
87 
88 #define DF_F0_DEVFN		PCI_DEVFN(DF_DEV, 0)
89 #define SOC_DF_F0_DEV		_SOC_DEV(DF_DEV, 0)
90 
91 #define DF_F1_DEVFN		PCI_DEVFN(DF_DEV, 1)
92 #define SOC_DF_F1_DEV		_SOC_DEV(DF_DEV, 1)
93 
94 #define DF_F2_DEVFN		PCI_DEVFN(DF_DEV, 2)
95 #define SOC_DF_F2_DEV		_SOC_DEV(DF_DEV, 2)
96 
97 #define DF_F3_DEVFN		PCI_DEVFN(DF_DEV, 3)
98 #define SOC_DF_F3_DEV		_SOC_DEV(DF_DEV, 3)
99 
100 #define DF_F4_DEVFN		PCI_DEVFN(DF_DEV, 4)
101 #define SOC_DF_F4_DEV		_SOC_DEV(DF_DEV, 4)
102 
103 #define DF_F5_DEVFN		PCI_DEVFN(DF_DEV, 5)
104 #define SOC_DF_F5_DEV		_SOC_DEV(DF_DEV, 5)
105 
106 #define DF_F6_DEVFN		PCI_DEVFN(DF_DEV, 6)
107 #define SOC_DF_F6_DEV		_SOC_DEV(DF_DEV, 6)
108 
109 /* SMBUS */
110 #define SMBUS_DEV		0x14
111 #define SMBUS_FUNC		0
112 #define SMBUS_DEVFN		PCI_DEVFN(SMBUS_DEV, SMBUS_FUNC)
113 #define SOC_SMBUS_DEV		_SOC_DEV(SMBUS_DEV, SMBUS_FUNC)
114 
115 /* LPC BUS */
116 #define PCU_DEV			0x14
117 #define LPC_FUNC		3
118 #define LPC_DEVFN		PCI_DEVFN(PCU_DEV, LPC_FUNC)
119 #define SOC_LPC_DEV		_SOC_DEV(PCU_DEV, LPC_FUNC)
120 
121 #endif /* AMD_PICASSO_PCI_DEVS_H */
122