root/arch/mips/include/asm/mach-tx49xx/ioremap.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. fixup_bigphys_addr
  2. plat_ioremap
  3. plat_iounmap

   1 /* SPDX-License-Identifier: GPL-2.0-or-later */
   2 /*
   3  *      include/asm-mips/mach-tx49xx/ioremap.h
   4  */
   5 #ifndef __ASM_MACH_TX49XX_IOREMAP_H
   6 #define __ASM_MACH_TX49XX_IOREMAP_H
   7 
   8 #include <linux/types.h>
   9 
  10 /*
  11  * Allow physical addresses to be fixed up to help peripherals located
  12  * outside the low 32-bit range -- generic pass-through version.
  13  */
  14 static inline phys_addr_t fixup_bigphys_addr(phys_addr_t phys_addr, phys_addr_t size)
  15 {
  16         return phys_addr;
  17 }
  18 
  19 static inline void __iomem *plat_ioremap(phys_addr_t offset, unsigned long size,
  20         unsigned long flags)
  21 {
  22 #ifdef CONFIG_64BIT
  23 #define TXX9_DIRECTMAP_BASE     0xfff000000ul
  24 #else
  25 #define TXX9_DIRECTMAP_BASE     0xff000000ul
  26 #endif
  27         if (offset >= TXX9_DIRECTMAP_BASE &&
  28             offset < TXX9_DIRECTMAP_BASE + 0x400000)
  29                 return (void __iomem *)(unsigned long)(int)offset;
  30         return NULL;
  31 }
  32 
  33 static inline int plat_iounmap(const volatile void __iomem *addr)
  34 {
  35         return (unsigned long)addr >=
  36                 (unsigned long)(int)(TXX9_DIRECTMAP_BASE & 0xffffffff);
  37 }
  38 
  39 #endif /* __ASM_MACH_TX49XX_IOREMAP_H */

/* [<][>][^][v][top][bottom][index][help] */