1a977ee94SThippeswamy Havalige /* SPDX-License-Identifier: GPL-2.0 */
2a977ee94SThippeswamy Havalige /*
3a977ee94SThippeswamy Havalige  * (C) Copyright 2023, Xilinx, Inc.
4a977ee94SThippeswamy Havalige  */
5a977ee94SThippeswamy Havalige 
6a977ee94SThippeswamy Havalige #include <linux/pci.h>
7a977ee94SThippeswamy Havalige #include <linux/pci-ecam.h>
8a977ee94SThippeswamy Havalige #include <linux/platform_device.h>
9a977ee94SThippeswamy Havalige 
10a977ee94SThippeswamy Havalige /* Interrupt registers definitions */
11a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_LINK_DOWN		0
12a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_HOT_RESET		3
13a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_CFG_PCIE_TIMEOUT	4
14a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_CFG_TIMEOUT		8
15a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_CORRECTABLE		9
16a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_NONFATAL		10
17a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_FATAL			11
18a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_CFG_ERR_POISON		12
19a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_PME_TO_ACK_RCVD	15
20a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_INTX			16
21a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_PM_PME_RCVD		17
22*8d786149SThippeswamy Havalige #define XILINX_PCIE_INTR_MSI			17
23a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_SLV_UNSUPP		20
24a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_SLV_UNEXP		21
25a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_SLV_COMPL		22
26a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_SLV_ERRP		23
27a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_SLV_CMPABT		24
28a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_SLV_ILLBUR		25
29a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_MST_DECERR		26
30a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_MST_SLVERR		27
31a977ee94SThippeswamy Havalige #define XILINX_PCIE_INTR_SLV_PCIE_TIMEOUT	28
32