Skip to content

Commit eeb853a

Browse files
committed
software/kernel: Add Lattice/Gowin Vendor ID with CertusPro-NX/GW5AT Devices ID and rename Xilinx ones.
1 parent 98219ff commit eeb853a

File tree

2 files changed

+92
-71
lines changed

2 files changed

+92
-71
lines changed

litepcie/software/kernel/config.h

+54-40
Original file line numberDiff line numberDiff line change
@@ -12,46 +12,60 @@
1212
#define __HW_CONFIG_H
1313
#include "soc.h"
1414

15-
/* PCIe PHY Vendor/Device IDs */
16-
#define PCIE_FPGA_VENDOR_ID 0x10ee
17-
18-
#define PCIE_FPGA_DEVICE_ID_S7_GEN2_X1 0x7021
19-
#define PCIE_FPGA_DEVICE_ID_S7_GEN2_X2 0x7022
20-
#define PCIE_FPGA_DEVICE_ID_S7_GEN2_X4 0x7024
21-
#define PCIE_FPGA_DEVICE_ID_S7_GEN2_X8 0x7028
22-
23-
#define PCIE_FPGA_DEVICE_ID_US_GEN2_X1 0x8021
24-
#define PCIE_FPGA_DEVICE_ID_US_GEN2_X2 0x8022
25-
#define PCIE_FPGA_DEVICE_ID_US_GEN2_X4 0x8024
26-
#define PCIE_FPGA_DEVICE_ID_US_GEN2_X8 0x8028
27-
28-
#define PCIE_FPGA_DEVICE_ID_US_GEN3_X1 0x8031
29-
#define PCIE_FPGA_DEVICE_ID_US_GEN3_X2 0x8032
30-
#define PCIE_FPGA_DEVICE_ID_US_GEN3_X4 0x8034
31-
#define PCIE_FPGA_DEVICE_ID_US_GEN3_X8 0x8038
32-
33-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X1 0x9021
34-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X2 0x9022
35-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X4 0x9024
36-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X8 0x9028
37-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X16 0x902f
38-
39-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X1 0x9021
40-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X2 0x9022
41-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X4 0x9024
42-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X8 0x9028
43-
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X16 0x902f
44-
45-
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X1 0x9031
46-
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X2 0x9032
47-
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X4 0x9034
48-
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X8 0x9038
49-
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X16 0x903f
50-
51-
#define PCIE_FPGA_DEVICE_ID_USP_GEN4_X1 0x9041
52-
#define PCIE_FPGA_DEVICE_ID_USP_GEN4_X2 0x9042
53-
#define PCIE_FPGA_DEVICE_ID_USP_GEN4_X4 0x9044
54-
#define PCIE_FPGA_DEVICE_ID_USP_GEN4_X8 0x9048
15+
/* PCIe PHY Vendor IDs */
16+
17+
#define PCIE_XILINX_VENDOR_ID 0x10ee
18+
#define PCIE_LATTICE_VENDOR_ID 0x1204
19+
#define PCIE_GOWIN_VENDOR_ID 0x22c2
20+
21+
/* PCIe PHY Device IDs */
22+
23+
/* Xilinx */
24+
#define PCIE_XILINX_DEVICE_ID_S7_GEN2_X1 0x7021
25+
#define PCIE_XILINX_DEVICE_ID_S7_GEN2_X2 0x7022
26+
#define PCIE_XILINX_DEVICE_ID_S7_GEN2_X4 0x7024
27+
#define PCIE_XILINX_DEVICE_ID_S7_GEN2_X8 0x7028
28+
29+
#define PCIE_XILINX_DEVICE_ID_US_GEN2_X1 0x8021
30+
#define PCIE_XILINX_DEVICE_ID_US_GEN2_X2 0x8022
31+
#define PCIE_XILINX_DEVICE_ID_US_GEN2_X4 0x8024
32+
#define PCIE_XILINX_DEVICE_ID_US_GEN2_X8 0x8028
33+
34+
#define PCIE_XILINX_DEVICE_ID_US_GEN3_X1 0x8031
35+
#define PCIE_XILINX_DEVICE_ID_US_GEN3_X2 0x8032
36+
#define PCIE_XILINX_DEVICE_ID_US_GEN3_X4 0x8034
37+
#define PCIE_XILINX_DEVICE_ID_US_GEN3_X8 0x8038
38+
39+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X1 0x9021
40+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X2 0x9022
41+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X4 0x9024
42+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X8 0x9028
43+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X16 0x902f
44+
45+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X1 0x9021
46+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X2 0x9022
47+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X4 0x9024
48+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X8 0x9028
49+
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X16 0x902f
50+
51+
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X1 0x9031
52+
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X2 0x9032
53+
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X4 0x9034
54+
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X8 0x9038
55+
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X16 0x903f
56+
57+
#define PCIE_XILINX_DEVICE_ID_USP_GEN4_X1 0x9041
58+
#define PCIE_XILINX_DEVICE_ID_USP_GEN4_X2 0x9042
59+
#define PCIE_XILINX_DEVICE_ID_USP_GEN4_X4 0x9044
60+
#define PCIE_XILINX_DEVICE_ID_USP_GEN4_X8 0x9048
61+
62+
/* Lattice */
63+
64+
#define PCIE_LATTICE_DEVICE_ID_CPNX_GEN3_X4 0x9c25
65+
66+
/* Gowin */
67+
68+
#define PCIE_GOWIN_DEVICE_ID_GW5AT_GEN2_X4 0x1100
5569

