pci-octeon.h 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. /*
  2. * This file is subject to the terms and conditions of the GNU General Public
  3. * License. See the file "COPYING" in the main directory of this archive
  4. * for more details.
  5. *
  6. * Copyright (C) 2005-2009 Cavium Networks
  7. */
  8. #ifndef __PCI_OCTEON_H__
  9. #define __PCI_OCTEON_H__
  10. #include <linux/pci.h>
  11. /* Some PCI cards require delays when accessing config space. */
  12. #define PCI_CONFIG_SPACE_DELAY 10000
  13. /*
  14. * pcibios_map_irq() is defined inside pci-octeon.c. All it does is
  15. * call the Octeon specific version pointed to by this variable. This
  16. * function needs to change for PCI or PCIe based hosts.
  17. */
  18. extern int (*octeon_pcibios_map_irq)(const struct pci_dev *dev,
  19. u8 slot, u8 pin);
  20. /*
  21. * The following defines are used when octeon_dma_bar_type =
  22. * OCTEON_DMA_BAR_TYPE_BIG
  23. */
  24. #define OCTEON_PCI_BAR1_HOLE_BITS 5
  25. #define OCTEON_PCI_BAR1_HOLE_SIZE (1ul<<(OCTEON_PCI_BAR1_HOLE_BITS+3))
  26. enum octeon_dma_bar_type {
  27. OCTEON_DMA_BAR_TYPE_INVALID,
  28. OCTEON_DMA_BAR_TYPE_SMALL,
  29. OCTEON_DMA_BAR_TYPE_BIG,
  30. OCTEON_DMA_BAR_TYPE_PCIE
  31. };
  32. /*
  33. * This tells the DMA mapping system in dma-octeon.c how to map PCI
  34. * DMA addresses.
  35. */
  36. extern enum octeon_dma_bar_type octeon_dma_bar_type;
  37. #endif