11da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* $Id: hfc_2bs0.h,v 1.5.2.2 2004/01/12 22:52:26 keil Exp $
21da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
31da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * specific defines for CCD's HFC 2BS0
41da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
51da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Author       Karsten Keil
61da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * Copyright    by Karsten Keil      <keil@isdn4linux.de>
7475be4d85a274d0961593db41cf85689db1d583cJoe Perches *
81da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * This software may be used and distributed according to the terms
91da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds * of the GNU General Public License, incorporated herein by reference.
101da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds *
111da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds */
121da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
131da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_CTMT	0xe0
14475be4d85a274d0961593db41cf85689db1d583cJoe Perches#define HFC_CIRM	0xc0
151da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_CIP		0x80
161da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_Z1		0x00
171da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_Z2		0x08
181da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_Z_LOW	0x00
191da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_Z_HIGH	0x04
201da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_F1_INC	0x28
211da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_FIFO_IN	0x2c
221da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_F1		0x30
231da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_F2		0x34
241da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_F2_INC	0x38
251da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_FIFO_OUT	0x3c
261da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_B1          0x00
271da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_B2		0x02
281da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_REC		0x01
291da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_SEND	0x00
301da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_CHANNEL(ch) (ch ? HFC_B2 : HFC_B1)
311da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
321da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_STATUS	0
331da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_DATA	1
341da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_DATA_NODEB	2
351da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
361da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* Status (READ) */
371da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_BUSY	0x01
381da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_TIMINT	0x02
391da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_EXTINT	0x04
401da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
411da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* CTMT (Write) */
421da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_CLTIMER 0x10
431da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_TIM50MS 0x08
441da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_TIMIRQE 0x04
451da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_TRANSB2 0x02
461da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_TRANSB1 0x01
471da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
481da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds/* CIRM (Write) */
49475be4d85a274d0961593db41cf85689db1d583cJoe Perches#define HFC_RESET	0x08
501da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_MEM8K	0x10
511da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_INTA	0x01
521da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_INTB	0x02
531da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_INTC	0x03
541da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_INTD	0x04
551da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_INTE	0x05
561da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds#define HFC_INTF	0x06
571da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvalds
581da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void main_irq_hfc(struct BCState *bcs);
591da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void inithfc(struct IsdnCardState *cs);
601da177e4c3f41524e886b7f1b8a0c1fc7321cacLinus Torvaldsextern void releasehfc(struct IsdnCardState *cs);
61