18c2ecf20Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
28c2ecf20Sopenharmony_ci#ifndef _ASM_M68K_NUBUS_H
38c2ecf20Sopenharmony_ci#define _ASM_M68K_NUBUS_H
48c2ecf20Sopenharmony_ci
58c2ecf20Sopenharmony_ci#include <asm/raw_io.h>
68c2ecf20Sopenharmony_ci#include <asm/kmap.h>
78c2ecf20Sopenharmony_ci
88c2ecf20Sopenharmony_ci#define nubus_readb raw_inb
98c2ecf20Sopenharmony_ci#define nubus_readw raw_inw
108c2ecf20Sopenharmony_ci#define nubus_readl raw_inl
118c2ecf20Sopenharmony_ci
128c2ecf20Sopenharmony_ci#define nubus_writeb raw_outb
138c2ecf20Sopenharmony_ci#define nubus_writew raw_outw
148c2ecf20Sopenharmony_ci#define nubus_writel raw_outl
158c2ecf20Sopenharmony_ci
168c2ecf20Sopenharmony_ci#define nubus_memset_io(a,b,c)		memset((void *)(a),(b),(c))
178c2ecf20Sopenharmony_ci#define nubus_memcpy_fromio(a,b,c)	memcpy((a),(void *)(b),(c))
188c2ecf20Sopenharmony_ci#define nubus_memcpy_toio(a,b,c)	memcpy((void *)(a),(b),(c))
198c2ecf20Sopenharmony_ci
208c2ecf20Sopenharmony_cistatic inline void *nubus_remap_nocache_ser(unsigned long physaddr,
218c2ecf20Sopenharmony_ci					    unsigned long size)
228c2ecf20Sopenharmony_ci{
238c2ecf20Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
248c2ecf20Sopenharmony_ci}
258c2ecf20Sopenharmony_ci
268c2ecf20Sopenharmony_cistatic inline void *nubus_remap_nocache_nonser(unsigned long physaddr,
278c2ecf20Sopenharmony_ci					       unsigned long size)
288c2ecf20Sopenharmony_ci{
298c2ecf20Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_NOCACHE_NONSER);
308c2ecf20Sopenharmony_ci}
318c2ecf20Sopenharmony_ci
328c2ecf20Sopenharmony_cistatic inline void *nbus_remap_writethrough(unsigned long physaddr,
338c2ecf20Sopenharmony_ci					    unsigned long size)
348c2ecf20Sopenharmony_ci{
358c2ecf20Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_WRITETHROUGH);
368c2ecf20Sopenharmony_ci}
378c2ecf20Sopenharmony_ci
388c2ecf20Sopenharmony_cistatic inline void *nubus_remap_fullcache(unsigned long physaddr,
398c2ecf20Sopenharmony_ci					  unsigned long size)
408c2ecf20Sopenharmony_ci{
418c2ecf20Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_FULL_CACHING);
428c2ecf20Sopenharmony_ci}
438c2ecf20Sopenharmony_ci
448c2ecf20Sopenharmony_ci#define nubus_unmap iounmap
458c2ecf20Sopenharmony_ci#define nubus_iounmap iounmap
468c2ecf20Sopenharmony_ci#define nubus_ioremap nubus_remap_nocache_ser
478c2ecf20Sopenharmony_ci
488c2ecf20Sopenharmony_ci#endif /* _ASM_NUBUS_H */
49