xref: /openbmc/linux/arch/openrisc/include/asm/io.h (revision d4295e12)
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 #define ioremap_nocache ioremap_nocache
33 #include <asm-generic/io.h>
34 #include <asm/pgtable.h>
35 
36 extern void __iomem *__ioremap(phys_addr_t offset, unsigned long size,
37 				pgprot_t prot);
38 
39 static inline void __iomem *ioremap(phys_addr_t offset, size_t size)
40 {
41 	return __ioremap(offset, size, PAGE_KERNEL);
42 }
43 
44 /* #define _PAGE_CI       0x002 */
45 static inline void __iomem *ioremap_nocache(phys_addr_t offset,
46 					     unsigned long size)
47 {
48 	return __ioremap(offset, size,
49 			 __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_CI));
50 }
51 
52 extern void iounmap(void *addr);
53 #endif
54