nios2: map physical address to uncached virtual address
authorThomas Chou <thomas@wytron.com.tw>
Sat, 3 Oct 2015 13:02:30 +0000 (21:02 +0800)
committerThomas Chou <thomas@wytron.com.tw>
Thu, 22 Oct 2015 23:29:11 +0000 (07:29 +0800)
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>
arch/nios2/cpu/interrupts.c
arch/nios2/include/asm/io.h

index 9d85eb03a6e813f6def8463dc5597f87387e9e55..1599674353c6b80214260185329c415f8e7f7e6e 100644 (file)
@@ -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 {
index 69ab23e5f0ab604b718b728cffea04b07efa5bee..b4bd20f475dc2d41a893ce9e6f18e66994f6c3e0 100644 (file)
@@ -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);