2 * linux/include/asm-arm/arch-lpc22xx/io.h
4 * Copyright (C) 2004 Philips Semiconductors
7 #ifndef __ASM_ARM_ARCH_IO_H
8 #define __ASM_ARM_ARCH_IO_H
10 #define IO_SPACE_LIMIT 0xffffffff
11 /* Used in kernel/resource.c */
14 * We have the this routine to use usb host device driver
18 #define PCI_IO_VADDR (0x0)
19 #define PCI_MEMORY_VADDR (0x0)
21 #define __io(a) (PCI_IO_VADDR + (a))
22 #define __mem_pci(a) ((unsigned long)(a))
23 #define __mem_isa(a) (PCI_MEMORY_VADDR + (unsigned long)(a))
27 * These macros were copied from arch/armnommu/io.h and are used instead
28 * of the definitions found there, because we want to do 16/32 bit i/o
29 * without byte swapping.
36 #define __iob(a) __io(a)
39 #define outb(v,p) __raw_writeb(v, p)
40 #define outw(v,p) __raw_writew(v, p)
41 #define outl(v,p) __raw_writel(v, p)
43 #define inb(p) ({ unsigned int __v = __raw_readb(p); __v; })
44 #define inw(p) ({ unsigned int __v = __raw_readw(p); __v; })
45 #define inl(p) ({ unsigned int __v = __raw_readl(p); __v; })
47 #define outsb(p,d,l) __raw_writesb(p, d, l)
48 #define outsw(p,d,l) __raw_writesw(p, d, l)
49 #define outsl(p,d,l) __raw_writesl(p, d, l)
51 #define insb(p,d,l) __raw_readsb(p, d, l)
52 #define insw(p,d,l) __raw_readsw(p, d, l)
53 #define insl(p,d,l) __raw_readsl(p, d, l)
56 * Validate the pci memory address for ioremap.
58 #define iomem_valid_addr(iomem,size) (1)
62 * Convert PCI memory space to a CPU physical address
64 #define iomem_to_phys(iomem) (iomem)