Blame view
drivers/block/pata_bfin.h
5.75 KB
8a6b27259
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
/* * Driver for Blackfin on-chip ATAPI controller. * * Enter bugs at http://blackfin.uclinux.org/ * * Copyright (c) 2008 Analog Devices Inc. * * Licensed under the GPL-2 or later. */ #ifndef PATA_BFIN_H #define PATA_BFIN_H #include <asm/blackfin_local.h> struct ata_ioports { unsigned long cmd_addr; unsigned long data_addr; unsigned long error_addr; unsigned long feature_addr; unsigned long nsect_addr; unsigned long lbal_addr; unsigned long lbam_addr; unsigned long lbah_addr; unsigned long device_addr; unsigned long status_addr; unsigned long command_addr; unsigned long altstatus_addr; unsigned long ctl_addr; unsigned long bmdma_addr; unsigned long scr_addr; }; struct ata_port { unsigned int port_no; /* primary=0, secondary=1 */ struct ata_ioports ioaddr; /* ATA cmd/ctl/dma reg blks */ unsigned long flag; unsigned int ata_mode; unsigned char ctl_reg; unsigned char last_ctl; unsigned char dev_mask; }; |
8a6b27259
|
43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 |
#define DRV_NAME "pata-bfin" #define DRV_VERSION "0.9" #define __iomem #define ATA_REG_CTRL 0x0E #define ATA_REG_ALTSTATUS ATA_REG_CTRL #define ATA_TMOUT_BOOT 30000 #define ATA_TMOUT_BOOT_QUICK 7000 #define PATA_BFIN_WAIT_TIMEOUT 10000 #define PATA_DEV_NUM_PER_PORT 2 /* These are the offset of the controller's registers */ #define ATAPI_OFFSET_CONTROL 0x00 #define ATAPI_OFFSET_STATUS 0x04 #define ATAPI_OFFSET_DEV_ADDR 0x08 #define ATAPI_OFFSET_DEV_TXBUF 0x0c #define ATAPI_OFFSET_DEV_RXBUF 0x10 #define ATAPI_OFFSET_INT_MASK 0x14 #define ATAPI_OFFSET_INT_STATUS 0x18 #define ATAPI_OFFSET_XFER_LEN 0x1c #define ATAPI_OFFSET_LINE_STATUS 0x20 #define ATAPI_OFFSET_SM_STATE 0x24 #define ATAPI_OFFSET_TERMINATE 0x28 #define ATAPI_OFFSET_PIO_TFRCNT 0x2c #define ATAPI_OFFSET_DMA_TFRCNT 0x30 #define ATAPI_OFFSET_UMAIN_TFRCNT 0x34 #define ATAPI_OFFSET_UDMAOUT_TFRCNT 0x38 #define ATAPI_OFFSET_REG_TIM_0 0x40 #define ATAPI_OFFSET_PIO_TIM_0 0x44 #define ATAPI_OFFSET_PIO_TIM_1 0x48 #define ATAPI_OFFSET_MULTI_TIM_0 0x50 #define ATAPI_OFFSET_MULTI_TIM_1 0x54 #define ATAPI_OFFSET_MULTI_TIM_2 0x58 #define ATAPI_OFFSET_ULTRA_TIM_0 0x60 #define ATAPI_OFFSET_ULTRA_TIM_1 0x64 #define ATAPI_OFFSET_ULTRA_TIM_2 0x68 #define ATAPI_OFFSET_ULTRA_TIM_3 0x6c #define ATAPI_GET_CONTROL(base)\ bfin_read16(base + ATAPI_OFFSET_CONTROL) #define ATAPI_SET_CONTROL(base, val)\ bfin_write16(base + ATAPI_OFFSET_CONTROL, val) #define ATAPI_GET_STATUS(base)\ bfin_read16(base + ATAPI_OFFSET_STATUS) #define ATAPI_GET_DEV_ADDR(base)\ bfin_read16(base + ATAPI_OFFSET_DEV_ADDR) #define ATAPI_SET_DEV_ADDR(base, val)\ bfin_write16(base + ATAPI_OFFSET_DEV_ADDR, val) #define ATAPI_GET_DEV_TXBUF(base)\ bfin_read16(base + ATAPI_OFFSET_DEV_TXBUF) #define ATAPI_SET_DEV_TXBUF(base, val)\ bfin_write16(base + ATAPI_OFFSET_DEV_TXBUF, val) #define ATAPI_GET_DEV_RXBUF(base)\ bfin_read16(base + ATAPI_OFFSET_DEV_RXBUF) #define ATAPI_SET_DEV_RXBUF(base, val)\ bfin_write16(base + ATAPI_OFFSET_DEV_RXBUF, val) #define ATAPI_GET_INT_MASK(base)\ bfin_read16(base + ATAPI_OFFSET_INT_MASK) #define ATAPI_SET_INT_MASK(base, val)\ bfin_write16(base + ATAPI_OFFSET_INT_MASK, val) #define ATAPI_GET_INT_STATUS(base)\ bfin_read16(base + ATAPI_OFFSET_INT_STATUS) #define ATAPI_SET_INT_STATUS(base, val)\ bfin_write16(base + ATAPI_OFFSET_INT_STATUS, val) #define ATAPI_GET_XFER_LEN(base)\ bfin_read16(base + ATAPI_OFFSET_XFER_LEN) #define ATAPI_SET_XFER_LEN(base, val)\ bfin_write16(base + ATAPI_OFFSET_XFER_LEN, val) #define ATAPI_GET_LINE_STATUS(base)\ bfin_read16(base + ATAPI_OFFSET_LINE_STATUS) #define ATAPI_GET_SM_STATE(base)\ bfin_read16(base + ATAPI_OFFSET_SM_STATE) #define ATAPI_GET_TERMINATE(base)\ bfin_read16(base + ATAPI_OFFSET_TERMINATE) #define ATAPI_SET_TERMINATE(base, val)\ bfin_write16(base + ATAPI_OFFSET_TERMINATE, val) #define ATAPI_GET_PIO_TFRCNT(base)\ bfin_read16(base + ATAPI_OFFSET_PIO_TFRCNT) #define ATAPI_GET_DMA_TFRCNT(base)\ bfin_read16(base + ATAPI_OFFSET_DMA_TFRCNT) #define ATAPI_GET_UMAIN_TFRCNT(base)\ bfin_read16(base + ATAPI_OFFSET_UMAIN_TFRCNT) #define ATAPI_GET_UDMAOUT_TFRCNT(base)\ bfin_read16(base + ATAPI_OFFSET_UDMAOUT_TFRCNT) #define ATAPI_GET_REG_TIM_0(base)\ bfin_read16(base + ATAPI_OFFSET_REG_TIM_0) #define ATAPI_SET_REG_TIM_0(base, val)\ bfin_write16(base + ATAPI_OFFSET_REG_TIM_0, val) #define ATAPI_GET_PIO_TIM_0(base)\ bfin_read16(base + ATAPI_OFFSET_PIO_TIM_0) #define ATAPI_SET_PIO_TIM_0(base, val)\ bfin_write16(base + ATAPI_OFFSET_PIO_TIM_0, val) #define ATAPI_GET_PIO_TIM_1(base)\ bfin_read16(base + ATAPI_OFFSET_PIO_TIM_1) #define ATAPI_SET_PIO_TIM_1(base, val)\ bfin_write16(base + ATAPI_OFFSET_PIO_TIM_1, val) #define ATAPI_GET_MULTI_TIM_0(base)\ bfin_read16(base + ATAPI_OFFSET_MULTI_TIM_0) #define ATAPI_SET_MULTI_TIM_0(base, val)\ bfin_write16(base + ATAPI_OFFSET_MULTI_TIM_0, val) #define ATAPI_GET_MULTI_TIM_1(base)\ bfin_read16(base + ATAPI_OFFSET_MULTI_TIM_1) #define ATAPI_SET_MULTI_TIM_1(base, val)\ bfin_write16(base + ATAPI_OFFSET_MULTI_TIM_1, val) #define ATAPI_GET_MULTI_TIM_2(base)\ bfin_read16(base + ATAPI_OFFSET_MULTI_TIM_2) #define ATAPI_SET_MULTI_TIM_2(base, val)\ bfin_write16(base + ATAPI_OFFSET_MULTI_TIM_2, val) #define ATAPI_GET_ULTRA_TIM_0(base)\ bfin_read16(base + ATAPI_OFFSET_ULTRA_TIM_0) #define ATAPI_SET_ULTRA_TIM_0(base, val)\ bfin_write16(base + ATAPI_OFFSET_ULTRA_TIM_0, val) #define ATAPI_GET_ULTRA_TIM_1(base)\ bfin_read16(base + ATAPI_OFFSET_ULTRA_TIM_1) #define ATAPI_SET_ULTRA_TIM_1(base, val)\ bfin_write16(base + ATAPI_OFFSET_ULTRA_TIM_1, val) #define ATAPI_GET_ULTRA_TIM_2(base)\ bfin_read16(base + ATAPI_OFFSET_ULTRA_TIM_2) #define ATAPI_SET_ULTRA_TIM_2(base, val)\ bfin_write16(base + ATAPI_OFFSET_ULTRA_TIM_2, val) #define ATAPI_GET_ULTRA_TIM_3(base)\ bfin_read16(base + ATAPI_OFFSET_ULTRA_TIM_3) #define ATAPI_SET_ULTRA_TIM_3(base, val)\ bfin_write16(base + ATAPI_OFFSET_ULTRA_TIM_3, val) #endif |