Linux-libre 5.3.12-gnu
[librecmc/linux-libre.git] / arch / openrisc / include / asm / io.h
1 /* SPDX-License-Identifier: GPL-2.0-or-later */
2 /*
3  * OpenRISC Linux
4  *
5  * Linux architectural port borrowing liberally from similar works of
6  * others.  All original copyrights apply as per the original source
7  * declaration.
8  *
9  * OpenRISC implementation:
10  * Copyright (C) 2010-2011 Jonas Bonn <jonas@southpole.se>
11  * et al.
12  */
13
14 #ifndef __ASM_OPENRISC_IO_H
15 #define __ASM_OPENRISC_IO_H
16
17 /*
18  * PCI: can we really do 0 here if we have no port IO?
19  */
20 #define IO_SPACE_LIMIT          0
21
22 /* OpenRISC has no port IO */
23 #define HAVE_ARCH_PIO_SIZE      1
24 #define PIO_RESERVED            0X0UL
25 #define PIO_OFFSET              0
26 #define PIO_MASK                0
27
28 #define ioremap_nocache ioremap_nocache
29 #include <asm-generic/io.h>
30 #include <asm/pgtable.h>
31
32 extern void __iomem *__ioremap(phys_addr_t offset, unsigned long size,
33                                 pgprot_t prot);
34
35 static inline void __iomem *ioremap(phys_addr_t offset, size_t size)
36 {
37         return __ioremap(offset, size, PAGE_KERNEL);
38 }
39
40 /* #define _PAGE_CI       0x002 */
41 static inline void __iomem *ioremap_nocache(phys_addr_t offset,
42                                              unsigned long size)
43 {
44         return __ioremap(offset, size,
45                          __pgprot(pgprot_val(PAGE_KERNEL) | _PAGE_CI));
46 }
47
48 extern void iounmap(void *addr);
49 #endif