pciide_ite_reg.h revision 1.2 1 1.2 christos /* $NetBSD: pciide_ite_reg.h,v 1.2 2005/12/11 12:22:50 christos Exp $ */
2 1.1 grant /* OpenBSD: pciide_ite_reg.h,v 1.1 2003/12/20 08:03:55 grange Exp */
3 1.1 grant /*
4 1.1 grant * Copyright (c) 2003 Alexander Yurchenko <grange (at) openbsd.org>
5 1.1 grant *
6 1.1 grant * Permission to use, copy, modify, and distribute this software for any
7 1.1 grant * purpose with or without fee is hereby granted, provided that the above
8 1.1 grant * copyright notice and this permission notice appear in all copies.
9 1.1 grant *
10 1.1 grant * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11 1.1 grant * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12 1.1 grant * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13 1.1 grant * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14 1.1 grant * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15 1.1 grant * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16 1.1 grant * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17 1.1 grant */
18 1.1 grant
19 1.1 grant /*
20 1.1 grant * Registers definition for IT8212F
21 1.1 grant */
22 1.1 grant #define IT_CFG 0x40 /* I/O configuration */
23 1.1 grant #define IT_CFG_MASK 0x0000ffff
24 1.1 grant #define IT_CFG_IORDY(chan) (0x0001 << (chan))
25 1.1 grant #define IT_CFG_BLID(chan) (0x0004 << (chan))
26 1.1 grant #define IT_CFG_CABLE(chan, drive) (0x0010 << ((chan) * 2 + (drive)))
27 1.1 grant #define IT_CFG_DECODE(chan) (0x8000 >> ((chan) * 2))
28 1.1 grant
29 1.1 grant #define IT_MODE 0x50 /* mode control / RAID function */
30 1.1 grant #define IT_MODE_MASK 0x0000ffff
31 1.1 grant #define IT_MODE_CPU 0x0001
32 1.1 grant #define IT_MODE_50MHZ(chan) (0x0002 << (chan))
33 1.1 grant #define IT_MODE_DMA(chan, drive) (0x0008 << ((chan) * 2 + (drive)))
34 1.1 grant #define IT_MODE_RESET 0x0080
35 1.1 grant #define IT_MODE_RAID1 0x0100
36 1.1 grant
37 1.1 grant #define IT_TIM(chan) ((chan) ? 0x58 : 0x54) /* timings */
38 1.1 grant #define IT_TIM_UDMA5(drive) (0x00800000 << (drive) * 8)
39