Home | History | Annotate | Download | only in serial

Lines Matching refs:com_port

129 	ns16550_writeb(com_port, \
130 (unsigned char *)addr - (unsigned char *)com_port, value)
132 ns16550_readb(com_port, \
133 (unsigned char *)addr - (unsigned char *)com_port)
148 static void NS16550_setbrg(NS16550_t com_port, int baud_divisor)
150 serial_out(UART_LCR_BKSE | UART_LCRVAL, &com_port->lcr);
151 serial_out(baud_divisor & 0xff, &com_port->dll);
152 serial_out((baud_divisor >> 8) & 0xff, &com_port->dlm);
153 serial_out(UART_LCRVAL, &com_port->lcr);
156 void NS16550_init(NS16550_t com_port, int baud_divisor)
165 if ((serial_in(&com_port->lsr) & (UART_LSR_TEMT | UART_LSR_THRE))
168 NS16550_setbrg(com_port, baud_divisor);
169 serial_out(0, &com_port->mdr1);
173 while (!(serial_in(&com_port->lsr) & UART_LSR_TEMT))
176 serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);
178 serial_out(0x7, &com_port->mdr1); /* mode select reset TL16C750*/
180 serial_out(UART_MCRVAL, &com_port->mcr);
181 serial_out(ns16550_getfcr(com_port), &com_port->fcr);
183 NS16550_setbrg(com_port, baud_divisor);
186 serial_out(0, &com_port->mdr1);
189 serial_out(UART_REG_VAL_PWREMU_MGMT_UART_ENABLE, &com_port->regC);
194 void NS16550_reinit(NS16550_t com_port, int baud_divisor)
196 serial_out(CONFIG_SYS_NS16550_IER, &com_port->ier);
197 NS16550_setbrg(com_port, 0);
198 serial_out(UART_MCRVAL, &com_port->mcr);
199 serial_out(ns16550_getfcr(com_port), &com_port->fcr);
200 NS16550_setbrg(com_port, baud_divisor);
204 void NS16550_putc(NS16550_t com_port, char c)
206 while ((serial_in(&com_port->lsr) & UART_LSR_THRE) == 0)
208 serial_out(c, &com_port->thr);
221 char NS16550_getc(NS16550_t com_port)
223 while ((serial_in(&com_port->lsr) & UART_LSR_DR) == 0) {
230 return serial_in(&com_port->rbr);
233 int NS16550_tstc(NS16550_t com_port)
235 return (serial_in(&com_port->lsr) & UART_LSR_DR) != 0;
246 struct NS16550 *com_port = (struct NS16550 *)CONFIG_DEBUG_UART_BASE;
255 baud_divisor = ns16550_calc_divisor(com_port, CONFIG_DEBUG_UART_CLOCK,
257 serial_dout(&com_port->ier, CONFIG_SYS_NS16550_IER);
258 serial_dout(&com_port->mcr, UART_MCRVAL);
259 serial_dout(&com_port->fcr, UART_FCR_DEFVAL);
261 serial_dout(&com_port->lcr, UART_LCR_BKSE | UART_LCRVAL);
262 serial_dout(&com_port->dll, baud_divisor & 0xff);
263 serial_dout(&com_port->dlm, (baud_divisor >> 8) & 0xff);
264 serial_dout(&com_port->lcr, UART_LCRVAL);
269 struct NS16550 *com_port = (struct NS16550 *)CONFIG_DEBUG_UART_BASE;
271 while (!(serial_din(&com_port->lsr) & UART_LSR_THRE))
273 serial_dout(&com_port->thr, ch);
286 struct NS16550 *com_port = (struct NS16550 *)CONFIG_DEBUG_UART_BASE;
289 baud_divisor = ns16550_calc_divisor(com_port, CONFIG_DEBUG_UART_CLOCK,
291 serial_dout(&com_port->ier, CONFIG_SYS_NS16550_IER);
292 serial_dout(&com_port->mdr1, 0x7);
293 serial_dout(&com_port->mcr, UART_MCRVAL);
294 serial_dout(&com_port->fcr, UART_FCR_DEFVAL);
296 serial_dout(&com_port->lcr, UART_LCR_BKSE | UART_LCRVAL);
297 serial_dout(&com_port->dll, baud_divisor & 0xff);
298 serial_dout(&com_port->dlm, (baud_divisor >> 8) & 0xff);
299 serial_dout(&com_port->lcr, UART_LCRVAL);
300 serial_dout(&com_port->mdr1, 0x0);
305 struct NS16550 *com_port = (struct NS16550 *)CONFIG_DEBUG_UART_BASE;
307 while (!(serial_din(&com_port->lsr) & UART_LSR_THRE))
309 serial_dout(&com_port->thr, ch);
319 struct NS16550 *const com_port = dev_get_priv(dev);
321 if (!(serial_in(&com_port->lsr) & UART_LSR_THRE))
323 serial_out(ch, &com_port->thr);
339 struct NS16550 *const com_port = dev_get_priv(dev);
342 return (serial_in(&com_port->lsr) & UART_LSR_DR) ? 1 : 0;
344 return (serial_in(&com_port->lsr) & UART_LSR_THRE) ? 0 : 1;
349 struct NS16550 *const com_port = dev_get_priv(dev);
351 if (!(serial_in(&com_port->lsr) & UART_LSR_DR))
354 return serial_in(&com_port->rbr);
359 struct NS16550 *const com_port = dev_get_priv(dev);
360 struct ns16550_platdata *plat = com_port->plat;
363 clock_divisor = ns16550_calc_divisor(com_port, plat->clock, baudrate);
365 NS16550_setbrg(com_port, clock_divisor);
372 struct NS16550 *const com_port = dev_get_priv(dev);
374 com_port->plat = dev_get_platdata(dev);
375 NS16550_init(com_port, -1);