blob: 0659cf94d040dd9ff6fdbad9658aa076df4f1172 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/*
Lennert Buytenhekc852ac82006-09-18 23:26:25 +01002 * include/asm-arm/arch-iop33x/hardware.h
Linus Torvalds1da177e2005-04-16 15:20:36 -07003 */
Lennert Buytenhekc852ac82006-09-18 23:26:25 +01004
5#ifndef __HARDWARE_H
6#define __HARDWARE_H
Linus Torvalds1da177e2005-04-16 15:20:36 -07007
8#include <asm/types.h>
9
10/*
11 * Note about PCI IO space mappings
12 *
13 * To make IO space accesses efficient, we store virtual addresses in
14 * the IO resources.
15 *
16 * The PCI IO space is located at virtual 0xfe000000 from physical
17 * 0x90000000. The PCI BARs must be programmed with physical addresses,
18 * but when we read them, we convert them to virtual addresses. See
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010019 * arch/arm/mach-iop3xx/iop3xx-pci.c
Linus Torvalds1da177e2005-04-16 15:20:36 -070020 */
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010021#define pcibios_assign_all_busses() 1
Lennert Buytenhek7e9740b2006-09-18 23:17:36 +010022#define PCIBIOS_MIN_IO 0x00000000
23#define PCIBIOS_MIN_MEM 0x00000000
Linus Torvalds1da177e2005-04-16 15:20:36 -070024
Lennert Buytenhekc680b772006-09-18 23:24:52 +010025#ifndef __ASSEMBLY__
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010026void iop33x_init_irq(void);
27
Lennert Buytenhekc680b772006-09-18 23:24:52 +010028extern struct platform_device iop33x_uart0_device;
29extern struct platform_device iop33x_uart1_device;
30#endif
31
Linus Torvalds1da177e2005-04-16 15:20:36 -070032
33/*
Linus Torvalds1da177e2005-04-16 15:20:36 -070034 * Generic chipset bits
35 *
36 */
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010037#include "iop33x.h"
Linus Torvalds1da177e2005-04-16 15:20:36 -070038
39/*
40 * Board specific bits
41 */
Linus Torvalds1da177e2005-04-16 15:20:36 -070042#include "iq80331.h"
43#include "iq80332.h"
44
Lennert Buytenhekc852ac82006-09-18 23:26:25 +010045
46#endif