2 * linux/include/asm-arm/ide.h
4 * Copyright (C) 1994-1996 Linus Torvalds & authors
8 * This file contains the i386 architecture specific IDE code.
11 #ifndef __ASMARM_IDE_H
12 #define __ASMARM_IDE_H
21 #include <asm/mach-types.h>
23 /* JMA 18.05.03 these will never be needed, but the kernel needs them to compile */
24 #define __ide_mm_insw(port,addr,len) readsw(port,addr,len)
25 #define __ide_mm_insl(port,addr,len) readsl(port,addr,len)
26 #define __ide_mm_outsw(port,addr,len) writesw(port,addr,len)
27 #define __ide_mm_outsl(port,addr,len) writesl(port,addr,len)
30 * Set up a hw structure for a specified data port, control port and IRQ.
31 * This should follow whatever the default interface uses.
33 static inline void ide_init_hwif_ports(hw_regs_t *hw, unsigned long data_port,
34 unsigned long ctrl_port, int *irq)
36 unsigned long reg = data_port;
39 for (i = IDE_DATA_OFFSET; i <= IDE_STATUS_OFFSET; i++) {
40 hw->io_ports[i] = reg;
43 hw->io_ports[IDE_CONTROL_OFFSET] = ctrl_port;
48 #define ide_init_default_irq(base) (0)
51 * This registers the standard ports for this architecture with the IDE
54 static __inline__ void ide_init_default_hwifs(void)
56 if (machine_is_a5k()) {
59 memset(&hw, 0, sizeof(hw));
61 ide_init_hwif_ports(&hw, 0x1f0, 0x3f6, NULL);
62 hw.irq = IRQ_HARDDISK;
63 ide_register_hw(&hw,NULL);
69 * We always use the new IDE port registering,
70 * so these are fixed here.
72 #define ide_default_io_base(i) (0)
73 #define ide_default_irq(b) (0)
75 #endif /* __KERNEL__ */
77 #endif /* __ASMARM_IDE_H */