blob: ea7d05970001587d4466f697944f24f3a0c45fa4 [file] [log] [blame]
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +01001/*
2 * include/asm-arm/hardware/iop3xx.h
3 *
4 * Intel IOP32X and IOP33X register definitions
5 *
6 * Author: Rory Bolt <rorybolt@pacbell.net>
7 * Copyright (C) 2002 Rory Bolt
8 * Copyright (C) 2004 Intel Corp.
9 *
10 * This program is free software; you can redistribute it and/or modify
11 * it under the terms of the GNU General Public License version 2 as
12 * published by the Free Software Foundation.
13 */
14
15#ifndef __IOP3XX_H
16#define __IOP3XX_H
17
18/*
19 * IOP3XX processor registers
20 */
21#define IOP3XX_PERIPHERAL_PHYS_BASE 0xffffe000
22#define IOP3XX_PERIPHERAL_VIRT_BASE 0xfeffe000
23#define IOP3XX_PERIPHERAL_SIZE 0x00002000
24#define IOP3XX_REG_ADDR(reg) (IOP3XX_PERIPHERAL_VIRT_BASE + (reg))
25
Lennert Buytenheke25d64f2006-09-18 23:15:21 +010026/* I2C bus interface unit */
27#define IOP3XX_ICR0 (volatile u32 *)IOP3XX_REG_ADDR(0x1680)
28#define IOP3XX_ISR0 (volatile u32 *)IOP3XX_REG_ADDR(0x1684)
29#define IOP3XX_ISAR0 (volatile u32 *)IOP3XX_REG_ADDR(0x1688)
30#define IOP3XX_IDBR0 (volatile u32 *)IOP3XX_REG_ADDR(0x168c)
31#define IOP3XX_IBMR0 (volatile u32 *)IOP3XX_REG_ADDR(0x1694)
32#define IOP3XX_ICR1 (volatile u32 *)IOP3XX_REG_ADDR(0x16a0)
33#define IOP3XX_ISR1 (volatile u32 *)IOP3XX_REG_ADDR(0x16a4)
34#define IOP3XX_ISAR1 (volatile u32 *)IOP3XX_REG_ADDR(0x16a8)
35#define IOP3XX_IDBR1 (volatile u32 *)IOP3XX_REG_ADDR(0x16ac)
36#define IOP3XX_IBMR1 (volatile u32 *)IOP3XX_REG_ADDR(0x16b4)
37
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +010038
39/*
40 * IOP3XX I/O and Mem space regions for PCI autoconfiguration
41 */
42#define IOP3XX_PCI_MEM_WINDOW_SIZE 0x04000000
43#define IOP3XX_PCI_LOWER_MEM_PA 0x80000000
44
45#define IOP3XX_PCI_IO_WINDOW_SIZE 0x00010000
46#define IOP3XX_PCI_LOWER_IO_PA 0x90000000
47#define IOP3XX_PCI_LOWER_IO_VA 0xfe000000
48
49
50#ifndef __ASSEMBLY__
51void iop3xx_map_io(void);
Lennert Buytenheke25d64f2006-09-18 23:15:21 +010052
53extern struct platform_device iop3xx_i2c0_device;
54extern struct platform_device iop3xx_i2c1_device;
Lennert Buytenhek7ae1f7e2006-09-18 23:12:53 +010055#endif
56
57
58#endif