ioremap.h 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. /*
  2. * include/asm-mips/mach-tx39xx/ioremap.h
  3. *
  4. * This program is free software; you can redistribute it and/or
  5. * modify it under the terms of the GNU General Public License
  6. * as published by the Free Software Foundation; either version
  7. * 2 of the License, or (at your option) any later version.
  8. */
  9. #ifndef __ASM_MACH_TX39XX_IOREMAP_H
  10. #define __ASM_MACH_TX39XX_IOREMAP_H
  11. #include <linux/types.h>
  12. /*
  13. * Allow physical addresses to be fixed up to help peripherals located
  14. * outside the low 32-bit range -- generic pass-through version.
  15. */
  16. static inline phys_addr_t fixup_bigphys_addr(phys_addr_t phys_addr, phys_addr_t size)
  17. {
  18. return phys_addr;
  19. }
  20. static inline void __iomem *plat_ioremap(phys_addr_t offset, unsigned long size,
  21. unsigned long flags)
  22. {
  23. #define TXX9_DIRECTMAP_BASE 0xff000000ul
  24. if (offset >= TXX9_DIRECTMAP_BASE &&
  25. offset < TXX9_DIRECTMAP_BASE + 0xff0000)
  26. return (void __iomem *)offset;
  27. return NULL;
  28. }
  29. static inline int plat_iounmap(const volatile void __iomem *addr)
  30. {
  31. return (unsigned long)addr >= TXX9_DIRECTMAP_BASE;
  32. }
  33. #endif /* __ASM_MACH_TX39XX_IOREMAP_H */