1 /* SPDX-License-Identifier: GPL-2.0 */
2 /*
3  * Copyright (C) 2021-2023 Alibaba Inc.
4  * Copyright (C) 2025 Linaro Ltd.
5  *
6  * Author: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
7  */
8 
9 #ifndef LINUX_PCIE_DWC_H
10 #define LINUX_PCIE_DWC_H
11 
12 #include <linux/pci_ids.h>
13 
14 struct dwc_pcie_vsec_id {
15 	u16 vendor_id;
16 	u16 vsec_id;
17 	u8 vsec_rev;
18 };
19 
20 /*
21  * VSEC IDs are allocated by the vendor, so a given ID may mean different
22  * things to different vendors.  See PCIe r6.0, sec 7.9.5.2.
23  */
24 static const struct dwc_pcie_vsec_id dwc_pcie_rasdes_vsec_ids[] = {
25 	{ .vendor_id = PCI_VENDOR_ID_ALIBABA,
26 	  .vsec_id = 0x02, .vsec_rev = 0x4 },
27 	{ .vendor_id = PCI_VENDOR_ID_AMPERE,
28 	  .vsec_id = 0x02, .vsec_rev = 0x4 },
29 	{ .vendor_id = PCI_VENDOR_ID_QCOM,
30 	  .vsec_id = 0x02, .vsec_rev = 0x4 },
31 	{ .vendor_id = PCI_VENDOR_ID_ROCKCHIP,
32 	  .vsec_id = 0x02, .vsec_rev = 0x4 },
33 	{ .vendor_id = PCI_VENDOR_ID_SAMSUNG,
34 	  .vsec_id = 0x02, .vsec_rev = 0x4 },
35 	{}
36 };
37 
38 #endif /* LINUX_PCIE_DWC_H */
39