72: if( dev_ser_get_snddat(unit, &data)) {
73: out_b(ba[unit] + SCI_TDR, (UB)data);
74: }
102: ssr = in_b(ba[unit] + SCI_SSR);
103: out_b(ba[unit] + SCI_SSR, 0); /* Clear error */
104:
117: /* Set communication mode & Speed */
118: out_b( ba[unit] + SCI_SMR, (UB)((mode & 0x00000078)|(speed>>8 & 0x00000003)));
119: out_b( ba[unit] + SCI_SCMR, 0xF2);
120: data = in_b( ba[unit] + SCI_SEMR);
121: out_b( ba[unit] + SCI_SEMR, (data & ~SCI_SEMR_ABCS) | (speed & SCI_SEMR_ABCS));
122: out_b( ba[unit] + SCI_BRR, speed >>16);
123:
124: /* SCR.TE,RE,TIE,RIE <- 1 */
125: out_b( ba[unit] + SCI_SCR,
126: (SCI_SCR_RE | SCI_SCR_TE | SCI_SCR_RIE | SCI_SCR_TIE | SCI_SCR_INI));
134: if(unit != DEVCNF_SER_DBGUN) {
135: out_b(ba[unit] + SCI_SCR, SCI_SCR_INI); /* SCR.TIE,RIE,TE,RE,TEIE <- 0 & Set SCR.CKE */
136: } else { /* Used by T-Monitor */
137: out_b(ba[unit] + SCI_SCR, SCI_SCR_DEBUG);
138: }
213: in_b(ba[unit] + SCI_SSR);
214: out_b(ba[unit] + SCI_SSR, 0xC0);
215: /* Enable Interrupt */
232: if((in_b( ba[unit] + SCI_SSR) & SCI_SSR_TDRF) != 0) {
233: out_b(ba[unit] + SCI_TDR, (UB)parm);
234: err = E_OK;
279: stop_com(unit); /* Stop communication */
280: out_b(ba[unit] + SCI_SPMR, SCI_SPMR_INI); /* Set Hard flow control */
281: