2 * linux/include/asm-arm/arch-s3c3410/io.h
4 * Copyright (C) 2003 Thomas Eschenbacher <eschenbacher@sympat.de>
5 * Modified by Hyok S. Choi <hyok.choi@samsung.com>
8 #ifndef __ASM_ARM_ARCH_IO_H
9 #define __ASM_ARM_ARCH_IO_H
11 #define IO_SPACE_LIMIT 0xffffffff
12 /* Used in kernel/resource.c */
15 * We have the this routine to use usb host device driver
19 #define PCI_IO_VADDR (0x0)
20 #define PCI_MEMORY_VADDR (0x0)
22 #define __io(a) (PCI_IO_VADDR + (a))
23 #define __mem_pci(a) ((unsigned long)(a))
24 #define __mem_isa(a) (PCI_MEMORY_VADDR + (unsigned long)(a))
28 * These macros were copied from arch/armnommu/io.h and are used instead
29 * of the definitions found there, because we want to do 16/32 bit i/o
30 * without byte swapping.
37 #define __iob(a) __io(a)
40 #define outb(v,p) __raw_writeb(v, p)
41 #define outw(v,p) __raw_writew(v, p)
42 #define outl(v,p) __raw_writel(v, p)
44 #define inb(p) ({ unsigned int __v = __raw_readb(p); __v; })
45 #define inw(p) ({ unsigned int __v = __raw_readw(p); __v; })
46 #define inl(p) ({ unsigned int __v = __raw_readl(p); __v; })
48 #define outsb(p,d,l) __raw_writesb(p, d, l)
49 #define outsw(p,d,l) __raw_writesw(p, d, l)
50 #define outsl(p,d,l) __raw_writesl(p, d, l)
52 #define insb(p,d,l) __raw_readsb(p, d, l)
53 #define insw(p,d,l) __raw_readsw(p, d, l)
54 #define insl(p,d,l) __raw_readsl(p, d, l)
57 * Validate the pci memory address for ioremap.
59 #define iomem_valid_addr(iomem,size) (1)
63 * Convert PCI memory space to a CPU physical address
65 #define iomem_to_phys(iomem) (iomem)