Commit db5ed140 authored by Andrew Morton's avatar Andrew Morton Committed by Linus Torvalds

[PATCH] Amiga Gayle E-Matrix 530 IDE

From: Geert Uytterhoeven <geert@linux-m68k.org>

Amiga Gayle IDE: Add support for the IDE interface on the M-Tech E-Matrix 530
expansion card
parent 94253347
...@@ -899,12 +899,16 @@ config BLK_DEV_GAYLE ...@@ -899,12 +899,16 @@ config BLK_DEV_GAYLE
bool "Amiga Gayle IDE interface support" bool "Amiga Gayle IDE interface support"
depends on AMIGA depends on AMIGA
help help
This is the IDE driver for the builtin IDE interface on some Amiga This is the IDE driver for the Amiga Gayle IDE interface. It supports
models. It supports both the `A1200 style' (used in A600 and A1200) both the `A1200 style' and `A4000 style' of the Gayle IDE interface,
and `A4000 style' (used in A4000 and A4000T) of the Gayle IDE This includes builtin IDE interfaces on some Amiga models (A600,
interface. Say Y if you have such an Amiga model and want to use IDE A1200, A4000, and A4000T), and IDE interfaces on the Zorro expansion
devices (hard disks, CD-ROM drives, etc.) that are connected to the bus (M-Tech E-Matrix 530 expansion card).
builtin IDE interface. Say Y if you have an Amiga with a Gayle IDE interface and want to use
IDE devices (hard disks, CD-ROM drives, etc.) that are connected to
it.
Note that you also have to enable Zorro bus support if you want to
use Gayle IDE interfaces on the Zorro expansion bus.
config BLK_DEV_IDEDOUBLER config BLK_DEV_IDEDOUBLER
bool "Amiga IDE Doubler support (EXPERIMENTAL)" bool "Amiga IDE Doubler support (EXPERIMENTAL)"
......
...@@ -29,7 +29,7 @@ ...@@ -29,7 +29,7 @@
*/ */
#define GAYLE_BASE_4000 0xdd2020 /* A4000/A4000T */ #define GAYLE_BASE_4000 0xdd2020 /* A4000/A4000T */
#define GAYLE_BASE_1200 0xda0000 /* A1200/A600 */ #define GAYLE_BASE_1200 0xda0000 /* A1200/A600 and E-Matrix 530 */
/* /*
* Offsets from one of the above bases * Offsets from one of the above bases
...@@ -118,9 +118,17 @@ void __init gayle_init(void) ...@@ -118,9 +118,17 @@ void __init gayle_init(void)
if (!MACH_IS_AMIGA) if (!MACH_IS_AMIGA)
return; return;
if (!(a4000 = AMIGAHW_PRESENT(A4000_IDE)) && !AMIGAHW_PRESENT(A1200_IDE)) if ((a4000 = AMIGAHW_PRESENT(A4000_IDE)) || AMIGAHW_PRESENT(A1200_IDE))
return; goto found;
#ifdef CONFIG_ZORRO
if (zorro_find_device(ZORRO_PROD_MTEC_VIPER_MK_V_E_MATRIX_530_SCSI_IDE,
NULL))
goto found;
#endif
return;
found:
for (i = 0; i < GAYLE_NUM_PROBE_HWIFS; i++) { for (i = 0; i < GAYLE_NUM_PROBE_HWIFS; i++) {
unsigned long base, ctrlport, irqport; unsigned long base, ctrlport, irqport;
ide_ack_intr_t *ack_intr; ide_ack_intr_t *ack_intr;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment