~ubuntu-branches/ubuntu/quantal/zaptel/quantal

« back to all changes in this revision

Viewing changes to kernel/qozap/qozap.h

  • Committer: Bazaar Package Importer
  • Author(s): Tzafrir Cohen
  • Date: 2008-08-28 22:58:23 UTC
  • mfrom: (11.1.11 intrepid)
  • Revision ID: james.westby@ubuntu.com-20080828225823-r8bdunirm8hmc76m
Tags: 1:1.4.11~dfsg-2
* Patch xpp_fxs_power: Fixed an issue with hook detection of the Astribank
  FXS module.
* Don't fail init.d script if fxotune fails. This may happen if running it
  when Asterisk is already running.
* Bump standards version to 3.8.0.0 .
* Ignore false lintian warning ("m-a a-i" has "a a").
* Patch xpp_fxo_cid_always: do always pass PCM if that's what the user
  asked.
* Patch vzaphfc_proc_root_dir: fix vzaphfc on 2.6.26.
* Patch wcte12xp_flags: Proper time for irq save flags.
* Patch headers_2627: Fix location of semaphore.h for 2.6.27 .
* Patch xpp_fxs_dtmf_leak: Don't play DTMFs to the wrong channel.
* Patch wctdm_fix_alarm: Fix sending channel alarms.
* Patch device_class_2626: Fix building 2.6.26 (Closes: #493397).
* Using dh_lintian for lintian overrides, hence requiring debhelper 6.0.7.
* Lintian: we know we have direct changes. Too bad we're half-upstream :-(
* Fix doc-base section names. 

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#define qoz_SPANS 8     
 
2
#define qoz_FIFO_SIZE   128
 
3
#define qoz_DFIFO_SIZE4 2048
 
4
#define qoz_DFIFO_SIZE8 1024
 
5
 
 
6
typedef struct qoz_span {
 
7
    unsigned char nt_mode;
 
8
    unsigned char btx;
 
9
    unsigned char bswapped;
 
10
    unsigned char drx;
 
11
    int t3;
 
12
    int t4;
 
13
    int l1up;
 
14
    unsigned char layer1state;
 
15
} qoz_span;
 
16
 
 
17
typedef struct qoz_regs {
 
18
    unsigned char fifo_en;
 
19
    unsigned char ctmt;
 
20
    unsigned char int_m1;
 
21
    unsigned char int_m2;
 
22
    unsigned char sctrl;
 
23
    unsigned char sctrl_e;
 
24
    unsigned char sctrl_r;
 
25
    unsigned char connect;
 
26
    unsigned char trm;
 
27
    unsigned char mst_mode;
 
28
} qoz_regs;
 
29
 
 
30
typedef struct qoz_card {
 
31
    spinlock_t lock;
 
32
    int cardID;
 
33
    unsigned char dead;
 
34
    unsigned char leds[8];
 
35
    unsigned char cardno;
 
36
    unsigned int irq;
 
37
    unsigned int iomem;
 
38
    unsigned char *pci_io;
 
39
    void *pci_io_phys;
 
40
    unsigned long ioport;
 
41
    struct qoz_span st[qoz_SPANS];
 
42
    int st_sync[qoz_SPANS];
 
43
    int syncsrc;
 
44
    unsigned int pcibus;
 
45
    unsigned int pcidevfn;
 
46
    struct pci_dev *pcidev;
 
47
    struct zt_span spans[qoz_SPANS];
 
48
    struct zt_chan chans[qoz_SPANS][3];
 
49
    unsigned char rxbuf[qoz_SPANS][2][ZT_CHUNKSIZE];
 
50
    unsigned char txbuf[qoz_SPANS][2][ZT_CHUNKSIZE];
 
51
    unsigned char drxbuf[qoz_SPANS][qoz_DFIFO_SIZE4];
 
52
    unsigned char dtxbuf[qoz_SPANS][qoz_DFIFO_SIZE4];
 
53
    unsigned char stports;
 
54
    unsigned int ticks;
 
55
    unsigned int clicks;
 
56
    unsigned int type;
 
57
    unsigned int wdp;
 
58
    struct qoz_card *next;
 
59
    struct qoz_card *prev;
 
60
} qoz_card;
 
61
 
 
62
 
 
63
#define qoz_outb_io(a,b,c) \
 
64
    outw((b), ((a)->ioport+4)); \
 
65
    outb((c), ((a)->ioport));
 
66
 
 
67
#define qoz_inb_io(a,b) ({ outw((b), (a)->ioport+4); inb((a)->ioport); })
 
68
 
 
69
#define qoz_outw_io(a,b,c) \
 
70
    outw((b), ((a)->ioport+4)); \
 
71
    outw((c), ((a)->ioport));
 
72
 
 
73
#define qoz_inw_io(a,b) ({ outw((b), (a)->ioport+4); inw((a)->ioport); })
 
74
 
 
75
#define qoz_outdw_io(a,b,c) \
 
76
    outw((b), ((a)->ioport+4)); \
 
77
    outl((c), ((a)->ioport));
 
78
 
 
79
#define qoz_indw_io(a,b) ({ outw((b), (a)->ioport+4); inl((a)->ioport); })
 
80
 
 
81
#define qoz_outb(a,b,c) (writeb((c),(a)->pci_io+(b)))
 
82
#define qoz_inb(a,b) (readb((a)->pci_io+(b)))
 
83
 
 
84
#define qoz_outw(a,b,c) (writew((c),(a)->pci_io+(b)))
 
85
#define qoz_inw(a,b) (readw((a)->pci_io+(b)))
 
86
 
 
87
#define qoz_outdw(a,b,c) (writel((c),(a)->pci_io+(b)))
 
88
#define qoz_indw(a,b) (readl((a)->pci_io+(b)))
 
89
 
 
90
 
 
91
/* Write only registers */
 
92
#define qoz_A_CH_MSK    0xF4
 
93
#define qoz_A_CHANNEL   0xFC
 
94
#define qoz_A_CON_HDLC  0xFA
 
95
#define qoz_A_CONF      0xD1
 
96
#define qoz_A_FIFO_SEQ  0xFD
 
97
#define qoz_R_INC_RES_FIFO      0x0E
 
98
#define qoz_A_IRQ_MSK   0xFF
 
99
#define qoz_A_SL_CFG    0xD0
 
100
#define qoz_A_ST_B1_TX  0x3C
 
101
#define qoz_A_ST_B2_TX  0x3D
 
102
#define qoz_A_ST_CLK_DLY        0x37
 
103
#define qoz_A_ST_CTRL0  0x31
 
104
#define qoz_A_ST_CTRL1  0x32
 
105
#define qoz_A_ST_CTRL2  0x33
 
106
#define qoz_A_ST_D_TX   0x3E
 
107
#define qoz_A_ST_SQ_WR  0x34
 
108
#define qoz_A_ST_WR_STA 0x30
 
109
#define qoz_A_SUBCH_CFG 0xFB
 
110
#define qoz_R_BERT_WD_MD        0x1B
 
111
#define qoz_R_BRG_CTRL  0x45
 
112
#define qoz_R_BRG_MD    0x47
 
113
#define qoz_R_BRG_PCM_CFG       0x02
 
114
#define qoz_R_BRG_TIM_SEL01     0x4C
 
115
#define qoz_R_BRG_TIM_SEL23     0x4D
 
116
#define qoz_R_BRG_TIM_SEL45     0x4E
 
117
#define qoz_R_BRG_TIM_SEL67     0x4F
 
118
#define qoz_R_BRG_TIM0  0x48
 
119
#define qoz_R_BRG_TIM1  0x49
 
120
#define qoz_R_BRG_TIM2  0x4A
 
121
#define qoz_R_BRG_TIM3  0x4B
 
122
#define qoz_R_CIRM      0x00
 
123
#define qoz_R_CONF_EN   0x18
 
124
#define qoz_R_CTRL      0x01
 
125
#define qoz_R_DTMF0     0x1C
 
126
#define qoz_R_DTMF1     0x1D
 
127
#define qoz_R_FIFO_MD   0x0D
 
128
#define qoz_R_FIFO      0x0F
 
129
#define qoz_R_FIRST_FIFO        0x0B
 
130
#define qoz_R_FSM_IDX   0x0F
 
131
#define qoz_R_GPIO_EN0  0x42
 
132
#define qoz_R_GPIO_EN1  0x43
 
133
#define qoz_R_GPIO_OUT0 0x40
 
134
#define qoz_R_GPIO_OUT1 0x41
 
135
#define qoz_R_GPIO_SEL  0x44
 
136
#define qoz_R_IRQ_CTRL  0x13
 
137
#define qoz_R_IRQMSK_MISC       0x11
 
138
#define qoz_R_PCM_MD0   0x14
 
139
#define qoz_R_PCM_MD1   0x15
 
140
#define qoz_R_PCM_MD2   0x15
 
141
#define qoz_R_PWM_MD    0x46
 
142
#define qoz_R_PWM0      0x38
 
143
#define qoz_R_PWM1      0x39
 
144
#define qoz_R_RAM_ADDR0 0x08
 
145
#define qoz_R_RAM_ADDR1 0x09
 
146
#define qoz_R_RAM_ADDR2 0x0A
 
147
#define qoz_R_RAM_MISC  0x0C
 
148
#define qoz_R_SCI_MSK   0x12
 
149
#define qoz_R_SH0H      0x15
 
150
#define qoz_R_SH0L      0x15
 
151
#define qoz_R_SH1H      0x15
 
152
#define qoz_R_SH1L      0x15
 
153
#define qoz_R_SL_SEL0   0x15
 
154
#define qoz_R_SL_SEL1   0x15
 
155
#define qoz_R_SL_SEL2   0x15
 
156
#define qoz_R_SL_SEL3   0x15
 
157
#define qoz_R_SL_SEL4   0x15
 
158
#define qoz_R_SL_SEL5   0x15
 
159
#define qoz_R_SL_SEL6   0x15
 
160
#define qoz_R_SL_SEL7   0x15
 
161
#define qoz_R_SLOT      0x10
 
162
#define qoz_R_ST_SEL    0x16
 
163
#define qoz_R_ST_SYNC   0x17
 
164
#define qoz_R_TI_WD     0x1A
 
165
 
 
166
/* Read only registers */
 
167
#define qoz_A_F1        0x0C
 
168
#define qoz_A_F12       0x0C
 
169
#define qoz_A_F2        0x0D
 
170
#define qoz_A_ST_B1_RX  0x3C
 
171
#define qoz_A_ST_B2_TX  0x3D
 
172
#define qoz_A_ST_D_RX   0x3E
 
173
#define qoz_A_ST_E_RX   0x3F
 
174
#define qoz_A_ST_RD_STA 0x30
 
175
#define qoz_A_ST_SQ_RD  0x34
 
176
#define qoz_A_Z1        0x04
 
177
#define qoz_A_Z12       0x04
 
178
#define qoz_A_Z1H       0x05
 
179
#define qoz_A_Z1L       0x04
 
180
#define qoz_A_Z2        0x06
 
181
#define qoz_A_Z2H       0x07
 
182
#define qoz_A_Z2L       0x06
 
183
#define qoz_R_BERT_ECH  0x1B
 
184
#define qoz_R_BERT_ECL  0x1A
 
185
#define qoz_R_BERT_STA  0x17
 
186
#define qoz_R_CHIP_ID   0x16
 
187
#define qoz_R_CHIP_RV   0x1F
 
188
#define qoz_R_CONF_OFLOW        0x14
 
189
#define qoz_R_F0_CNTH   0x19
 
190
#define qoz_R_F0_CNTL   0x18
 
191
#define qoz_R_GPI_IN0   0x44
 
192
#define qoz_R_GPI_IN1   0x45
 
193
#define qoz_R_GPI_IN2   0x46
 
194
#define qoz_R_GPI_IN3   0x47
 
195
#define qoz_R_GPIO_IN0  0x40
 
196
#define qoz_R_GPIO_IN1  0x41
 
197
#define qoz_R_INT_DATA  0x88
 
198
#define qoz_R_IRQ_FIFO_BL0      0xC8
 
199
#define qoz_R_IRQ_FIFO_BL1      0xC9
 
200
#define qoz_R_IRQ_FIFO_BL2      0xCA
 
201
#define qoz_R_IRQ_FIFO_BL3      0xCB
 
202
#define qoz_R_IRQ_FIFO_BL4      0xCC
 
203
#define qoz_R_IRQ_FIFO_BL5      0xCD
 
204
#define qoz_R_IRQ_FIFO_BL6      0xCE
 
205
#define qoz_R_IRQ_FIFO_BL7      0xCF
 
206
#define qoz_R_IRQ_MISC  0x11
 
207
#define qoz_R_IRQ_OVIEW 0x10
 
208
#define qoz_R_RAM_USE   0x15
 
209
#define qoz_R_SCI       0x12
 
210
#define qoz_R_STATUS    0x1C
 
211
 
 
212
/* Read/Write registers */
 
213
#define qoz_A_FIFO_DATA0_NOINC  0x84
 
214
#define qoz_A_FIFO_DATA0        0x80
 
215
#define qoz_A_FIFO_DATA1_NOINC  0x84
 
216
#define qoz_A_FIFO_DATA1        0x80
 
217
#define qoz_A_FIFO_DATA2_NOINC  0x84
 
218
#define qoz_A_FIFO_DATA2        0x80
 
219
#define qoz_R_RAM_DATA  0xC0
 
220
 
 
221
#define PCI_DEVICE_ID_CCD_M     0x16b8
 
222
#define PCI_DEVICE_ID_CCD_M4    0x08b4
 
223
#define CLKDEL_TE       0xe     /* CLKDEL in TE mode */
 
224
#define CLKDEL_NT       0xc     /* CLKDEL in NT mode */
 
225
 
 
226
#define HFC8S_CHIP_ID   0x80
 
227
#define HFC4S_CHIP_ID   0xC0
 
228
 
 
229
#define qoz_WD_P0       0x000000
 
230
#define qoz_WD_P1       0x808080
 
231
#define qoz_WD_P2       0x404040
 
232
 
 
233
#define qoz_T3          3
 
234
#define qoz_T4          1
 
235
 
 
236