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)36static 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