xref: /OK3568_Linux_fs/kernel/arch/m68k/include/asm/ide.h (revision 4882a59341e53eb6f0b4789bf948001014eff981)
1*4882a593Smuzhiyun /* SPDX-License-Identifier: GPL-2.0 */
2*4882a593Smuzhiyun /*
3*4882a593Smuzhiyun  *  Copyright (C) 1994-1996  Linus Torvalds & authors
4*4882a593Smuzhiyun  */
5*4882a593Smuzhiyun 
6*4882a593Smuzhiyun /* Copyright(c) 1996 Kars de Jong */
7*4882a593Smuzhiyun /* Based on the ide driver from 1.2.13pl8 */
8*4882a593Smuzhiyun 
9*4882a593Smuzhiyun /*
10*4882a593Smuzhiyun  * Credits (alphabetical):
11*4882a593Smuzhiyun  *
12*4882a593Smuzhiyun  *  - Bjoern Brauel
13*4882a593Smuzhiyun  *  - Kars de Jong
14*4882a593Smuzhiyun  *  - Torsten Ebeling
15*4882a593Smuzhiyun  *  - Dwight Engen
16*4882a593Smuzhiyun  *  - Thorsten Floeck
17*4882a593Smuzhiyun  *  - Roman Hodek
18*4882a593Smuzhiyun  *  - Guenther Kelleter
19*4882a593Smuzhiyun  *  - Chris Lawrence
20*4882a593Smuzhiyun  *  - Michael Rausch
21*4882a593Smuzhiyun  *  - Christian Sauer
22*4882a593Smuzhiyun  *  - Michael Schmitz
23*4882a593Smuzhiyun  *  - Jes Soerensen
24*4882a593Smuzhiyun  *  - Michael Thurm
25*4882a593Smuzhiyun  *  - Geert Uytterhoeven
26*4882a593Smuzhiyun  */
27*4882a593Smuzhiyun 
28*4882a593Smuzhiyun #ifndef _M68K_IDE_H
29*4882a593Smuzhiyun #define _M68K_IDE_H
30*4882a593Smuzhiyun 
31*4882a593Smuzhiyun #ifdef __KERNEL__
32*4882a593Smuzhiyun #include <asm/setup.h>
33*4882a593Smuzhiyun #include <asm/io.h>
34*4882a593Smuzhiyun #include <asm/irq.h>
35*4882a593Smuzhiyun 
36*4882a593Smuzhiyun #ifdef CONFIG_MMU
37*4882a593Smuzhiyun 
38*4882a593Smuzhiyun /*
39*4882a593Smuzhiyun  * Get rid of defs from io.h - ide has its private and conflicting versions
40*4882a593Smuzhiyun  * Since so far no single m68k platform uses ISA/PCI I/O space for IDE, we
41*4882a593Smuzhiyun  * always use the `raw' MMIO versions
42*4882a593Smuzhiyun  */
43*4882a593Smuzhiyun #undef readb
44*4882a593Smuzhiyun #undef readw
45*4882a593Smuzhiyun #undef writeb
46*4882a593Smuzhiyun #undef writew
47*4882a593Smuzhiyun 
48*4882a593Smuzhiyun #define readb				in_8
49*4882a593Smuzhiyun #define readw				in_be16
50*4882a593Smuzhiyun #define __ide_mm_insw(port, addr, n)	raw_insw((u16 *)port, addr, n)
51*4882a593Smuzhiyun #define __ide_mm_insl(port, addr, n)	raw_insl((u32 *)port, addr, n)
52*4882a593Smuzhiyun #define writeb(val, port)		out_8(port, val)
53*4882a593Smuzhiyun #define writew(val, port)		out_be16(port, val)
54*4882a593Smuzhiyun #define __ide_mm_outsw(port, addr, n)	raw_outsw((u16 *)port, addr, n)
55*4882a593Smuzhiyun #define __ide_mm_outsl(port, addr, n)	raw_outsl((u32 *)port, addr, n)
56*4882a593Smuzhiyun 
57*4882a593Smuzhiyun #else
58*4882a593Smuzhiyun 
59*4882a593Smuzhiyun #define __ide_mm_insw(port, addr, n)	io_insw((unsigned int)port, addr, n)
60*4882a593Smuzhiyun #define __ide_mm_insl(port, addr, n)	io_insl((unsigned int)port, addr, n)
61*4882a593Smuzhiyun #define __ide_mm_outsw(port, addr, n)	io_outsw((unsigned int)port, addr, n)
62*4882a593Smuzhiyun #define __ide_mm_outsl(port, addr, n)	io_outsl((unsigned int)port, addr, n)
63*4882a593Smuzhiyun 
64*4882a593Smuzhiyun #endif /* CONFIG_MMU */
65*4882a593Smuzhiyun 
66*4882a593Smuzhiyun #endif /* __KERNEL__ */
67*4882a593Smuzhiyun #endif /* _M68K_IDE_H */
68