1 /*
2 * OpenRISC Linux
3 *
4 * Linux architectural port borrowing liberally from similar works of
5 * others. All original copyrights apply as per the original source
6 * declaration.
7 *
8 * OpenRISC implementation:
9 * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
10 * et al.
11 *
12 * This program is free software; you can redistribute it and/or modify
13 * it under the terms of the GNU General Public License as published by
14 * the Free Software Foundation; either version 2 of the License, or
15 * (at your option) any later version.
16 */
17
18 #ifndef __ASM_OPENRISC_IO_H
19 #define __ASM_OPENRISC_IO_H
20
21 /*
22 * PCI: can we really do 0 here if we have no port IO?
23 */
24 #define IO_SPACE_LIMIT 0
25
26 /* OpenRISC has no port IO */
27 #define HAVE_ARCH_PIO_SIZE 1
28 #define PIO_RESERVED 0X0UL
29 #define PIO_OFFSET 0
30 #define PIO_MASK 0
31
32 #include <asm-generic/io.h>
33 #include <asm/pgtable.h>
34
35 extern void __iomem *__ioremap(phys_addr_t offset, unsigned long size,
36 pgprot_t prot);
37
ioremap(phys_addr_t offset,unsigned long size)38 static inline void __iomem *ioremap(phys_addr_t offset, unsigned long size)
39 {
40 return __ioremap(offset, size, PAGE_KERNEL);
41 }
42
43 /* #define _PAGE_CI 0x002 */
ioremap_nocache(phys_addr_t offset,unsigned long size)44 static inline void __iomem *ioremap_nocache(phys_addr_t offset,
45 unsigned long size)
46 {
47 return __ioremap(offset, size,
48 __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_CI));
49 }
50
51 extern void iounmap(void *addr);
52 #endif
53