1*4882a593Smuzhiyun /* 2*4882a593Smuzhiyun * Copyright (C) 2014 Altera Corporation 3*4882a593Smuzhiyun * Copyright (C) 2010 Tobias Klauser <tklauser@distanz.ch> 4*4882a593Smuzhiyun * Copyright (C) 2004 Microtronix Datacom Ltd. 5*4882a593Smuzhiyun * 6*4882a593Smuzhiyun * This file is subject to the terms and conditions of the GNU General Public 7*4882a593Smuzhiyun * License. See the file "COPYING" in the main directory of this archive 8*4882a593Smuzhiyun * for more details. 9*4882a593Smuzhiyun */ 10*4882a593Smuzhiyun 11*4882a593Smuzhiyun #ifndef _ASM_NIOS2_IO_H 12*4882a593Smuzhiyun #define _ASM_NIOS2_IO_H 13*4882a593Smuzhiyun 14*4882a593Smuzhiyun #include <linux/types.h> 15*4882a593Smuzhiyun #include <asm/pgtable-bits.h> 16*4882a593Smuzhiyun 17*4882a593Smuzhiyun /* PCI is not supported in nios2, set this to 0. */ 18*4882a593Smuzhiyun #define IO_SPACE_LIMIT 0 19*4882a593Smuzhiyun 20*4882a593Smuzhiyun #define readb_relaxed(addr) readb(addr) 21*4882a593Smuzhiyun #define readw_relaxed(addr) readw(addr) 22*4882a593Smuzhiyun #define readl_relaxed(addr) readl(addr) 23*4882a593Smuzhiyun 24*4882a593Smuzhiyun #define writeb_relaxed(x, addr) writeb(x, addr) 25*4882a593Smuzhiyun #define writew_relaxed(x, addr) writew(x, addr) 26*4882a593Smuzhiyun #define writel_relaxed(x, addr) writel(x, addr) 27*4882a593Smuzhiyun 28*4882a593Smuzhiyun void __iomem *ioremap(unsigned long physaddr, unsigned long size); 29*4882a593Smuzhiyun void iounmap(void __iomem *addr); 30*4882a593Smuzhiyun 31*4882a593Smuzhiyun /* Pages to physical address... */ 32*4882a593Smuzhiyun #define page_to_phys(page) virt_to_phys(page_to_virt(page)) 33*4882a593Smuzhiyun 34*4882a593Smuzhiyun /* Macros used for converting between virtual and physical mappings. */ 35*4882a593Smuzhiyun #define phys_to_virt(vaddr) \ 36*4882a593Smuzhiyun ((void *)((unsigned long)(vaddr) | CONFIG_NIOS2_KERNEL_REGION_BASE)) 37*4882a593Smuzhiyun /* Clear top 3 bits */ 38*4882a593Smuzhiyun #define virt_to_phys(vaddr) \ 39*4882a593Smuzhiyun ((unsigned long)((unsigned long)(vaddr) & ~0xE0000000)) 40*4882a593Smuzhiyun 41*4882a593Smuzhiyun #include <asm-generic/io.h> 42*4882a593Smuzhiyun 43*4882a593Smuzhiyun #endif /* _ASM_NIOS2_IO_H */ 44