home *** CD-ROM | disk | FTP | other *** search
/ Mac Easy 2010 May / Mac Life Ubuntu.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.28-15 / arch / m68knommu / include / asm / mcfpci.h < prev    next >
Encoding:
C/C++ Source or Header  |  2008-12-24  |  3.1 KB  |  120 lines

  1. /****************************************************************************/
  2.  
  3. /*
  4.  *    mcfpci.h -- PCI bridge on ColdFire eval boards.
  5.  *
  6.  *    (C) Copyright 2000, Greg Ungerer (gerg@snapgear.com)
  7.  *    (C) Copyright 2000, Lineo Inc. (www.lineo.com)
  8.  */
  9.  
  10. /****************************************************************************/
  11. #ifndef    mcfpci_h
  12. #define    mcfpci_h
  13. /****************************************************************************/
  14.  
  15.  
  16. #ifdef CONFIG_PCI
  17.  
  18. /*
  19.  *    Address regions in the PCI address space are not mapped into the
  20.  *    normal memory space of the ColdFire. They must be accessed via
  21.  *    handler routines. This is easy for I/O space (inb/outb/etc) but
  22.  *    needs some code changes to support ordinary memory. Interrupts
  23.  *    also need to be vectored through the PCI handler first, then it
  24.  *    will call the actual driver sub-handlers.
  25.  */
  26.  
  27. /*
  28.  *    Un-define all the standard I/O access routines.
  29.  */
  30. #undef    inb
  31. #undef    inw
  32. #undef    inl
  33. #undef    inb_p
  34. #undef    inw_p
  35. #undef    insb
  36. #undef    insw
  37. #undef    insl
  38. #undef    outb
  39. #undef    outw
  40. #undef    outl
  41. #undef    outb_p
  42. #undef    outw_p
  43. #undef    outsb
  44. #undef    outsw
  45. #undef    outsl
  46.  
  47. #undef    request_irq
  48. #undef    free_irq
  49.  
  50. #undef    bus_to_virt
  51. #undef    virt_to_bus
  52.  
  53.  
  54. /*
  55.  *    Re-direct all I/O memory accesses functions to PCI specific ones.
  56.  */
  57. #define    inb    pci_inb
  58. #define    inw    pci_inw
  59. #define    inl    pci_inl
  60. #define    inb_p    pci_inb
  61. #define    inw_p    pci_inw
  62. #define    insb    pci_insb
  63. #define    insw    pci_insw
  64. #define    insl    pci_insl
  65.  
  66. #define    outb    pci_outb
  67. #define    outw    pci_outw
  68. #define    outl    pci_outl
  69. #define    outb_p    pci_outb
  70. #define    outw_p    pci_outw
  71. #define    outsb    pci_outsb
  72. #define    outsw    pci_outsw
  73. #define    outsl    pci_outsl
  74.  
  75. #define    request_irq    pci_request_irq
  76. #define    free_irq    pci_free_irq
  77.  
  78. #define    virt_to_bus    pci_virt_to_bus
  79. #define    bus_to_virt    pci_bus_to_virt
  80.  
  81. #define    CONFIG_COMEMPCI    1
  82.  
  83.  
  84. /*
  85.  *    Prototypes of the real PCI functions (defined in bios32.c).
  86.  */
  87. unsigned char    pci_inb(unsigned int addr);
  88. unsigned short    pci_inw(unsigned int addr);
  89. unsigned int    pci_inl(unsigned int addr);
  90. void        pci_insb(void *addr, void *buf, int len);
  91. void        pci_insw(void *addr, void *buf, int len);
  92. void        pci_insl(void *addr, void *buf, int len);
  93.  
  94. void        pci_outb(unsigned char val, unsigned int addr);
  95. void        pci_outw(unsigned short val, unsigned int addr);
  96. void        pci_outl(unsigned int val, unsigned int addr);
  97. void        pci_outsb(void *addr, void *buf, int len);
  98. void        pci_outsw(void *addr, void *buf, int len);
  99. void        pci_outsl(void *addr, void *buf, int len);
  100.  
  101. int        pci_request_irq(unsigned int irq,
  102.             void (*handler)(int, void *, struct pt_regs *),
  103.             unsigned long flags,
  104.             const char *device,
  105.             void *dev_id);
  106. void        pci_free_irq(unsigned int irq, void *dev_id);
  107.  
  108. void        *pci_bmalloc(int size);
  109. void        pci_bmfree(void *bmp, int len);
  110. void        pci_copytoshmem(unsigned long bmp, void *src, int size);
  111. void        pci_copyfromshmem(void *dst, unsigned long bmp, int size);
  112. unsigned long    pci_virt_to_bus(volatile void *address);
  113. void        *pci_bus_to_virt(unsigned long address);
  114. void        pci_bmcpyto(void *dst, void *src, int len);
  115. void        pci_bmcpyfrom(void *dst, void *src, int len);
  116.  
  117. #endif /* CONFIG_PCI */
  118. /****************************************************************************/
  119. #endif    /* mcfpci_h */
  120.