summaryrefslogtreecommitdiff
path: root/arch/nios2
diff options
context:
space:
mode:
authorThomas Chou <thomas@wytron.com.tw>2015-10-03 21:02:30 +0800
committerThomas Chou <thomas@wytron.com.tw>2015-10-23 07:29:11 +0800
commit37e24499b9a65e88568c8e5fed38c5d71f306305 (patch)
treed56fb86c7176128eba4b8452d5addda067ad753a /arch/nios2
parentac45c9cba1e32c25e1d75f894e7707def8adfd23 (diff)
downloadu-boot-37e24499b9a65e88568c8e5fed38c5d71f306305.tar.gz
nios2: map physical address to uncached virtual address
Add ioremap() to map physical address to uncached virtual address. We need this to convert the reg address from the device tree. The order of headers inclusion in interrupts.c is changed because common.h will include board header that contains IO_REGION_BASE. In the future, the IO_REGION_BASE should be decided from the device tree. tree Signed-off-by: Thomas Chou <thomas@wytron.com.tw> Acked-by: Marek Vasut <marex@denx.de> Reviewed-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch/nios2')
-rw-r--r--arch/nios2/cpu/interrupts.c4
-rw-r--r--arch/nios2/include/asm/io.h5
2 files changed, 7 insertions, 2 deletions
diff --git a/arch/nios2/cpu/interrupts.c b/arch/nios2/cpu/interrupts.c
index 9d85eb03a6..1599674353 100644
--- a/arch/nios2/cpu/interrupts.c
+++ b/arch/nios2/cpu/interrupts.c
@@ -8,12 +8,12 @@
* SPDX-License-Identifier: GPL-2.0+
*/
+#include <common.h>
+#include <command.h>
#include <asm/nios2.h>
#include <asm/types.h>
#include <asm/io.h>
#include <asm/ptrace.h>
-#include <common.h>
-#include <command.h>
/*************************************************************************/
struct irq_action {
diff --git a/arch/nios2/include/asm/io.h b/arch/nios2/include/asm/io.h
index 69ab23e5f0..b4bd20f475 100644
--- a/arch/nios2/include/asm/io.h
+++ b/arch/nios2/include/asm/io.h
@@ -42,6 +42,11 @@ static inline phys_addr_t virt_to_phys(void * vaddr)
return (phys_addr_t)(vaddr);
}
+static inline void *ioremap(unsigned long physaddr, unsigned long size)
+{
+ return (void *)(IO_REGION_BASE | physaddr);
+}
+
extern unsigned char inb (unsigned char *port);
extern unsigned short inw (unsigned short *port);
extern unsigned inl (unsigned port);