aboutsummaryrefslogtreecommitdiffstats
path: root/include/asm-arm
diff options
context:
space:
mode:
Diffstat (limited to 'include/asm-arm')
-rw-r--r--include/asm-arm/arch-iop32x/io.h10
-rw-r--r--include/asm-arm/arch-iop33x/io.h9
-rw-r--r--include/asm-arm/hardware/iop3xx.h15
3 files changed, 31 insertions, 3 deletions
diff --git a/include/asm-arm/arch-iop32x/io.h b/include/asm-arm/arch-iop32x/io.h
index 12d9ee02cde3..5f570a598a37 100644
--- a/include/asm-arm/arch-iop32x/io.h
+++ b/include/asm-arm/arch-iop32x/io.h
@@ -13,10 +13,16 @@
13 13
14#include <asm/hardware.h> 14#include <asm/hardware.h>
15 15
16#define IO_SPACE_LIMIT 0xffffffff 16extern void __iomem * __ioremap(unsigned long, size_t, unsigned long);
17extern void __iomem *__iop3xx_ioremap(unsigned long cookie, size_t size,
18 unsigned long flags);
19extern void __iop3xx_iounmap(void __iomem *addr);
17 20
18#define __io(p) ((void __iomem *)(p)) 21#define IO_SPACE_LIMIT 0xffffffff
22#define __io(p) ((void __iomem *)IOP3XX_PCI_IO_PHYS_TO_VIRT(p))
19#define __mem_pci(a) (a) 23#define __mem_pci(a) (a)
20 24
25#define __arch_ioremap(a, s, f) __iop3xx_ioremap(a, s, f)
26#define __arch_iounmap(a) __iop3xx_iounmap(a)
21 27
22#endif 28#endif
diff --git a/include/asm-arm/arch-iop33x/io.h b/include/asm-arm/arch-iop33x/io.h
index c017402bab96..1bb5071e1fa8 100644
--- a/include/asm-arm/arch-iop33x/io.h
+++ b/include/asm-arm/arch-iop33x/io.h
@@ -13,9 +13,16 @@
13 13
14#include <asm/hardware.h> 14#include <asm/hardware.h>
15 15
16extern void __iomem * __ioremap(unsigned long, size_t, unsigned long);
17extern void __iomem *__iop3xx_ioremap(unsigned long cookie, size_t size,
18 unsigned long flags);
19extern void __iop3xx_iounmap(void __iomem *addr);
20
16#define IO_SPACE_LIMIT 0xffffffff 21#define IO_SPACE_LIMIT 0xffffffff
17#define __io(p) ((void __iomem *)(p)) 22#define __io(p) ((void __iomem *)IOP3XX_PCI_IO_PHYS_TO_VIRT(p))
18#define __mem_pci(a) (a) 23#define __mem_pci(a) (a)
19 24
25#define __arch_ioremap(a, s, f) __iop3xx_ioremap(a, s, f)
26#define __arch_iounmap(a) __iop3xx_iounmap(a)
20 27
21#endif 28#endif
diff --git a/include/asm-arm/hardware/iop3xx.h b/include/asm-arm/hardware/iop3xx.h
index 13ac8a4cd01f..c91b546e20ef 100644
--- a/include/asm-arm/hardware/iop3xx.h
+++ b/include/asm-arm/hardware/iop3xx.h
@@ -37,6 +37,13 @@ extern void gpio_line_set(int line, int value);
37#define IOP3XX_PERIPHERAL_PHYS_BASE 0xffffe000 37#define IOP3XX_PERIPHERAL_PHYS_BASE 0xffffe000
38#define IOP3XX_PERIPHERAL_VIRT_BASE 0xfeffe000 38#define IOP3XX_PERIPHERAL_VIRT_BASE 0xfeffe000
39#define IOP3XX_PERIPHERAL_SIZE 0x00002000 39#define IOP3XX_PERIPHERAL_SIZE 0x00002000
40#define IOP3XX_PERIPHERAL_UPPER_PA (IOP3XX_PERIPHERAL_PHYS_BASE +\
41 IOP3XX_PERIPHERAL_SIZE - 1)
42#define IOP3XX_PERIPHERAL_UPPER_VA (IOP3XX_PERIPHERAL_VIRT_BASE +\
43 IOP3XX_PERIPHERAL_SIZE - 1)
44#define IOP3XX_PMMR_PHYS_TO_VIRT(addr) (u32) ((u32) addr -\
45 (IOP3XX_PERIPHERAL_PHYS_BASE\
46 - IOP3XX_PERIPHERAL_VIRT_BASE))
40#define IOP3XX_REG_ADDR(reg) (IOP3XX_PERIPHERAL_VIRT_BASE + (reg)) 47#define IOP3XX_REG_ADDR(reg) (IOP3XX_PERIPHERAL_VIRT_BASE + (reg))
41 48
42/* Address Translation Unit */ 49/* Address Translation Unit */
@@ -258,12 +265,20 @@ extern void gpio_line_set(int line, int value);
258#define IOP3XX_PCI_LOWER_IO_PA 0x90000000 265#define IOP3XX_PCI_LOWER_IO_PA 0x90000000
259#define IOP3XX_PCI_LOWER_IO_VA 0xfe000000 266#define IOP3XX_PCI_LOWER_IO_VA 0xfe000000
260#define IOP3XX_PCI_LOWER_IO_BA (*IOP3XX_OIOWTVR) 267#define IOP3XX_PCI_LOWER_IO_BA (*IOP3XX_OIOWTVR)
268#define IOP3XX_PCI_UPPER_IO_PA (IOP3XX_PCI_LOWER_IO_PA +\
269 IOP3XX_PCI_IO_WINDOW_SIZE - 1)
270#define IOP3XX_PCI_UPPER_IO_VA (IOP3XX_PCI_LOWER_IO_VA +\
271 IOP3XX_PCI_IO_WINDOW_SIZE - 1)
272#define IOP3XX_PCI_IO_PHYS_TO_VIRT(addr) (((u32) addr -\
273 IOP3XX_PCI_LOWER_IO_PA) +\
274 IOP3XX_PCI_LOWER_IO_VA)
261 275
262 276
263#ifndef __ASSEMBLY__ 277#ifndef __ASSEMBLY__
264void iop3xx_map_io(void); 278void iop3xx_map_io(void);
265void iop3xx_init_time(unsigned long); 279void iop3xx_init_time(unsigned long);
266unsigned long iop3xx_gettimeoffset(void); 280unsigned long iop3xx_gettimeoffset(void);
281void iop_init_cp6_handler(void);
267 282
268extern struct platform_device iop3xx_i2c0_device; 283extern struct platform_device iop3xx_i2c0_device;
269extern struct platform_device iop3xx_i2c1_device; 284extern struct platform_device iop3xx_i2c1_device;