diff options
Diffstat (limited to 'include/asm-m68k/atari_acsi.h')
-rw-r--r-- | include/asm-m68k/atari_acsi.h | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/include/asm-m68k/atari_acsi.h b/include/asm-m68k/atari_acsi.h new file mode 100644 index 000000000000..10fea68f191a --- /dev/null +++ b/include/asm-m68k/atari_acsi.h | |||
@@ -0,0 +1,37 @@ | |||
1 | #ifndef _ASM_ATARI_ACSI_H | ||
2 | #define _ASM_ATARI_ACSI_H | ||
3 | |||
4 | /* Functions exported by drivers/block/acsi.c */ | ||
5 | |||
6 | void acsi_delay_start( void ); | ||
7 | void acsi_delay_end( long usec ); | ||
8 | int acsi_wait_for_IRQ( unsigned timeout ); | ||
9 | int acsi_wait_for_noIRQ( unsigned timeout ); | ||
10 | int acsicmd_nodma( const char *cmd, int enable); | ||
11 | int acsi_getstatus( void ); | ||
12 | int acsi_extstatus( char *buffer, int cnt ); | ||
13 | void acsi_end_extstatus( void ); | ||
14 | int acsi_extcmd( unsigned char *buffer, int cnt ); | ||
15 | |||
16 | /* The ACSI buffer is guarantueed to reside in ST-RAM and may be used by other | ||
17 | * drivers that work on the ACSI bus, too. It's data are valid only as long as | ||
18 | * the ST-DMA is locked. */ | ||
19 | extern char *acsi_buffer; | ||
20 | extern unsigned long phys_acsi_buffer; | ||
21 | |||
22 | /* Utility macros */ | ||
23 | |||
24 | /* Send one data byte over the bus and set mode for next operation | ||
25 | * with one move.l -- Atari recommends this... | ||
26 | */ | ||
27 | |||
28 | #define DMA_LONG_WRITE(data,mode) \ | ||
29 | do { \ | ||
30 | *((unsigned long *)&dma_wd.fdc_acces_seccount) = \ | ||
31 | ((data)<<16) | (mode); \ | ||
32 | } while(0) | ||
33 | |||
34 | #define ENABLE_IRQ() atari_turnon_irq( IRQ_MFP_ACSI ) | ||
35 | #define DISABLE_IRQ() atari_turnoff_irq( IRQ_MFP_ACSI ) | ||
36 | |||
37 | #endif /* _ASM_ATARI_ACSI_H */ | ||