162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef _ASM_M68K_NUBUS_H
362306a36Sopenharmony_ci#define _ASM_M68K_NUBUS_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <asm/raw_io.h>
662306a36Sopenharmony_ci#include <asm/kmap.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#define nubus_readb raw_inb
962306a36Sopenharmony_ci#define nubus_readw raw_inw
1062306a36Sopenharmony_ci#define nubus_readl raw_inl
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define nubus_writeb raw_outb
1362306a36Sopenharmony_ci#define nubus_writew raw_outw
1462306a36Sopenharmony_ci#define nubus_writel raw_outl
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define nubus_memset_io(a,b,c)		memset((void *)(a),(b),(c))
1762306a36Sopenharmony_ci#define nubus_memcpy_fromio(a,b,c)	memcpy((a),(void *)(b),(c))
1862306a36Sopenharmony_ci#define nubus_memcpy_toio(a,b,c)	memcpy((void *)(a),(b),(c))
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_cistatic inline void *nubus_remap_nocache_ser(unsigned long physaddr,
2162306a36Sopenharmony_ci					    unsigned long size)
2262306a36Sopenharmony_ci{
2362306a36Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_NOCACHE_SER);
2462306a36Sopenharmony_ci}
2562306a36Sopenharmony_ci
2662306a36Sopenharmony_cistatic inline void *nubus_remap_nocache_nonser(unsigned long physaddr,
2762306a36Sopenharmony_ci					       unsigned long size)
2862306a36Sopenharmony_ci{
2962306a36Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_NOCACHE_NONSER);
3062306a36Sopenharmony_ci}
3162306a36Sopenharmony_ci
3262306a36Sopenharmony_cistatic inline void *nbus_remap_writethrough(unsigned long physaddr,
3362306a36Sopenharmony_ci					    unsigned long size)
3462306a36Sopenharmony_ci{
3562306a36Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_WRITETHROUGH);
3662306a36Sopenharmony_ci}
3762306a36Sopenharmony_ci
3862306a36Sopenharmony_cistatic inline void *nubus_remap_fullcache(unsigned long physaddr,
3962306a36Sopenharmony_ci					  unsigned long size)
4062306a36Sopenharmony_ci{
4162306a36Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_FULL_CACHING);
4262306a36Sopenharmony_ci}
4362306a36Sopenharmony_ci
4462306a36Sopenharmony_ci#define nubus_unmap iounmap
4562306a36Sopenharmony_ci#define nubus_iounmap iounmap
4662306a36Sopenharmony_ci#define nubus_ioremap nubus_remap_nocache_ser
4762306a36Sopenharmony_ci
4862306a36Sopenharmony_ci#endif /* _ASM_NUBUS_H */
49