[PATCH] fix semaphore handling in __unregister_chrdev_region
[linux/fpc-iii.git] / drivers / isdn / hisax / hfc_2bds0.h
blob30f1924db91cedd4938e4bad12a859dd87e2de92
1 /* $Id: hfc_2bds0.h,v 1.6.2.2 2004/01/12 22:52:26 keil Exp $
3 * specific defines for CCD's HFC 2BDS0
5 * Author Karsten Keil
6 * Copyright by Karsten Keil <keil@isdn4linux.de>
7 *
8 * This software may be used and distributed according to the terms
9 * of the GNU General Public License, incorporated herein by reference.
13 #define HFCD_CIRM 0x18
14 #define HFCD_CTMT 0x19
15 #define HFCD_INT_M1 0x1A
16 #define HFCD_INT_M2 0x1B
17 #define HFCD_INT_S1 0x1E
18 #define HFCD_STAT 0x1C
19 #define HFCD_STAT_DISB 0x1D
20 #define HFCD_STATES 0x30
21 #define HFCD_SCTRL 0x31
22 #define HFCD_TEST 0x32
23 #define HFCD_SQ 0x34
24 #define HFCD_CLKDEL 0x37
25 #define HFCD_MST_MODE 0x2E
26 #define HFCD_CONN 0x2F
28 #define HFCD_FIFO 0x80
29 #define HFCD_Z1 0x10
30 #define HFCD_Z2 0x18
31 #define HFCD_Z_LOW 0x00
32 #define HFCD_Z_HIGH 0x04
33 #define HFCD_F1_INC 0x12
34 #define HFCD_FIFO_IN 0x16
35 #define HFCD_F1 0x1a
36 #define HFCD_F2 0x1e
37 #define HFCD_F2_INC 0x22
38 #define HFCD_FIFO_OUT 0x26
39 #define HFCD_REC 0x01
40 #define HFCD_SEND 0x00
42 #define HFCB_FIFO 0x80
43 #define HFCB_Z1 0x00
44 #define HFCB_Z2 0x08
45 #define HFCB_Z_LOW 0x00
46 #define HFCB_Z_HIGH 0x04
47 #define HFCB_F1_INC 0x28
48 #define HFCB_FIFO_IN 0x2c
49 #define HFCB_F1 0x30
50 #define HFCB_F2 0x34
51 #define HFCB_F2_INC 0x38
52 #define HFCB_FIFO_OUT 0x3c
53 #define HFCB_REC 0x01
54 #define HFCB_SEND 0x00
55 #define HFCB_B1 0x00
56 #define HFCB_B2 0x02
57 #define HFCB_CHANNEL(ch) (ch ? HFCB_B2 : HFCB_B1)
59 #define HFCD_STATUS 0
60 #define HFCD_DATA 1
61 #define HFCD_DATA_NODEB 2
63 /* Status (READ) */
64 #define HFCD_BUSY 0x01
65 #define HFCD_BUSY_NBUSY 0x04
66 #define HFCD_TIMER_ELAP 0x10
67 #define HFCD_STATINT 0x20
68 #define HFCD_FRAMEINT 0x40
69 #define HFCD_ANYINT 0x80
71 /* CTMT (Write) */
72 #define HFCD_CLTIMER 0x80
73 #define HFCD_TIM25 0x00
74 #define HFCD_TIM50 0x08
75 #define HFCD_TIM400 0x10
76 #define HFCD_TIM800 0x18
77 #define HFCD_AUTO_TIMER 0x20
78 #define HFCD_TRANSB2 0x02
79 #define HFCD_TRANSB1 0x01
81 /* CIRM (Write) */
82 #define HFCD_RESET 0x08
83 #define HFCD_MEM8K 0x10
84 #define HFCD_INTA 0x01
85 #define HFCD_INTB 0x02
86 #define HFCD_INTC 0x03
87 #define HFCD_INTD 0x04
88 #define HFCD_INTE 0x05
89 #define HFCD_INTF 0x06
91 /* INT_M1;INT_S1 */
92 #define HFCD_INTS_B1TRANS 0x01
93 #define HFCD_INTS_B2TRANS 0x02
94 #define HFCD_INTS_DTRANS 0x04
95 #define HFCD_INTS_B1REC 0x08
96 #define HFCD_INTS_B2REC 0x10
97 #define HFCD_INTS_DREC 0x20
98 #define HFCD_INTS_L1STATE 0x40
99 #define HFCD_INTS_TIMER 0x80
101 /* INT_M2 */
102 #define HFCD_IRQ_ENABLE 0x08
104 /* STATES */
105 #define HFCD_LOAD_STATE 0x10
106 #define HFCD_ACTIVATE 0x20
107 #define HFCD_DO_ACTION 0x40
109 /* HFCD_MST_MODE */
110 #define HFCD_MASTER 0x01
112 /* HFCD_SCTRL */
113 #define SCTRL_B1_ENA 0x01
114 #define SCTRL_B2_ENA 0x02
115 #define SCTRL_LOW_PRIO 0x08
116 #define SCTRL_SQ_ENA 0x10
117 #define SCTRL_TEST 0x20
118 #define SCTRL_NONE_CAP 0x40
119 #define SCTRL_PWR_DOWN 0x80
121 /* HFCD_TEST */
122 #define HFCD_AUTO_AWAKE 0x01
124 extern void main_irq_2bds0(struct BCState *bcs);
125 extern void init2bds0(struct IsdnCardState *cs);
126 extern void release2bds0(struct IsdnCardState *cs);
127 extern void hfc2bds0_interrupt(struct IsdnCardState *cs, u_char val);
128 extern void set_cs_func(struct IsdnCardState *cs);