blob: 70590d5d5e64129d41589f5eb68e4479bd3b4116 [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* $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
Joe Perches475be4d2012-02-19 19:52:38 -08009 *
Linus Torvalds1da177e2005-04-16 15:20:36 -070010 * 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
Joe Perches475be4d2012-02-19 19:52:38 -080015#define byteout(addr, val) outb(val, addr)
Linus Torvalds1da177e2005-04-16 15:20:36 -070016#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
58u_char NETjet_ReadIC(struct IsdnCardState *cs, u_char offset);
59void NETjet_WriteIC(struct IsdnCardState *cs, u_char offset, u_char value);
60void NETjet_ReadICfifo(struct IsdnCardState *cs, u_char *data, int size);
61void NETjet_WriteICfifo(struct IsdnCardState *cs, u_char *data, int size);
62
63void read_tiger(struct IsdnCardState *cs);
64void write_tiger(struct IsdnCardState *cs);
65
66void netjet_fill_dma(struct BCState *bcs);
David Howells7d12e782006-10-05 14:55:46 +010067void netjet_interrupt(int intno, void *dev_id);
Linus Torvalds1da177e2005-04-16 15:20:36 -070068void inittiger(struct IsdnCardState *cs);
69void release_io_netjet(struct IsdnCardState *cs);