Skip to content

Commit

Permalink
software/kernel: Add Lattice/Gowin Vendor ID with CertusPro-NX/GW5AT …
Browse files Browse the repository at this point in the history
…Devices ID and rename Xilinx ones.
  • Loading branch information
enjoy-digital committed Jul 12, 2024
1 parent 98219ff commit eeb853a
Show file tree
Hide file tree
Showing 2 changed files with 92 additions and 71 deletions.
94 changes: 54 additions & 40 deletions litepcie/software/kernel/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -12,46 +12,60 @@
#define __HW_CONFIG_H
#include "soc.h"

/* PCIe PHY Vendor/Device IDs */
#define PCIE_FPGA_VENDOR_ID 0x10ee

#define PCIE_FPGA_DEVICE_ID_S7_GEN2_X1 0x7021
#define PCIE_FPGA_DEVICE_ID_S7_GEN2_X2 0x7022
#define PCIE_FPGA_DEVICE_ID_S7_GEN2_X4 0x7024
#define PCIE_FPGA_DEVICE_ID_S7_GEN2_X8 0x7028

#define PCIE_FPGA_DEVICE_ID_US_GEN2_X1 0x8021
#define PCIE_FPGA_DEVICE_ID_US_GEN2_X2 0x8022
#define PCIE_FPGA_DEVICE_ID_US_GEN2_X4 0x8024
#define PCIE_FPGA_DEVICE_ID_US_GEN2_X8 0x8028

#define PCIE_FPGA_DEVICE_ID_US_GEN3_X1 0x8031
#define PCIE_FPGA_DEVICE_ID_US_GEN3_X2 0x8032
#define PCIE_FPGA_DEVICE_ID_US_GEN3_X4 0x8034
#define PCIE_FPGA_DEVICE_ID_US_GEN3_X8 0x8038

#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X1 0x9021
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X2 0x9022
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X4 0x9024
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X8 0x9028
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X16 0x902f

#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X1 0x9021
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X2 0x9022
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X4 0x9024
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X8 0x9028
#define PCIE_FPGA_DEVICE_ID_USP_GEN2_X16 0x902f

#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X1 0x9031
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X2 0x9032
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X4 0x9034
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X8 0x9038
#define PCIE_FPGA_DEVICE_ID_USP_GEN3_X16 0x903f

#define PCIE_FPGA_DEVICE_ID_USP_GEN4_X1 0x9041
#define PCIE_FPGA_DEVICE_ID_USP_GEN4_X2 0x9042
#define PCIE_FPGA_DEVICE_ID_USP_GEN4_X4 0x9044
#define PCIE_FPGA_DEVICE_ID_USP_GEN4_X8 0x9048
/* PCIe PHY Vendor IDs */

#define PCIE_XILINX_VENDOR_ID 0x10ee
#define PCIE_LATTICE_VENDOR_ID 0x1204
#define PCIE_GOWIN_VENDOR_ID 0x22c2

/* PCIe PHY Device IDs */

/* Xilinx */
#define PCIE_XILINX_DEVICE_ID_S7_GEN2_X1 0x7021
#define PCIE_XILINX_DEVICE_ID_S7_GEN2_X2 0x7022
#define PCIE_XILINX_DEVICE_ID_S7_GEN2_X4 0x7024
#define PCIE_XILINX_DEVICE_ID_S7_GEN2_X8 0x7028

#define PCIE_XILINX_DEVICE_ID_US_GEN2_X1 0x8021
#define PCIE_XILINX_DEVICE_ID_US_GEN2_X2 0x8022
#define PCIE_XILINX_DEVICE_ID_US_GEN2_X4 0x8024
#define PCIE_XILINX_DEVICE_ID_US_GEN2_X8 0x8028

#define PCIE_XILINX_DEVICE_ID_US_GEN3_X1 0x8031
#define PCIE_XILINX_DEVICE_ID_US_GEN3_X2 0x8032
#define PCIE_XILINX_DEVICE_ID_US_GEN3_X4 0x8034
#define PCIE_XILINX_DEVICE_ID_US_GEN3_X8 0x8038

#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X1 0x9021
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X2 0x9022
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X4 0x9024
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X8 0x9028
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X16 0x902f

#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X1 0x9021
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X2 0x9022
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X4 0x9024
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X8 0x9028
#define PCIE_XILINX_DEVICE_ID_USP_GEN2_X16 0x902f

#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X1 0x9031
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X2 0x9032
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X4 0x9034
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X8 0x9038
#define PCIE_XILINX_DEVICE_ID_USP_GEN3_X16 0x903f

#define PCIE_XILINX_DEVICE_ID_USP_GEN4_X1 0x9041
#define PCIE_XILINX_DEVICE_ID_USP_GEN4_X2 0x9042
#define PCIE_XILINX_DEVICE_ID_USP_GEN4_X4 0x9044
#define PCIE_XILINX_DEVICE_ID_USP_GEN4_X8 0x9048

/* Lattice */

#define PCIE_LATTICE_DEVICE_ID_CPNX_GEN3_X4 0x9c25

/* Gowin */

#define PCIE_GOWIN_DEVICE_ID_GW5AT_GEN2_X4 0x1100

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

Expand Down
69 changes: 38 additions & 31 deletions litepcie/software/kernel/main.c
Original file line number Diff line number Diff line change
Expand Up @@ -1234,37 +1234,44 @@ static void litepcie_pci_remove(struct pci_dev *dev)
}

static const struct pci_device_id litepcie_pci_ids[] = {
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_S7_GEN2_X1), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_S7_GEN2_X2), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_S7_GEN2_X4), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_S7_GEN2_X8), },

{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN2_X1), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN2_X2), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN2_X4), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN2_X8), },

{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN3_X1), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN3_X2), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN3_X4), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_US_GEN3_X8), },

{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X1), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X2), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X4), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X8), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN2_X16), },

{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X1), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X2), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X4), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X8), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN3_X16), },

{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN4_X1), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN4_X2), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN4_X4), },
{ PCI_DEVICE(PCIE_FPGA_VENDOR_ID, PCIE_FPGA_DEVICE_ID_USP_GEN4_X8), },
/* Xilinx */
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_S7_GEN2_X1), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_S7_GEN2_X2), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_S7_GEN2_X4), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_S7_GEN2_X8), },

{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN2_X1), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN2_X2), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN2_X4), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN2_X8), },

{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN3_X1), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN3_X2), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN3_X4), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_US_GEN3_X8), },

{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X1), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X2), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X4), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X8), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN2_X16), },

{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X1), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X2), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X4), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X8), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN3_X16), },

{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN4_X1), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN4_X2), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN4_X4), },
{ PCI_DEVICE(PCIE_XILINX_VENDOR_ID, PCIE_XILINX_DEVICE_ID_USP_GEN4_X8), },

/* Lattice */
{ PCI_DEVICE(PCIE_LATTICE_VENDOR_ID, PCIE_LATTICE_DEVICE_ID_CPNX_GEN3_X4), },

/* Gowin */
{ PCI_DEVICE(PCIE_GOWIN_VENDOR_ID, PCIE_GOWIN_DEVICE_ID_GW5AT_GEN2_X4), },

{ 0, }
};
Expand Down

0 comments on commit eeb853a

Please sign in to comment.