1/* $Id: netjet.h,v 1.1.1.1 2008/10/15 03:26:33 james26_jang Exp $
2 *
3 * NETjet common header file
4 *
5 * Author       Karsten Keil
6 * Copyright    by Karsten Keil      <keil@isdn4linux.de>
7 *              by Matt Henderson,
8 *                 Traverse Technologies P/L www.traverse.com.au
9 *
10 * This software may be used and distributed according to the terms
11 * of the GNU General Public License, incorporated herein by reference.
12 *
13 */
14
15extern const char *CardType[];
16
17#define byteout(addr,val) outb(val,addr)
18#define bytein(addr) inb(addr)
19
20#define NETJET_CTRL	0x00
21#define NETJET_DMACTRL	0x01
22#define NETJET_AUXCTRL	0x02
23#define NETJET_AUXDATA	0x03
24#define NETJET_IRQMASK0 0x04
25#define NETJET_IRQMASK1 0x05
26#define NETJET_IRQSTAT0 0x06
27#define NETJET_IRQSTAT1 0x07
28#define NETJET_DMA_READ_START	0x08
29#define NETJET_DMA_READ_IRQ	0x0c
30#define NETJET_DMA_READ_END	0x10
31#define NETJET_DMA_READ_ADR	0x14
32#define NETJET_DMA_WRITE_START	0x18
33#define NETJET_DMA_WRITE_IRQ	0x1c
34#define NETJET_DMA_WRITE_END	0x20
35#define NETJET_DMA_WRITE_ADR	0x24
36#define NETJET_PULSE_CNT	0x28
37
38#define NETJET_ISAC_OFF	0xc0
39#define NETJET_ISACIRQ	0x10
40#define NETJET_IRQM0_READ	0x0c
41#define NETJET_IRQM0_READ_1	0x04
42#define NETJET_IRQM0_READ_2	0x08
43#define NETJET_IRQM0_WRITE	0x03
44#define NETJET_IRQM0_WRITE_1	0x01
45#define NETJET_IRQM0_WRITE_2	0x02
46
47#define NETJET_DMA_TXSIZE 512
48#define NETJET_DMA_RXSIZE 128
49
50#define HDLC_ZERO_SEARCH 0
51#define HDLC_FLAG_SEARCH 1
52#define HDLC_FLAG_FOUND  2
53#define HDLC_FRAME_FOUND 3
54#define HDLC_NULL 4
55#define HDLC_PART 5
56#define HDLC_FULL 6
57
58#define HDLC_FLAG_VALUE	0x7e
59
60u_char NETjet_ReadIC(struct IsdnCardState *cs, u_char offset);
61void NETjet_WriteIC(struct IsdnCardState *cs, u_char offset, u_char value);
62void NETjet_ReadICfifo(struct IsdnCardState *cs, u_char *data, int size);
63void NETjet_WriteICfifo(struct IsdnCardState *cs, u_char *data, int size);
64
65void read_tiger(struct IsdnCardState *cs);
66void write_tiger(struct IsdnCardState *cs);
67
68void netjet_fill_dma(struct BCState *bcs);
69void netjet_interrupt(int intno, void *dev_id, struct pt_regs *regs);
70void inittiger(struct IsdnCardState *cs);
71void release_io_netjet(struct IsdnCardState *cs);
72
73