1/* 2001/10/02
2 *
3 * gerdes_amd7930.h     Header-file included by
4 *                      gerdes_amd7930.c
5 *
6 * Author               Christoph Ersfeld <info@formula-n.de>
7 *                      Formula-n Europe AG (www.formula-n.com)
8 *                      previously Gerdes AG
9 *
10 *
11 *                      This file is (c) under GNU PUBLIC LICENSE
12 */
13
14
15
16
17#define BYTE							unsigned char
18#define WORD							unsigned int
19#define rByteAMD(cs, reg)					cs->readisac(cs, reg)
20#define wByteAMD(cs, reg, val)					cs->writeisac(cs, reg, val)
21#define rWordAMD(cs, reg)					ReadWordAmd7930(cs, reg)
22#define wWordAMD(cs, reg, val)					WriteWordAmd7930(cs, reg, val)
23#define HIBYTE(w)						((unsigned char)((w & 0xff00) / 256))
24#define LOBYTE(w)						((unsigned char)(w & 0x00ff))
25
26#define AmdIrqOff(cs)						cs->dc.amd7930.setIrqMask(cs, 0)
27#define AmdIrqOn(cs)						cs->dc.amd7930.setIrqMask(cs, 1)
28
29#define AMD_CR		0x00
30#define AMD_DR		0x01
31
32
33#define DBUSY_TIMER_VALUE 80
34
35static WORD initAMD[] = {
36	0x0100,
37
38	0x00A5, 3, 0x01, 0x40, 0x58,				// LPR, LMR1, LMR2
39	0x0086, 1, 0x0B,					// DMR1 (D-Buffer TH-Interrupts on)
40	0x0087, 1, 0xFF,					// DMR2
41	0x0092, 1, 0x03,					// EFCR (extended mode d-channel-fifo on)
42	0x0090, 4, 0xFE, 0xFF, 0x02, 0x0F,			// FRAR4, SRAR4, DMR3, DMR4 (address recognition )
43	0x0084, 2, 0x80, 0x00,					// DRLR
44	0x00C0, 1, 0x47,					// PPCR1
45	0x00C8, 1, 0x01,					// PPCR2
46
47	0x0102,
48	0x0107,
49	0x01A1, 1,
50	0x0121, 1,
51	0x0189, 2,
52
53	0x0045, 4, 0x61, 0x72, 0x00, 0x00,			// MCR1, MCR2, MCR3, MCR4
54	0x0063, 2, 0x08, 0x08,					// GX
55	0x0064, 2, 0x08, 0x08,					// GR
56	0x0065, 2, 0x99, 0x00,					// GER
57	0x0066, 2, 0x7C, 0x8B,					// STG
58	0x0067, 2, 0x00, 0x00,					// FTGR1, FTGR2
59	0x0068, 2, 0x20, 0x20,					// ATGR1, ATGR2
60	0x0069, 1, 0x4F,					// MMR1
61	0x006A, 1, 0x00,					// MMR2
62	0x006C, 1, 0x40,					// MMR3
63	0x0021, 1, 0x02,					// INIT
64	0x00A3, 1, 0x40,					// LMR1
65
66	0xFFFF};
67
68extern void Amd7930_interrupt(struct IsdnCardState *cs, unsigned char irflags);
69extern void Amd7930_init(struct IsdnCardState *cs);
70