1 /* $Id: netjet.h,v 1.1.4.1 2001/11/20 14:19:36 kai 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 
15 extern 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 
60 u_char NETjet_ReadIC(struct IsdnCardState *cs, u_char offset);
61 void NETjet_WriteIC(struct IsdnCardState *cs, u_char offset, u_char value);
62 void NETjet_ReadICfifo(struct IsdnCardState *cs, u_char *data, int size);
63 void NETjet_WriteICfifo(struct IsdnCardState *cs, u_char *data, int size);
64 
65 void read_tiger(struct IsdnCardState *cs);
66 void write_tiger(struct IsdnCardState *cs);
67 
68 void netjet_fill_dma(struct BCState *bcs);
69 void netjet_interrupt(int intno, void *dev_id, struct pt_regs *regs);
70 void inittiger(struct IsdnCardState *cs);
71 void release_io_netjet(struct IsdnCardState *cs);
72 
73