1/*
2 * Architecture specific parts of the Floppy driver
3 *
4 * This file is subject to the terms and conditions of the GNU General Public
5 * License.  See the file "COPYING" in the main directory of this archive
6 * for more details.
7 *
8 * Copyright (C) 1995 - 2000 Ralf Baechle
9 */
10#ifndef _ASM_FLOPPY_H
11#define _ASM_FLOPPY_H
12
13static inline void fd_cacheflush(char * addr, long size)
14{
15	dma_cache_wback_inv((unsigned long)addr,size);
16}
17
18#define MAX_BUFFER_SECTORS 24
19
20
21#define FLOPPY0_TYPE 		fd_drive_type(0)
22#define FLOPPY1_TYPE		fd_drive_type(1)
23
24#define FDC1			fd_getfdaddr1();
25
26#define N_FDC 1			/* do you *really* want a second controller? */
27#define N_DRIVE 8
28
29#define FLOPPY_MOTOR_MASK 0xf0
30
31/*
32 * The DMA channel used by the floppy controller cannot access data at
33 * addresses >= 16MB
34 *
35 * Went back to the 1MB limit, as some people had problems with the floppy
36 * driver otherwise. It doesn't matter much for performance anyway, as most
37 * floppy accesses go through the track buffer.
38 *
39 * On MIPSes using vdma, this actually means that *all* transfers go thru
40 * the * track buffer since 0x1000000 is always smaller than KSEG0/1.
41 * Actually this needs to be a bit more complicated since the so much different
42 * hardware available with MIPS CPUs ...
43 */
44#define CROSS_64KB(a,s) ((unsigned long)(a)/K_64 != ((unsigned long)(a) + (s) - 1) / K_64)
45
46#define EXTRA_FLOPPY_PARAMS
47
48#include <floppy.h>
49
50#endif /* _ASM_FLOPPY_H */
51