2 * linux/include/asm-arm/arch-tbox/io.h
4 * Copyright (C) 1996-1999 Russell King
5 * Copyright (C) 1998, 1999 Philip Blundell
8 #ifndef __ASM_ARM_ARCH_IO_H
9 #define __ASM_ARM_ARCH_IO_H
11 #define IO_SPACE_LIMIT 0xffffffff
13 #define __io(_x) ((_x) << 2)
16 * Generic virtual read/write
18 static inline unsigned int __arch_getw(unsigned long a)
21 __asm__ __volatile__("ldr%?h %0, [%1, #0] @ getw"
27 static inline void __arch_putw(unsigned int value, unsigned long a)
29 __asm__ __volatile__("str%?h %0, [%1, #0] @ putw"
30 : : "r" (value), "r" (a));
33 /* Idem, for devices on the upper byte lanes */
34 #define inb_u(p) __arch_getb(__io_pc(p) + 2)
35 #define inw_u(p) __arch_getw(__io_pc(p) + 2)
37 #define outb_u(v,p) __arch_putb(v,__io_pc(p) + 2)
38 #define outw_u(v,p) __arch_putw(v,__io_pc(p) + 2)