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