1 /* 2 * linux/include/asm-arm/arch-ebsa285/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 #define IO_SPACE_LIMIT 0xffff 18 19 /* 20 * Translation of various region addresses to virtual addresses 21 */ 22 #define __io(a) (PCIO_BASE + (a)) 23 #if 1 24 #define __mem_pci(a) ((unsigned long)(a)) 25 #define __mem_isa(a) (PCIMEM_BASE + (unsigned long)(a)) 26 #else 27 ___mem_pci(unsigned long a)28static inline unsigned long ___mem_pci(unsigned long a) 29 { 30 if (a <= 0xc0000000 || a >= 0xe0000000) 31 BUG(); 32 return a; 33 } 34 ___mem_isa(unsigned long a)35static inline unsigned long ___mem_isa(unsigned long a) 36 { 37 if (a >= 16*1048576) 38 BUG(); 39 return PCIMEM_BASE + a; 40 } 41 #define __mem_pci(a) ___mem_pci((unsigned long)(a)) 42 #define __mem_isa(a) ___mem_isa((unsigned long)(a)) 43 #endif 44 45 /* 46 * Generic virtual read/write 47 */ 48 #define __arch_getw(a) (*(volatile unsigned short *)(a)) 49 #define __arch_putw(v,a) (*(volatile unsigned short *)(a) = (v)) 50 51 #define iomem_valid_addr(iomem,sz) (1) 52 #define iomem_to_phys(iomem) (iomem) 53 54 #endif 55