pci.h 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. #ifndef _IOP13XX_PCI_H_
  3. #define _IOP13XX_PCI_H_
  4. #include <linux/io.h>
  5. #include <mach/irqs.h>
  6. #include <linux/types.h>
  7. extern void __iomem *iop13xx_atue_mem_base;
  8. extern void __iomem *iop13xx_atux_mem_base;
  9. extern size_t iop13xx_atue_mem_size;
  10. extern size_t iop13xx_atux_mem_size;
  11. struct pci_sys_data;
  12. struct pci_host_bridge;
  13. struct hw_pci;
  14. int iop13xx_pci_setup(int nr, struct pci_sys_data *sys);
  15. int iop13xx_scan_bus(int nr, struct pci_host_bridge *bridge);
  16. void iop13xx_atu_select(struct hw_pci *plat_pci);
  17. void iop13xx_pci_init(void);
  18. void iop13xx_map_pci_memory(void);
  19. #define IOP_PCI_STATUS_ERROR (PCI_STATUS_PARITY | \
  20. PCI_STATUS_SIG_TARGET_ABORT | \
  21. PCI_STATUS_REC_TARGET_ABORT | \
  22. PCI_STATUS_REC_TARGET_ABORT | \
  23. PCI_STATUS_REC_MASTER_ABORT | \
  24. PCI_STATUS_SIG_SYSTEM_ERROR | \
  25. PCI_STATUS_DETECTED_PARITY)
  26. #define IOP13XX_ATUE_ATUISR_ERROR (IOP13XX_ATUE_STAT_HALT_ON_ERROR | \
  27. IOP13XX_ATUE_STAT_ROOT_SYS_ERR | \
  28. IOP13XX_ATUE_STAT_PCI_IFACE_ERR | \
  29. IOP13XX_ATUE_STAT_ERR_COR | \
  30. IOP13XX_ATUE_STAT_ERR_UNCOR | \
  31. IOP13XX_ATUE_STAT_CRS | \
  32. IOP13XX_ATUE_STAT_DET_PAR_ERR | \
  33. IOP13XX_ATUE_STAT_EXT_REC_MABORT | \
  34. IOP13XX_ATUE_STAT_SIG_TABORT | \
  35. IOP13XX_ATUE_STAT_EXT_REC_TABORT | \
  36. IOP13XX_ATUE_STAT_MASTER_DATA_PAR)
  37. #define IOP13XX_ATUX_ATUISR_ERROR (IOP13XX_ATUX_STAT_TX_SCEM | \
  38. IOP13XX_ATUX_STAT_REC_SCEM | \
  39. IOP13XX_ATUX_STAT_TX_SERR | \
  40. IOP13XX_ATUX_STAT_DET_PAR_ERR | \
  41. IOP13XX_ATUX_STAT_INT_REC_MABORT | \
  42. IOP13XX_ATUX_STAT_REC_SERR | \
  43. IOP13XX_ATUX_STAT_EXT_REC_MABORT | \
  44. IOP13XX_ATUX_STAT_EXT_REC_TABORT | \
  45. IOP13XX_ATUX_STAT_EXT_SIG_TABORT | \
  46. IOP13XX_ATUX_STAT_MASTER_DATA_PAR)
  47. /* PCI interrupts
  48. */
  49. #define ATUX_INTA IRQ_IOP13XX_XINT0
  50. #define ATUX_INTB IRQ_IOP13XX_XINT1
  51. #define ATUX_INTC IRQ_IOP13XX_XINT2
  52. #define ATUX_INTD IRQ_IOP13XX_XINT3
  53. #define ATUE_INTA IRQ_IOP13XX_ATUE_IMA
  54. #define ATUE_INTB IRQ_IOP13XX_ATUE_IMB
  55. #define ATUE_INTC IRQ_IOP13XX_ATUE_IMC
  56. #define ATUE_INTD IRQ_IOP13XX_ATUE_IMD
  57. #endif /* _IOP13XX_PCI_H_ */