aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-m68k
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-m68k')
-rw-r--r--include/asm-m68k/dma.h4
-rw-r--r--include/asm-m68k/io.h66
-rw-r--r--include/asm-m68k/pci.h46
3 files changed, 7 insertions, 109 deletions
diff --git a/include/asm-m68k/dma.h b/include/asm-m68k/dma.h
index d0c9e61e57b4..4240fbc946f8 100644
--- a/include/asm-m68k/dma.h
+++ b/include/asm-m68k/dma.h
@@ -11,10 +11,6 @@
11extern int request_dma(unsigned int dmanr, const char * device_id); /* reserve a DMA channel */ 11extern int request_dma(unsigned int dmanr, const char * device_id); /* reserve a DMA channel */
12extern void free_dma(unsigned int dmanr); /* release it again */ 12extern void free_dma(unsigned int dmanr); /* release it again */
13 13
14#ifdef CONFIG_PCI
15extern int isa_dma_bridge_buggy;
16#else
17#define isa_dma_bridge_buggy (0) 14#define isa_dma_bridge_buggy (0)
18#endif
19 15
20#endif /* _M68K_DMA_H */ 16#endif /* _M68K_DMA_H */
diff --git a/include/asm-m68k/io.h b/include/asm-m68k/io.h
index 657187f0c7c2..9e673e3bd434 100644
--- a/include/asm-m68k/io.h
+++ b/include/asm-m68k/io.h
@@ -7,15 +7,12 @@
7 * - added skeleton for GG-II and Amiga PCMCIA 7 * - added skeleton for GG-II and Amiga PCMCIA
8 * 2/3/01 RZ: - moved a few more defs into raw_io.h 8 * 2/3/01 RZ: - moved a few more defs into raw_io.h
9 * 9 *
10 * inX/outX/readX/writeX should not be used by any driver unless it does 10 * inX/outX should not be used by any driver unless it does
11 * ISA or PCI access. Other drivers should use function defined in raw_io.h 11 * ISA access. Other drivers should use function defined in raw_io.h
12 * or define its own macros on top of these. 12 * or define its own macros on top of these.
13 * 13 *
14 * inX(),outX() are for PCI and ISA I/O 14 * inX(),outX() are for ISA I/O
15 * readX(),writeX() are for PCI memory
16 * isa_readX(),isa_writeX() are for ISA memory 15 * isa_readX(),isa_writeX() are for ISA memory
17 *
18 * moved mem{cpy,set}_*io inside CONFIG_PCI
19 */ 16 */
20 17
21#ifndef _IO_H 18#ifndef _IO_H
@@ -256,10 +253,7 @@ static inline void isa_delay(void)
256 (ISA_SEX ? raw_outsl(isa_itl(port), (u32 *)(buf), (nr)) : \ 253 (ISA_SEX ? raw_outsl(isa_itl(port), (u32 *)(buf), (nr)) : \
257 raw_outsw_swapw(isa_itw(port), (u16 *)(buf), (nr)<<1)) 254 raw_outsw_swapw(isa_itw(port), (u16 *)(buf), (nr)<<1))
258 255
259#endif /* CONFIG_ISA */
260
261 256
262#if defined(CONFIG_ISA) && !defined(CONFIG_PCI)
263#define inb isa_inb 257#define inb isa_inb
264#define inb_p isa_inb_p 258#define inb_p isa_inb_p
265#define outb isa_outb 259#define outb isa_outb
@@ -282,55 +276,9 @@ static inline void isa_delay(void)
282#define readw isa_readw 276#define readw isa_readw
283#define writeb isa_writeb 277#define writeb isa_writeb
284#define writew isa_writew 278#define writew isa_writew
285#endif /* CONFIG_ISA */
286
287#if defined(CONFIG_PCI)
288
289#define readl(addr) in_le32(addr)
290#define writel(val,addr) out_le32((addr),(val))
291
292/* those can be defined for both ISA and PCI - it won't work though */
293#define readb(addr) in_8(addr)
294#define readw(addr) in_le16(addr)
295#define writeb(val,addr) out_8((addr),(val))
296#define writew(val,addr) out_le16((addr),(val))
297 279
298#define readb_relaxed(addr) readb(addr) 280#else /* CONFIG_ISA */
299#define readw_relaxed(addr) readw(addr)
300#define readl_relaxed(addr) readl(addr)
301 281
302#ifndef CONFIG_ISA
303#define inb(port) in_8(port)
304#define outb(val,port) out_8((port),(val))
305#define inw(port) in_le16(port)
306#define outw(val,port) out_le16((port),(val))
307#define inl(port) in_le32(port)
308#define outl(val,port) out_le32((port),(val))
309
310#else
311/*
312 * kernel with both ISA and PCI compiled in, those have
313 * conflicting defs for in/out. Simply consider port < 1024
314 * ISA and everything else PCI. read,write not defined
315 * in this case
316 */
317#define inb(port) ((port)<1024 ? isa_inb(port) : in_8(port))
318#define inb_p(port) ((port)<1024 ? isa_inb_p(port) : in_8(port))
319#define inw(port) ((port)<1024 ? isa_inw(port) : in_le16(port))
320#define inw_p(port) ((port)<1024 ? isa_inw_p(port) : in_le16(port))
321#define inl(port) ((port)<1024 ? isa_inl(port) : in_le32(port))
322#define inl_p(port) ((port)<1024 ? isa_inl_p(port) : in_le32(port))
323
324#define outb(val,port) ((port)<1024 ? isa_outb((val),(port)) : out_8((port),(val)))
325#define outb_p(val,port) ((port)<1024 ? isa_outb_p((val),(port)) : out_8((port),(val)))
326#define outw(val,port) ((port)<1024 ? isa_outw((val),(port)) : out_le16((port),(val)))
327#define outw_p(val,port) ((port)<1024 ? isa_outw_p((val),(port)) : out_le16((port),(val)))
328#define outl(val,port) ((port)<1024 ? isa_outl((val),(port)) : out_le32((port),(val)))
329#define outl_p(val,port) ((port)<1024 ? isa_outl_p((val),(port)) : out_le32((port),(val)))
330#endif
331#endif /* CONFIG_PCI */
332
333#if !defined(CONFIG_ISA) && !defined(CONFIG_PCI)
334/* 282/*
335 * We need to define dummy functions for GENERIC_IOMAP support. 283 * We need to define dummy functions for GENERIC_IOMAP support.
336 */ 284 */
@@ -357,11 +305,11 @@ static inline void isa_delay(void)
357#define writeb(val,addr) out_8((addr),(val)) 305#define writeb(val,addr) out_8((addr),(val))
358#define readw(addr) in_le16(addr) 306#define readw(addr) in_le16(addr)
359#define writew(val,addr) out_le16((addr),(val)) 307#define writew(val,addr) out_le16((addr),(val))
360#endif 308
361#if !defined(CONFIG_PCI) 309#endif /* CONFIG_ISA */
310
362#define readl(addr) in_le32(addr) 311#define readl(addr) in_le32(addr)
363#define writel(val,addr) out_le32((addr),(val)) 312#define writel(val,addr) out_le32((addr),(val))
364#endif
365 313
366#define mmiowb() 314#define mmiowb()
367 315
diff --git a/include/asm-m68k/pci.h b/include/asm-m68k/pci.h
index d43febbc9c7d..4ad0aea48ab4 100644
--- a/include/asm-m68k/pci.h
+++ b/include/asm-m68k/pci.h
@@ -1,54 +1,8 @@
1#ifndef _ASM_M68K_PCI_H 1#ifndef _ASM_M68K_PCI_H
2#define _ASM_M68K_PCI_H 2#define _ASM_M68K_PCI_H
3 3
4/*
5 * asm-m68k/pci_m68k.h - m68k specific PCI declarations.
6 *
7 * Written by Wout Klaren.
8 */
9
10#include <asm/scatterlist.h>
11#include <asm-generic/pci-dma-compat.h> 4#include <asm-generic/pci-dma-compat.h>
12 5
13struct pci_ops;
14
15/*
16 * Structure with hardware dependent information and functions of the
17 * PCI bus.
18 */
19
20struct pci_bus_info
21{
22 /*
23 * Resources of the PCI bus.
24 */
25
26 struct resource mem_space;
27 struct resource io_space;
28
29 /*
30 * System dependent functions.
31 */
32
33 struct pci_ops *m68k_pci_ops;
34
35 void (*fixup)(int pci_modify);
36 void (*conf_device)(struct pci_dev *dev);
37};
38
39#define pcibios_assign_all_busses() 0
40#define pcibios_scan_all_fns(a, b) 0
41
42static inline void pcibios_set_master(struct pci_dev *dev)
43{
44 /* No special bus mastering setup handling */
45}
46
47static inline void pcibios_penalize_isa_irq(int irq, int active)
48{
49 /* We don't do dynamic PCI IRQ allocation */
50}
51
52/* The PCI address space does equal the physical memory 6/* The PCI address space does equal the physical memory
53 * address space. The networking and block device layers use 7 * address space. The networking and block device layers use
54 * this boolean for bounce buffer decisions. 8 * this boolean for bounce buffer decisions.