linux/include/asm-m68knommu/mcfpci.h
<<
>>
Prefs
   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 */
  87unsigned char   pci_inb(unsigned int addr);
  88unsigned short  pci_inw(unsigned int addr);
  89unsigned int    pci_inl(unsigned int addr);
  90void            pci_insb(void *addr, void *buf, int len);
  91void            pci_insw(void *addr, void *buf, int len);
  92void            pci_insl(void *addr, void *buf, int len);
  93
  94void            pci_outb(unsigned char val, unsigned int addr);
  95void            pci_outw(unsigned short val, unsigned int addr);
  96void            pci_outl(unsigned int val, unsigned int addr);
  97void            pci_outsb(void *addr, void *buf, int len);
  98void            pci_outsw(void *addr, void *buf, int len);
  99void            pci_outsl(void *addr, void *buf, int len);
 100
 101int             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);
 106void            pci_free_irq(unsigned int irq, void *dev_id);
 107
 108void            *pci_bmalloc(int size);
 109void            pci_bmfree(void *bmp, int len);
 110void            pci_copytoshmem(unsigned long bmp, void *src, int size);
 111void            pci_copyfromshmem(void *dst, unsigned long bmp, int size);
 112unsigned long   pci_virt_to_bus(volatile void *address);
 113void            *pci_bus_to_virt(unsigned long address);
 114void            pci_bmcpyto(void *dst, void *src, int len);
 115void            pci_bmcpyfrom(void *dst, void *src, int len);
 116
 117#endif /* CONFIG_PCI */
 118/****************************************************************************/
 119#endif  /* mcfpci_h */
 120