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 /* 27 * Translation of various region addresses to virtual addresses 28 */ 29 #define __io(a) ((void __iomem *)(PCIO_BASE + (a))) 30 #if 1 31 #define __mem_pci(a) (a) 32 #else 33 ___mem_pci(void __iomem * p)34static inline void __iomem *___mem_pci(void __iomem *p) 35 { 36 unsigned long a = (unsigned long)p; 37 BUG_ON(a <= 0xc0000000 || a >= 0xe0000000); 38 return p; 39 } 40 41 #define __mem_pci(a) ___mem_pci(a) 42 #endif 43 44 #endif 45