1 /*
2  *  arch/arm/mach-footbridge/include/mach/io.h
3  *
4  *  Copyright (C) 1997-1999 Russell King
5  *
6  * This program is free software; you can redistribute it and/or modify
7  * it under the terms of the GNU General Public License version 2 as
8  * published by the Free Software Foundation.
9  *
10  *  Modifications:
11  *   06-12-1997	RMK	Created.
12  *   07-04-1999	RMK	Major cleanup
13  */
14 #ifndef __ASM_ARM_ARCH_IO_H
15 #define __ASM_ARM_ARCH_IO_H
16 
17 #ifdef CONFIG_MMU
18 #define MMU_IO(a, b)	(a)
19 #else
20 #define MMU_IO(a, b)	(b)
21 #endif
22 
23 #define PCIO_SIZE       0x00100000
24 #define PCIO_BASE       MMU_IO(0xff000000, 0x7c000000)
25 
26 #define IO_SPACE_LIMIT 0xffff
27 
28 /*
29  * Translation of various region addresses to virtual addresses
30  */
31 #define __io(a)			((void __iomem *)(PCIO_BASE + (a)))
32 #if 1
33 #define __mem_pci(a)		(a)
34 #else
35 
___mem_pci(void __iomem * p)36 static inline void __iomem *___mem_pci(void __iomem *p)
37 {
38 	unsigned long a = (unsigned long)p;
39 	BUG_ON(a <= 0xc0000000 || a >= 0xe0000000);
40 	return p;
41 }
42 
43 #define __mem_pci(a)		___mem_pci(a)
44 #endif
45 
46 #endif
47