FreeBSD/Linux Kernel Cross Reference
sys/pccard/meciareg.h
1 /*
2 * meciareg.h
3 *
4 * PC9801 original PCMCIA controller code for NS/A,Ne,NX/C,NR/L.
5 * by Noriyuki Hosobuchi <hoso@ce.mbn.or.jp>
6 *
7 * $FreeBSD: releng/6.2/sys/pccard/meciareg.h 76658 2001-05-15 23:53:18Z imp $
8 */
9
10 /*--- I/O port definition */
11 #define MECIA_REG0 0x0a8e /* byte */
12 #define MECIA_REG1 0x1a8e /* byte */
13 #define MECIA_REG2 0x2a8e /* byte */
14 #define MECIA_REG3 0x3a8e /* byte : Interrupt */
15 #define MECIA_REG4 0x4a8e /* word : PC98 side I/O base */
16 #define MECIA_REG5 0x5a8e /* word : Card side I/O base */
17 #define MECIA_REG7 0x7a8e /* byte */
18
19 #define MECIA_REG_WINSEL 0x1e8e /* byte : win bank select register */
20 #define MECIA_REG_PAGOFS 0x0e8e /* word */
21
22 /* PC98_REG_WINSEL */
23 #define MECIA_MAPWIN 0x84 /* map Card on 0xda0000 - 0xdbffff */
24 #define MECIA_UNMAPWIN 0x00
25
26 /* MECIA_REG1 */
27 #define MECIA_CARDEXIST 0x08 /* 1:exist 0:not exist */
28
29 /* MECIA_REG2 */
30 #define MECIA_MAPIO 0x80 /* 1:I/O 0:Memory */
31 #define MECIA_IOTHROUGH 0x40 /* 0:I/O map 1:I/O addr-through */
32 #define MECIA_8BIT 0x20 /* bit width 1:8bit 0:16bit */
33 #define MECIA_MAP128 0x10 /* I/O map size 1:128byte 0:16byte */
34 #define MECIA_VCC3P3V 0x02 /* Vcc 1:3.3V 0:5.0V */
35
36 /* MECIA_REG3 */
37 #define MECIA_INT0 (0xf8 + 0x0) /* INT0(IRQ3) */
38 #define MECIA_INT1 (0xf8 + 0x1) /* INT1(IRQ5) */
39 #define MECIA_INT2 (0xf8 + 0x2) /* INT2(IRQ6) */
40 #define MECIA_INT4 (0xf8 + 0x4) /* INT4(IRQ10) */
41 #define MECIA_INT5 (0xf8 + 0x5) /* INT5(IRQ12) */
42 #define MECIA_INTDISABLE (0xf8 + 0x7) /* disable interrupt */
43
44 /* MECIA_REG7 */
45 #define MECIA_ATTRMEM 0x20 /* 1:attr mem 0:common mem */
46 #define MECIA_VPP12V 0x10 /* Vpp 0:5V 1:12V */
47
48
49 #ifdef KERNEL
50 extern int mecia_mode; /* in 'pccard/pcic.c' */
51 #define mecia_8bit_on() \
52 if (mecia_mode & MECIA_8BIT) \
53 outb(MECIA_REG2, inb(MECIA_REG2) | MECIA_8BIT)
54 #define mecia_8bit_off() \
55 if (mecia_mode & MECIA_8BIT) \
56 outb(MECIA_REG2, inb(MECIA_REG2) & ~MECIA_8BIT)
57 #define mecia_map128() (mecia_mode & MECIA_MAP128)
58 #endif
59
60 #define MECIA_INT_MASK_ALLOWED 0x3E68 /* PC98 */
Cache object: 2b70877516447109a18dd204fe3b0391
|