5670
/* /!\ Keep in sync with csr.h /!\ */
5771

litepcie/software/kernel/main.c

+38-31
Original file line numberDiff line numberDiff line change
@@ -1234,37 +1234,44 @@ static void litepcie_pci_remove(struct pci_dev *dev)
12341234
}
12351235

12361236
static const struct pci_device_id litepcie_pci_ids[] = {
1237-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_S7_GEN2_X1), },
1238-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_S7_GEN2_X2), },
1239-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_S7_GEN2_X4), },
1240-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_S7_GEN2_X8), },
1241-
1242-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN2_X1), },
1243-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN2_X2), },
1244-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN2_X4), },
1245-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN2_X8), },
1246-
1247-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN3_X1), },
1248-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN3_X2), },
1249-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN3_X4), },
1250-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN3_X8), },
1251-
1252-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X1), },
1253-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X2), },
1254-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X4), },
1255-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X8), },
1256-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X16), },
1257-
1258-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X1), },
1259-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X2), },
1260-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X4), },
1261-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X8), },
1262-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X16), },
1263-
1264-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN4_X1), },
1265-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN4_X2), },
1266-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN4_X4), },
1267-
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN4_X8), },
1237+
/* Xilinx */
1238+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_S7_GEN2_X1), },
1239+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_S7_GEN2_X2), },
1240+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_S7_GEN2_X4), },
1241+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_S7_GEN2_X8), },
1242+
1243+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN2_X1), },
1244+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN2_X2), },
1245+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN2_X4), },
1246+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN2_X8), },
1247+
1248+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN3_X1), },
1249+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN3_X2), },
1250+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN3_X4), },
1251+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN3_X8), },
1252+
1253+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X1), },
1254+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X2), },
1255+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X4), },
1256+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X8), },
1257+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X16), },
1258+
1259+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X1), },
1260+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X2), },
1261+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X4), },
1262+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X8), },
1263+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X16), },
1264+
1265+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN4_X1), },
1266+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN4_X2), },
1267+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN4_X4), },
1268+
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN4_X8), },
1269+
1270+
/* Lattice */
1271+
{ PCI_DEVICE(PCIE_LATTICE_VENDOR_ID, PCIE_LATTICE_DEVICE_ID_CPNX_GEN3_X4), },
1272+
1273+
/* Gowin */
1274+
{ PCI_DEVICE(PCIE_GOWIN_VENDOR_ID, PCIE_GOWIN_DEVICE_ID_GW5AT_GEN2_X4), },
12681275

12691276
{ 0, }
12701277
};

0 commit comments

Comments
 (0)