diff options
Diffstat (limited to 'include/asm-m68knommu/mcfpci.h')
-rw-r--r-- | include/asm-m68knommu/mcfpci.h | 120 |
1 files changed, 120 insertions, 0 deletions
diff --git a/include/asm-m68knommu/mcfpci.h b/include/asm-m68knommu/mcfpci.h new file mode 100644 index 000000000000..d6229047d06e --- /dev/null +++ b/include/asm-m68knommu/mcfpci.h | |||
@@ -0,0 +1,120 @@ | |||
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 | #include <linux/config.h> | ||
16 | |||
17 | #ifdef CONFIG_PCI | ||
18 | |||
19 | /* | ||
20 | * Address regions in the PCI address space are not mapped into the | ||
21 | * normal memory space of the ColdFire. They must be accessed via | ||
22 | * handler routines. This is easy for I/O space (inb/outb/etc) but | ||
23 | * needs some code changes to support ordinary memory. Interrupts | ||
24 | * also need to be vectored through the PCI handler first, then it | ||
25 | * will call the actual driver sub-handlers. | ||
26 | */ | ||
27 | |||
28 | /* | ||
29 | * Un-define all the standard I/O access routines. | ||
30 | */ | ||
31 | #undef inb | ||
32 | #undef inw | ||
33 | #undef inl | ||
34 | #undef inb_p | ||
35 | #undef inw_p | ||
36 | #undef insb | ||
37 | #undef insw | ||
38 | #undef insl | ||
39 | #undef outb | ||
40 | #undef outw | ||
41 | #undef outl | ||
42 | #undef outb_p | ||
43 | #undef outw_p | ||
44 | #undef outsb | ||
45 | #undef outsw | ||
46 | #undef outsl | ||
47 | |||
48 | #undef request_irq | ||
49 | #undef free_irq | ||
50 | |||
51 | #undef bus_to_virt | ||
52 | #undef virt_to_bus | ||
53 | |||
54 | |||
55 | /* | ||
56 | * Re-direct all I/O memory accesses functions to PCI specific ones. | ||
57 | */ | ||
58 | #define inb pci_inb | ||
59 | #define inw pci_inw | ||
60 | #define inl pci_inl | ||
61 | #define inb_p pci_inb | ||
62 | #define inw_p pci_inw | ||
63 | #define insb pci_insb | ||
64 | #define insw pci_insw | ||
65 | #define insl pci_insl | ||
66 | |||
67 | #define outb pci_outb | ||
68 | #define outw pci_outw | ||
69 | #define outl pci_outl | ||
70 | #define outb_p pci_outb | ||
71 | #define outw_p pci_outw | ||
72 | #define outsb pci_outsb | ||
73 | #define outsw pci_outsw | ||
74 | #define outsl pci_outsl | ||
75 | |||
76 | #define request_irq pci_request_irq | ||
77 | #define free_irq pci_free_irq | ||
78 | |||
79 | #define virt_to_bus pci_virt_to_bus | ||
80 | #define bus_to_virt pci_bus_to_virt | ||
81 | |||
82 | #define CONFIG_COMEMPCI 1 | ||
83 | |||
84 | |||
85 | /* | ||
86 | * Prototypes of the real PCI functions (defined in bios32.c). | ||
87 | */ | ||
88 | unsigned char pci_inb(unsigned int addr); | ||
89 | unsigned short pci_inw(unsigned int addr); | ||
90 | unsigned int pci_inl(unsigned int addr); | ||
91 | void pci_insb(void *addr, void *buf, int len); | ||
92 | void pci_insw(void *addr, void *buf, int len); | ||
93 | void pci_insl(void *addr, void *buf, int len); | ||
94 | |||
95 | void pci_outb(unsigned char val, unsigned int addr); | ||
96 | void pci_outw(unsigned short val, unsigned int addr); | ||
97 | void pci_outl(unsigned int val, unsigned int addr); | ||
98 | void pci_outsb(void *addr, void *buf, int len); | ||
99 | void pci_outsw(void *addr, void *buf, int len); | ||
100 | void pci_outsl(void *addr, void *buf, int len); | ||
101 | |||
102 | int pci_request_irq(unsigned int irq, | ||
103 | void (*handler)(int, void *, struct pt_regs *), | ||
104 | unsigned long flags, | ||
105 | const char *device, | ||
106 | void *dev_id); | ||
107 | void pci_free_irq(unsigned int irq, void *dev_id); | ||
108 | |||
109 | void *pci_bmalloc(int size); | ||
110 | void pci_bmfree(void *bmp, int len); | ||
111 | void pci_copytoshmem(unsigned long bmp, void *src, int size); | ||
112 | void pci_copyfromshmem(void *dst, unsigned long bmp, int size); | ||
113 | unsigned long pci_virt_to_bus(volatile void *address); | ||
114 | void *pci_bus_to_virt(unsigned long address); | ||
115 | void pci_bmcpyto(void *dst, void *src, int len); | ||
116 | void pci_bmcpyfrom(void *dst, void *src, int len); | ||
117 | |||
118 | #endif /* CONFIG_PCI */ | ||
119 | /****************************************************************************/ | ||
120 | #endif /* mcfpci_h */ | ||