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 9 */ 10 #ifdef __KERNEL__ 11 #ifndef __ASM_PPC_FLOPPY_H 12 #define __ASM_PPC_FLOPPY_H 13 14 #define fd_inb(port) inb_p(port) 15 #define fd_outb(value,port) outb_p(value,port) 16 17 #define fd_enable_dma() enable_dma(FLOPPY_DMA) 18 #define fd_disable_dma() disable_dma(FLOPPY_DMA) 19 #define fd_request_dma() request_dma(FLOPPY_DMA,"floppy") 20 #define fd_free_dma() free_dma(FLOPPY_DMA) 21 #define fd_clear_dma_ff() clear_dma_ff(FLOPPY_DMA) 22 #define fd_set_dma_mode(mode) set_dma_mode(FLOPPY_DMA,mode) 23 #define fd_set_dma_addr(addr) set_dma_addr(FLOPPY_DMA,(unsigned int)virt_to_bus(addr)) 24 #define fd_set_dma_count(count) set_dma_count(FLOPPY_DMA,count) 25 #define fd_enable_irq() enable_irq(FLOPPY_IRQ) 26 #define fd_disable_irq() disable_irq(FLOPPY_IRQ) 27 #if CONFIG_NOT_COHERENT_CACHE 28 #define fd_cacheflush(addr,size) dma_cache_wback_inv(addr, size) 29 #else 30 #define fd_cacheflush(addr,size) /* nothing */ 31 #endif 32 #define fd_request_irq() request_irq(FLOPPY_IRQ, floppy_interrupt, \ 33 SA_INTERRUPT|SA_SAMPLE_RANDOM, \ 34 "floppy", NULL) 35 #define fd_free_irq() free_irq(FLOPPY_IRQ, NULL); 36 37 static int FDC1 = 0x3f0; 38 static int FDC2 = -1; 39 40 /* 41 * Again, the CMOS information not available 42 */ 43 #define FLOPPY0_TYPE 6 44 #define FLOPPY1_TYPE 0 45 46 #define N_FDC 2 /* Don't change this! */ 47 #define N_DRIVE 8 48 49 #define FLOPPY_MOTOR_MASK 0xf0 50 51 /* 52 * The PowerPC has no problems with floppy DMA crossing 64k borders. 53 */ 54 #define CROSS_64KB(a,s) (0) 55 56 #endif /* __ASM_PPC_FLOPPY_H */ 57 58 #define EXTRA_FLOPPY_PARAMS 59 60 #endif /* __KERNEL__ */ 61