162306a36Sopenharmony_ci/* SPDX-License-Identifier: GPL-2.0 */
262306a36Sopenharmony_ci#ifndef _ASM_M68K_ZORRO_H
362306a36Sopenharmony_ci#define _ASM_M68K_ZORRO_H
462306a36Sopenharmony_ci
562306a36Sopenharmony_ci#include <asm/raw_io.h>
662306a36Sopenharmony_ci#include <asm/kmap.h>
762306a36Sopenharmony_ci
862306a36Sopenharmony_ci#define z_readb raw_inb
962306a36Sopenharmony_ci#define z_readw raw_inw
1062306a36Sopenharmony_ci#define z_readl raw_inl
1162306a36Sopenharmony_ci
1262306a36Sopenharmony_ci#define z_writeb raw_outb
1362306a36Sopenharmony_ci#define z_writew raw_outw
1462306a36Sopenharmony_ci#define z_writel raw_outl
1562306a36Sopenharmony_ci
1662306a36Sopenharmony_ci#define z_memset_io(a,b,c)	memset((void *)(a),(b),(c))
1762306a36Sopenharmony_ci#define z_memcpy_fromio(a,b,c)	memcpy((a),(void *)(b),(c))
1862306a36Sopenharmony_ci#define z_memcpy_toio(a,b,c)	memcpy((void *)(a),(b),(c))
1962306a36Sopenharmony_ci
2062306a36Sopenharmony_cistatic inline void __iomem *z_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 __iomem *z_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 __iomem *z_remap_writethrough(unsigned long physaddr,
3362306a36Sopenharmony_ci					 unsigned long size)
3462306a36Sopenharmony_ci{
3562306a36Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_WRITETHROUGH);
3662306a36Sopenharmony_ci}
3762306a36Sopenharmony_cistatic inline void __iomem *z_remap_fullcache(unsigned long physaddr,
3862306a36Sopenharmony_ci				      unsigned long size)
3962306a36Sopenharmony_ci{
4062306a36Sopenharmony_ci	return __ioremap(physaddr, size, IOMAP_FULL_CACHING);
4162306a36Sopenharmony_ci}
4262306a36Sopenharmony_ci
4362306a36Sopenharmony_ci#define z_unmap iounmap
4462306a36Sopenharmony_ci#define z_iounmap iounmap
4562306a36Sopenharmony_ci#define z_ioremap z_remap_nocache_ser
4662306a36Sopenharmony_ci
4762306a36Sopenharmony_ci#endif /* _ASM_M68K_ZORRO_H */
48