Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6
[linux-2.6.git] / drivers / isdn / hisax / netjet.h
1 /* $Id: netjet.h,v 2.8.2.2 2004/01/12 22:52:28 keil 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 #define byteout(addr,val) outb(val,addr)
16 #define bytein(addr) inb(addr)
17
18 #define NETJET_CTRL     0x00
19 #define NETJET_DMACTRL  0x01
20 #define NETJET_AUXCTRL  0x02
21 #define NETJET_AUXDATA  0x03
22 #define NETJET_IRQMASK0 0x04
23 #define NETJET_IRQMASK1 0x05
24 #define NETJET_IRQSTAT0 0x06
25 #define NETJET_IRQSTAT1 0x07
26 #define NETJET_DMA_READ_START   0x08
27 #define NETJET_DMA_READ_IRQ     0x0c
28 #define NETJET_DMA_READ_END     0x10
29 #define NETJET_DMA_READ_ADR     0x14
30 #define NETJET_DMA_WRITE_START  0x18
31 #define NETJET_DMA_WRITE_IRQ    0x1c
32 #define NETJET_DMA_WRITE_END    0x20
33 #define NETJET_DMA_WRITE_ADR    0x24
34 #define NETJET_PULSE_CNT        0x28
35
36 #define NETJET_ISAC_OFF 0xc0
37 #define NETJET_ISACIRQ  0x10
38 #define NETJET_IRQM0_READ       0x0c
39 #define NETJET_IRQM0_READ_1     0x04
40 #define NETJET_IRQM0_READ_2     0x08
41 #define NETJET_IRQM0_WRITE      0x03
42 #define NETJET_IRQM0_WRITE_1    0x01
43 #define NETJET_IRQM0_WRITE_2    0x02
44
45 #define NETJET_DMA_TXSIZE 512
46 #define NETJET_DMA_RXSIZE 128
47
48 #define HDLC_ZERO_SEARCH 0
49 #define HDLC_FLAG_SEARCH 1
50 #define HDLC_FLAG_FOUND  2
51 #define HDLC_FRAME_FOUND 3
52 #define HDLC_NULL 4
53 #define HDLC_PART 5
54 #define HDLC_FULL 6
55
56 #define HDLC_FLAG_VALUE 0x7e
57
58 u_char NETjet_ReadIC(struct IsdnCardState *cs, u_char offset);
59 void NETjet_WriteIC(struct IsdnCardState *cs, u_char offset, u_char value);
60 void NETjet_ReadICfifo(struct IsdnCardState *cs, u_char *data, int size);
61 void NETjet_WriteICfifo(struct IsdnCardState *cs, u_char *data, int size);
62
63 void read_tiger(struct IsdnCardState *cs);
64 void write_tiger(struct IsdnCardState *cs);
65
66 void netjet_fill_dma(struct BCState *bcs);
67 void netjet_interrupt(int intno, void *dev_id);
68 void inittiger(struct IsdnCardState *cs);
69 void release_io_netjet(struct IsdnCardState *cs);
70