xref: /linux/arch/mips/include/asm/mach-bmips/ioremap.h (revision c532de5a67a70f8533d495f8f2aaa9a0491c3ad0)
1 /* SPDX-License-Identifier: GPL-2.0 */
2 #ifndef __ASM_MACH_BMIPS_IOREMAP_H
3 #define __ASM_MACH_BMIPS_IOREMAP_H
4 
5 #include <linux/types.h>
6 
7 static inline int is_bmips_internal_registers(phys_addr_t offset)
8 {
9 	if (offset >= 0xfff80000)
10 		return 1;
11 
12 	return 0;
13 }
14 
15 static inline void __iomem *plat_ioremap(phys_addr_t offset, unsigned long size,
16 					 unsigned long flags)
17 {
18 	if (is_bmips_internal_registers(offset))
19 		return (void __iomem *)offset;
20 
21 	return NULL;
22 }
23 
24 static inline int plat_iounmap(const volatile void __iomem *addr)
25 {
26 	return is_bmips_internal_registers((unsigned long)addr);
27 }
28 
29 #endif /* __ASM_MACH_BMIPS_IOREMAP_H */
30