Linux-2.6.12-rc2
[linux-flexiantxendom0-natty.git] / include / asm-arm / arch-iop3xx / hardware.h
1 /*
2  * linux/include/asm-arm/arch-iop3xx/hardware.h
3  */
4 #ifndef __ASM_ARCH_HARDWARE_H
5 #define __ASM_ARCH_HARDWARE_H
6
7 #include <asm/types.h>
8
9 /*
10  * Note about PCI IO space mappings
11  *
12  * To make IO space accesses efficient, we store virtual addresses in
13  * the IO resources.
14  *
15  * The PCI IO space is located at virtual 0xfe000000 from physical
16  * 0x90000000.  The PCI BARs must be programmed with physical addresses,
17  * but when we read them, we convert them to virtual addresses.  See
18  * arch/arm/mach-iop3xx/iop3xx-pci.c
19  */
20
21 #define pcibios_assign_all_busses() 1
22
23
24 /*
25  * The min PCI I/O and MEM space are dependent on what specific
26  * chipset/platform we are running on, so instead of hardcoding with
27  * #ifdefs, we just fill these in the platform level PCI init code.
28  */
29 #ifndef __ASSEMBLY__
30 extern unsigned long iop3xx_pcibios_min_io;
31 extern unsigned long iop3xx_pcibios_min_mem;
32
33 extern unsigned int processor_id;
34 #endif
35
36 /*
37  * We just set these to zero since they are really bogus anyways
38  */
39 #define PCIBIOS_MIN_IO      (iop3xx_pcibios_min_io)
40 #define PCIBIOS_MIN_MEM     (iop3xx_pcibios_min_mem)
41
42 /*
43  * Generic chipset bits
44  *
45  */
46 #include "iop321.h"
47 #include "iop331.h"
48
49 /*
50  * Board specific bits
51  */
52 #include "iq80321.h"
53 #include "iq31244.h"
54 #include "iq80331.h"
55 #include "iq80332.h"
56
57 #endif  /* _ASM_ARCH_HARDWARE_H */