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