Lines Matching refs:port

50 static short porttab [] = {	       /* standard base port set */
73 int ct_download (port_t port, const unsigned char *firmware,
80 inb (BSR3(port));
91 outb (BCR1(port), cr1);
92 sr2 = inb (BSR2(port));
93 outb (BCR0(port), BCR0_TCK);
94 outb (BCR0(port), 0);
156 int ct_download2 (port_t port, const unsigned char *fwaddr)
166 bcr1_port = BCR1(port);
168 nconfig_set(port);
170 if (nstatus(port))
176 nconfig_clr(port);
178 nconfig_clr(port);
179 if (nstatus(port)) {
180 CTAU_DEBUG (("Bad nstatus, downloading aborted (bsr3=0x%x).\n", inb(BSR3(port))));
181 nconfig_set(port);
188 nconfig_set(port);
190 nconfig_set(port);
201 if (nstatus(port) == 0) {
206 if (confdone(port)) {
209 dclk_tick (port);
211 if (nstatus(port) == 0) {
222 putbit (port, val & 0x01);
223 putbit (port, val & 0x02);
224 putbit (port, val & 0x04);
225 putbit (port, val & 0x08);
226 putbit (port, val & 0x10);
227 putbit (port, val & 0x20);
228 putbit (port, val & 0x40);
229 putbit (port, val & 0x80);
243 static int ct_probe2_board (port_t port)
248 if (! valid (port, porttab))
251 osr3 = inb (BSR3(port));
257 sr3 = inb (BSR3(port));
258 sr3 = inb (BSR3(port));
265 outb (BCR0(port), 0);
270 * Check if the Tau board is present at the given base port.
275 int ct_probe_board (port_t port, int irq, int dma)
280 if (! valid (port, porttab))
289 osr3 = inb (BSR3(port));
294 sr3 = inb (BSR3(port));
297 return ct_probe2_board (port);
301 outb (BCR0(port), 0);
322 outb (BCR0(b->port), BCR0_HDRUN | irqmask[irq]);
323 outb (R(b->port,HD_TEPR_0R), 0);
324 outw (R(b->port,HD_TCONR_0R), 1);
325 outw (R(b->port,HD_TCNT_0R), 0);
326 outb (R(b->port,HD_TCSR_0R), TCSR_ENABLE | TCSR_INTR);
327 outb (IER2(b->port), IER2_RX_TME_0);
329 outb (BCR0(b->port), BCR0_HDRUN | irqmask[-irq]);
330 outb (IER0(b->port), 0);
331 outb (IER1(b->port), 0);
332 outb (IER2(b->port), 0);
333 outb (R(b->port,HD_TCSR_0R), 0);
334 cte_out (E1CS0 (b->port), DS_IMR2, 0);
335 cte_out (E1CS1 (b->port), DS_IMR2, 0);
342 outb (BCR0(b->port), b->bcr0);
343 cte_out (E1CS0 (b->port), DS_IMR2, SR2_SEC);
344 cte_out (E1CS1 (b->port), DS_IMR2, SR2_SEC);
350 void ct_init_board (ct_board_t *b, int num, port_t port, int irq, int dma,
357 b->port = port;
392 void ct_init (ct_board_t *b, int num, port_t port, int irq, int dma,
419 long osc = (inb (BSR3(port)) & BSR3_ZERO) ? 8192000 : 10000000;
422 if (ct_probe2_board (port) && ct_download2 (port, firmware2)) {
424 unsigned char sr0 = inb (BSR0(port));
429 else if (inb(E1SR(port)) & E1SR_REV)
433 } else if (ct_download (port, tau, tlen, tvec)) {
434 if (! ct_download (port, firmware, bits, tst))
437 unsigned char sr0 = inb (BSR0(port));
442 else if (inb(E1SR(port)) & E1SR_REV)
447 } else if (ct_download (port, e1, tlen, tvec2) ||
448 ct_download (port, e1_2, tlen, tvec2) ||
449 ct_download (port, e1_3, tlen, tvec2) ||
450 ct_download (port, e1_4, tlen, tvec2))
452 else if (ct_download (port, g703, tlen, tvec2) ||
453 ct_download (port, g703_2, tlen, tvec2) ||
454 ct_download (port, g703_3, tlen, tvec2) ||
455 ct_download (port, g703_4, tlen, tvec2))
457 ct_init_board (b, num, port, irq, dma, type, osc);
466 port_t port = b->port;
486 #define set(X,N) c->X = R(port,reg(X,N))
487 #define srx(X,N) c->RX.X = R(port,reg(X,N##R))
488 #define stx(X,N) c->TX.X = R(port,reg(X,N##T))
640 port_t p = c->num ? E1CS1 (b->port) : E1CS0 (b->port);
678 if (inb (E1SR (b->port)) & (c->num ? E1SR_TP1 : E1SR_TP0))
788 static void ct_setup_scc (port_t port)
790 #define SET(r,v) { cte_out2 (port, r, v); cte_out2 (port, AM_A | r, v); }
793 cte_out2 (port, AM_MICR, MICR_RESET_HW);
797 cte_out2 (port, AM_IVR, 0); /* interrupt vector */
802 cte_out2 (port, AM_MICR, 0); /* master interrupt control */
843 outb (E1CFG (b->port), b->e1cfg);
848 ct_setup_scc (b->port);
858 outb (E1CFG (b->port), b->e1cfg);
918 outb (GMD0(b->port), b->gmd0);
919 outb (GMD1(b->port), b->gmd1 | GMD1_NCS0 | GMD1_NCS1);
923 outb (GMD2(b->port), b->gmd2);
940 outb (GERR(b->port), 0xff);
941 outb (GLDR(b->port), 0xff);
956 outb (BCR0(b->port), 0);
961 ! ct_download (b->port, firmware, bits, tst))
965 ! ct_download2 (b->port, firmware))
969 outb (BCR0(b->port), BCR0_HDRUN);
970 outb (BCR0(b->port), b->bcr0);
973 outb (BCR1(b->port), b->bcr1);
977 outb (BCR2(b->port), b->bcr2);
983 outb (WCRL(b->port), 0);
984 outb (WCRM(b->port), 0);
985 outb (WCRH(b->port), 0);
988 outb (IMVR(b->port), 0);
989 outb (ITCR(b->port), ITCR_CYCLE_SINGLE | ITCR_VECT_MOD);
992 outb (IER0(b->port), 0);
993 outb (IER1(b->port), 0);
994 outb (IER2(b->port), 0);
997 outb (PCR(b->port), BYTE b->opt.pcr);
998 outb (DMER(b->port), DME_ENABLE);
1008 outb (GMD2(b->port), 0);
1130 outb (BCR1(c->board->port), c->board->bcr1);
1134 outb (BCR1(c->board->port), c->board->bcr1);
1198 unsigned short p = c->num ? E1CS1 (c->board->port) :
1199 E1CS0 (c->board->port);
1220 outb (BCR1(c->board->port), c->board->bcr1 & ~txcout);
1226 outb (BCR1(c->board->port), c->board->bcr1);
1239 unsigned short p = c->num ? E1CS1 (c->board->port) :
1240 E1CS0 (c->board->port);
1258 outb (BCR1(c->board->port), c->board->bcr1 & ~txcout);
1267 outb (BCR1(c->board->port), c->board->bcr1);
1288 unsigned short p = c->num ? E1CS1 (c->board->port) :
1289 E1CS0 (c->board->port);
1317 outb (E1SYN(c->board->port), c->board->e1syn);
1323 int ier0 = inb (IER0(c->board->port));
1324 int ier1 = inb (IER1(c->board->port));
1325 int ier2 = inb (IER2(c->board->port));
1353 outb (IER0(c->board->port), ier0);
1354 outb (IER1(c->board->port), ier1);
1355 outb (IER2(c->board->port), ier2);
1388 int ier0 = inb (IER0(c->board->port));
1389 int ier1 = inb (IER1(c->board->port));
1408 outb (IER0(c->board->port), ier0);
1409 outb (IER1(c->board->port), ier1);
1441 outb (GERR(c->board->port), 0xff);
1442 outb (GLDR(c->board->port), 0xff);
1459 outb (BCR1(c->board->port), c->board->bcr1);
1494 return (inb (BSR1(c->board->port)) &
1509 q1 = inb (GLQ (c->board->port));
1512 q2 = inb (GLQ (c->board->port));
1514 q3 = inb (GLQ (c->board->port));
1558 outb (GMD2(b->port), b->gmd2);
1563 outb (E1CFG(b->port), b->e1cfg);
1647 outb (E1CS2(c->board->port), E1CS2_SCC | E1CS2_DC |
1649 return inb (E1DAT(c->board->port));
1657 outb (E1CS2(c->board->port), E1CS2_SCC | (c->num ? 0 : E1CS2_AB));
1658 outb (E1DAT(c->board->port), val);
1666 outb (E1CS2(c->board->port), E1CS2_SCC | E1CS2_DC |
1668 outb (E1DAT(c->board->port), val);
1677 static void ctg_output (port_t port, unsigned char val, unsigned char v0)
1685 outb (port, v);
1686 outb (port, v);
1687 outb (port, v);
1688 outb (port, v);
1689 outb (port, v | GMD0_SCLK);
1690 outb (port, v | GMD0_SCLK);
1691 outb (port, v | GMD0_SCLK);
1692 outb (port, v | GMD0_SCLK);
1694 outb (port, v0);
1699 port_t port = GMD0(c->board->port);
1701 outb (GMD1(c->board->port), c->board->gmd1 | GMD1_NCS0 | GMD1_NCS1);
1702 outb (GMD1(c->board->port), c->board->gmd1 |
1704 ctg_output (port, (reg << 1) | LX_WRITE, c->board->gmd0);
1705 ctg_output (port, val, c->board->gmd0);
1706 outb (GMD1(c->board->port), c->board->gmd1 | GMD1_NCS0 | GMD1_NCS1);
1711 port_t port = GMD0(c->board->port);
1712 port_t data = GLDR(c->board->port);
1716 outb (GMD1(c->board->port), c->board->gmd1 | GMD1_NCS0 | GMD1_NCS1);
1717 outb (GMD1(c->board->port), c->board->gmd1 |
1719 ctg_output (port, (reg << 1) | LX_READ, c->board->gmd0);
1721 outb (port, c->board->gmd0 | GMD0_SCLK);
1724 outb (port, c->board->gmd0);
1726 outb (GMD1(c->board->port), c->board->gmd1 | GMD1_NCS0 | GMD1_NCS1);
1759 /* port i/o mode FIFO marks */