/linux-4.4.14/drivers/isdn/hisax/ |
H A D | s0box.c | 98 return (readreg(cs->hw.teles3.cfg_reg, cs->hw.teles3.isac, offset)); ReadISAC() 104 writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.isac, offset, value); WriteISAC() 110 read_fifo(cs->hw.teles3.cfg_reg, cs->hw.teles3.isacfifo, data, size); ReadISACfifo() 116 write_fifo(cs->hw.teles3.cfg_reg, cs->hw.teles3.isacfifo, data, size); WriteISACfifo() 122 return (readreg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[hscx], offset)); ReadHSCX() 128 writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[hscx], offset, value); WriteHSCX() 135 #define READHSCX(cs, nr, reg) readreg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[nr], reg) 136 #define WRITEHSCX(cs, nr, reg, data) writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[nr], reg, data) 137 #define READHSCXFIFO(cs, nr, ptr, cnt) read_fifo(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscxfifo[nr], ptr, cnt) 138 #define WRITEHSCXFIFO(cs, nr, ptr, cnt) write_fifo(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscxfifo[nr], ptr, cnt) 152 val = readreg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[1], HSCX_ISTA); s0box_interrupt() 156 val = readreg(cs->hw.teles3.cfg_reg, cs->hw.teles3.isac, ISAC_ISTA); s0box_interrupt() 161 val = readreg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[1], HSCX_ISTA); s0box_interrupt() 167 val = readreg(cs->hw.teles3.cfg_reg, cs->hw.teles3.isac, ISAC_ISTA); s0box_interrupt() 175 writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[0], HSCX_MASK, 0xFF); s0box_interrupt() 176 writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[1], HSCX_MASK, 0xFF); s0box_interrupt() 177 writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.isac, ISAC_MASK, 0xFF); s0box_interrupt() 178 writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.isac, ISAC_MASK, 0x0); s0box_interrupt() 179 writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[0], HSCX_MASK, 0x0); s0box_interrupt() 180 writereg(cs->hw.teles3.cfg_reg, cs->hw.teles3.hscx[1], HSCX_MASK, 0x0); s0box_interrupt() 188 release_region(cs->hw.teles3.cfg_reg, 8); release_io_s0box() 223 cs->hw.teles3.cfg_reg = card->para[1]; setup_s0box() 224 cs->hw.teles3.hscx[0] = -0x20; setup_s0box() 225 cs->hw.teles3.hscx[1] = 0x0; setup_s0box() 226 cs->hw.teles3.isac = 0x20; setup_s0box() 227 cs->hw.teles3.isacfifo = cs->hw.teles3.isac + 0x3e; setup_s0box() 228 cs->hw.teles3.hscxfifo[0] = cs->hw.teles3.hscx[0] + 0x3e; setup_s0box() 229 cs->hw.teles3.hscxfifo[1] = cs->hw.teles3.hscx[1] + 0x3e; setup_s0box() 231 if (!request_region(cs->hw.teles3.cfg_reg, 8, "S0Box parallel I/O")) { setup_s0box() 233 cs->hw.teles3.cfg_reg, setup_s0box() 234 cs->hw.teles3.cfg_reg + 7); setup_s0box() 239 cs->hw.teles3.isac, cs->hw.teles3.cfg_reg); setup_s0box() 241 cs->hw.teles3.hscx[0], cs->hw.teles3.hscx[1]); setup_s0box()
|
H A D | teles3.c | 1 /* $Id: teles3.c,v 2.19.2.4 2004/01/13 23:48:39 keil Exp $ 58 return (readreg(cs->hw.teles3.isac, offset)); ReadISAC() 64 writereg(cs->hw.teles3.isac, offset, value); WriteISAC() 70 read_fifo(cs->hw.teles3.isacfifo, data, size); ReadISACfifo() 76 write_fifo(cs->hw.teles3.isacfifo, data, size); WriteISACfifo() 82 return (readreg(cs->hw.teles3.hscx[hscx], offset)); ReadHSCX() 88 writereg(cs->hw.teles3.hscx[hscx], offset, value); WriteHSCX() 95 #define READHSCX(cs, nr, reg) readreg(cs->hw.teles3.hscx[nr], reg) 96 #define WRITEHSCX(cs, nr, reg, data) writereg(cs->hw.teles3.hscx[nr], reg, data) 97 #define READHSCXFIFO(cs, nr, ptr, cnt) read_fifo(cs->hw.teles3.hscxfifo[nr], ptr, cnt) 98 #define WRITEHSCXFIFO(cs, nr, ptr, cnt) write_fifo(cs->hw.teles3.hscxfifo[nr], ptr, cnt) 112 val = readreg(cs->hw.teles3.hscx[1], HSCX_ISTA); teles3_interrupt() 116 val = readreg(cs->hw.teles3.isac, ISAC_ISTA); teles3_interrupt() 121 val = readreg(cs->hw.teles3.hscx[1], HSCX_ISTA); teles3_interrupt() 127 val = readreg(cs->hw.teles3.isac, ISAC_ISTA); teles3_interrupt() 135 writereg(cs->hw.teles3.hscx[0], HSCX_MASK, 0xFF); teles3_interrupt() 136 writereg(cs->hw.teles3.hscx[1], HSCX_MASK, 0xFF); teles3_interrupt() 137 writereg(cs->hw.teles3.isac, ISAC_MASK, 0xFF); teles3_interrupt() 138 writereg(cs->hw.teles3.isac, ISAC_MASK, 0x0); teles3_interrupt() 139 writereg(cs->hw.teles3.hscx[0], HSCX_MASK, 0x0); teles3_interrupt() 140 writereg(cs->hw.teles3.hscx[1], HSCX_MASK, 0x0); teles3_interrupt() 149 release_region(cs->hw.teles3.isac + 32, 32); release_ioregs() 151 release_region(cs->hw.teles3.hscx[0] + 32, 32); release_ioregs() 153 release_region(cs->hw.teles3.hscx[1] + 32, 32); release_ioregs() 160 release_region(cs->hw.teles3.hscx[1], 96); release_io_teles3() 162 if (cs->hw.teles3.cfg_reg) { release_io_teles3() 164 release_region(cs->hw.teles3.cfg_reg, 1); release_io_teles3() 166 release_region(cs->hw.teles3.cfg_reg, 8); release_io_teles3() 179 if ((cs->hw.teles3.cfg_reg) && (cs->typ != ISDN_CTYPE_COMPAQ_ISA)) { reset_teles3() 209 byteout(cs->hw.teles3.cfg_reg + 4, irqcfg); reset_teles3() 211 byteout(cs->hw.teles3.cfg_reg + 4, irqcfg | 1); reset_teles3() 214 byteout(cs->hw.teles3.cfg_reg, 0xff); reset_teles3() 216 byteout(cs->hw.teles3.cfg_reg, 0x00); reset_teles3() 220 byteout(cs->hw.teles3.isac + 0x3c, 0); reset_teles3() 222 byteout(cs->hw.teles3.isac + 0x3c, 1); reset_teles3() 330 cs->hw.teles3.cfg_reg = card->para[1]; setup_teles3() 331 switch (cs->hw.teles3.cfg_reg) { setup_teles3() 335 cs->hw.teles3.cfg_reg |= 0xc00; setup_teles3() 338 cs->hw.teles3.isac = cs->hw.teles3.cfg_reg - 0x420; setup_teles3() 339 cs->hw.teles3.hscx[0] = cs->hw.teles3.cfg_reg - 0xc20; setup_teles3() 340 cs->hw.teles3.hscx[1] = cs->hw.teles3.cfg_reg - 0x820; setup_teles3() 342 cs->hw.teles3.cfg_reg = 0; setup_teles3() 343 cs->hw.teles3.hscx[0] = card->para[1] - 0x20; setup_teles3() 344 cs->hw.teles3.hscx[1] = card->para[1]; setup_teles3() 345 cs->hw.teles3.isac = card->para[1] + 0x20; setup_teles3() 347 cs->hw.teles3.cfg_reg = card->para[3]; setup_teles3() 348 cs->hw.teles3.isac = card->para[2] - 32; setup_teles3() 349 cs->hw.teles3.hscx[0] = card->para[1] - 32; setup_teles3() 350 cs->hw.teles3.hscx[1] = card->para[1]; setup_teles3() 352 cs->hw.teles3.cfg_reg = 0; setup_teles3() 353 cs->hw.teles3.isac = card->para[1] - 32; setup_teles3() 354 cs->hw.teles3.hscx[0] = card->para[2] - 32; setup_teles3() 355 cs->hw.teles3.hscx[1] = card->para[2]; setup_teles3() 358 cs->hw.teles3.isacfifo = cs->hw.teles3.isac + 0x3e; setup_teles3() 359 cs->hw.teles3.hscxfifo[0] = cs->hw.teles3.hscx[0] + 0x3e; setup_teles3() 360 cs->hw.teles3.hscxfifo[1] = cs->hw.teles3.hscx[1] + 0x3e; setup_teles3() 362 if (!request_region(cs->hw.teles3.hscx[1], 96, "HiSax Teles PCMCIA")) { setup_teles3() 366 cs->hw.teles3.hscx[1], setup_teles3() 367 cs->hw.teles3.hscx[1] + 96); setup_teles3() 372 if (cs->hw.teles3.cfg_reg) { setup_teles3() 374 if (!request_region(cs->hw.teles3.cfg_reg, 1, "teles3 cfg")) { setup_teles3() 378 cs->hw.teles3.cfg_reg); setup_teles3() 382 if (!request_region(cs->hw.teles3.cfg_reg, 8, "teles3 cfg")) { setup_teles3() 386 cs->hw.teles3.cfg_reg, setup_teles3() 387 cs->hw.teles3.cfg_reg + 8); setup_teles3() 392 if (!request_region(cs->hw.teles3.isac + 32, 32, "HiSax isac")) { setup_teles3() 396 cs->hw.teles3.isac + 32, setup_teles3() 397 cs->hw.teles3.isac + 64); setup_teles3() 398 if (cs->hw.teles3.cfg_reg) { setup_teles3() 400 release_region(cs->hw.teles3.cfg_reg, 1); setup_teles3() 402 release_region(cs->hw.teles3.cfg_reg, 8); setup_teles3() 407 if (!request_region(cs->hw.teles3.hscx[0] + 32, 32, "HiSax hscx A")) { setup_teles3() 411 cs->hw.teles3.hscx[0] + 32, setup_teles3() 412 cs->hw.teles3.hscx[0] + 64); setup_teles3() 413 if (cs->hw.teles3.cfg_reg) { setup_teles3() 415 release_region(cs->hw.teles3.cfg_reg, 1); setup_teles3() 417 release_region(cs->hw.teles3.cfg_reg, 8); setup_teles3() 423 if (!request_region(cs->hw.teles3.hscx[1] + 32, 32, "HiSax hscx B")) { setup_teles3() 427 cs->hw.teles3.hscx[1] + 32, setup_teles3() 428 cs->hw.teles3.hscx[1] + 64); setup_teles3() 429 if (cs->hw.teles3.cfg_reg) { setup_teles3() 431 release_region(cs->hw.teles3.cfg_reg, 1); setup_teles3() 433 release_region(cs->hw.teles3.cfg_reg, 8); setup_teles3() 440 if ((cs->hw.teles3.cfg_reg) && (cs->typ != ISDN_CTYPE_COMPAQ_ISA)) { setup_teles3() 441 if ((val = bytein(cs->hw.teles3.cfg_reg + 0)) != 0x51) { setup_teles3() 443 cs->hw.teles3.cfg_reg + 0, val); setup_teles3() 447 if ((val = bytein(cs->hw.teles3.cfg_reg + 1)) != 0x93) { setup_teles3() 449 cs->hw.teles3.cfg_reg + 1, val); setup_teles3() 453 val = bytein(cs->hw.teles3.cfg_reg + 2);/* 0x1e=without AB setup_teles3() 462 cs->hw.teles3.cfg_reg + 2, val); setup_teles3() 470 cs->hw.teles3.isac + 32, cs->hw.teles3.cfg_reg); setup_teles3() 473 cs->hw.teles3.hscx[0] + 32, cs->hw.teles3.hscx[1] + 32); setup_teles3()
|
H A D | Makefile | 31 hisax-$(CONFIG_HISAX_16_3) += teles3.o isac.o arcofi.o hscx.o
|
H A D | ix1_micro.c | 4 * derived from the original file teles3.c from Karsten Keil
|
H A D | hisax.h | 900 struct teles3_hw teles3; member in union:IsdnCardState::__anon5632
|