1 /****************************************************************************/
4 * mcfpci.h -- PCI bridge on ColdFire eval boards.
6 * (C) Copyright 2000, Greg Ungerer (gerg@snapgear.com)
7 * (C) Copyright 2000, Lineo Inc. (www.lineo.com)
10 /****************************************************************************/
13 /****************************************************************************/
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.
28 * Un-define all the standard I/O access routines.
55 * Re-direct all I/O memory accesses functions to PCI specific ones.
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
75 #define request_irq pci_request_irq
76 #define free_irq pci_free_irq
78 #define virt_to_bus pci_virt_to_bus
79 #define bus_to_virt pci_bus_to_virt
81 #define CONFIG_COMEMPCI 1
85 * Prototypes of the real PCI functions (defined in bios32.c).
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
);
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
);
101 int pci_request_irq(unsigned int irq
,
102 void (*handler
)(int, void *, struct pt_regs
*),
106 void pci_free_irq(unsigned int irq
, void *dev_id
);
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
);
117 #endif /* CONFIG_PCI */
118 /****************************************************************************/
119 #endif /* mcfpci_h */