Lines Matching refs:port

61 	struct uart_port port;
66 static unsigned int altera_jtaguart_tx_empty(struct uart_port *port)
68 return (readl(port->membase + ALTERA_JTAGUART_CONTROL_REG) &
72 static unsigned int altera_jtaguart_get_mctrl(struct uart_port *port)
77 static void altera_jtaguart_set_mctrl(struct uart_port *port, unsigned int sigs)
81 static void altera_jtaguart_start_tx(struct uart_port *port)
84 container_of(port, struct altera_jtaguart, port);
87 writel(pp->imr, port->membase + ALTERA_JTAGUART_CONTROL_REG);
90 static void altera_jtaguart_stop_tx(struct uart_port *port)
93 container_of(port, struct altera_jtaguart, port);
96 writel(pp->imr, port->membase + ALTERA_JTAGUART_CONTROL_REG);
99 static void altera_jtaguart_stop_rx(struct uart_port *port)
102 container_of(port, struct altera_jtaguart, port);
105 writel(pp->imr, port->membase + ALTERA_JTAGUART_CONTROL_REG);
108 static void altera_jtaguart_break_ctl(struct uart_port *port, int break_state)
112 static void altera_jtaguart_set_termios(struct uart_port *port,
123 struct uart_port *port = &pp->port;
127 while ((status = readl(port->membase + ALTERA_JTAGUART_DATA_REG)) &
131 port->icount.rx++;
133 if (uart_handle_sysrq_char(port, ch))
135 uart_insert_char(port, 0, 0, ch, flag);
138 spin_unlock(&port->lock);
139 tty_flip_buffer_push(&port->state->port);
140 spin_lock(&port->lock);
145 struct uart_port *port = &pp->port;
146 struct circ_buf *xmit = &port->state->xmit;
149 if (port->x_char) {
151 writel(port->x_char, port->membase + ALTERA_JTAGUART_DATA_REG);
152 port->x_char = 0;
153 port->icount.tx++;
159 count = (readl(port->membase + ALTERA_JTAGUART_CONTROL_REG) &
168 port->membase + ALTERA_JTAGUART_DATA_REG);
170 port->icount.tx++;
173 uart_write_wakeup(port);
179 writel(pp->imr, port->membase + ALTERA_JTAGUART_CONTROL_REG);
185 struct uart_port *port = data;
187 container_of(port, struct altera_jtaguart, port);
190 isr = (readl(port->membase + ALTERA_JTAGUART_CONTROL_REG) >>
193 spin_lock(&port->lock);
200 spin_unlock(&port->lock);
205 static void altera_jtaguart_config_port(struct uart_port *port, int flags)
207 port->type = PORT_ALTERA_JTAGUART;
210 writel(0, port->membase + ALTERA_JTAGUART_CONTROL_REG);
213 static int altera_jtaguart_startup(struct uart_port *port)
216 container_of(port, struct altera_jtaguart, port);
220 ret = request_irq(port->irq, altera_jtaguart_interrupt, 0,
221 DRV_NAME, port);
224 "interrupt vector=%d\n", port->line, port->irq);
228 spin_lock_irqsave(&port->lock, flags);
232 writel(pp->imr, port->membase + ALTERA_JTAGUART_CONTROL_REG);
234 spin_unlock_irqrestore(&port->lock, flags);
239 static void altera_jtaguart_shutdown(struct uart_port *port)
242 container_of(port, struct altera_jtaguart, port);
245 spin_lock_irqsave(&port->lock, flags);
249 writel(pp->imr, port->membase + ALTERA_JTAGUART_CONTROL_REG);
251 spin_unlock_irqrestore(&port->lock, flags);
253 free_irq(port->irq, port);
256 static const char *altera_jtaguart_type(struct uart_port *port)
258 return (port->type == PORT_ALTERA_JTAGUART) ? "Altera JTAG UART" : NULL;
261 static int altera_jtaguart_request_port(struct uart_port *port)
267 static void altera_jtaguart_release_port(struct uart_port *port)
272 static int altera_jtaguart_verify_port(struct uart_port *port,
307 static void altera_jtaguart_console_putc(struct uart_port *port, int c)
312 spin_lock_irqsave(&port->lock, flags);
313 while (((status = readl(port->membase + ALTERA_JTAGUART_CONTROL_REG)) &
316 spin_unlock_irqrestore(&port->lock, flags);
319 spin_unlock_irqrestore(&port->lock, flags);
321 spin_lock_irqsave(&port->lock, flags);
323 writel(c, port->membase + ALTERA_JTAGUART_DATA_REG);
324 spin_unlock_irqrestore(&port->lock, flags);
327 static void altera_jtaguart_console_putc(struct uart_port *port, int c)
331 spin_lock_irqsave(&port->lock, flags);
332 while ((readl(port->membase + ALTERA_JTAGUART_CONTROL_REG) &
334 spin_unlock_irqrestore(&port->lock, flags);
336 spin_lock_irqsave(&port->lock, flags);
338 writel(c, port->membase + ALTERA_JTAGUART_DATA_REG);
339 spin_unlock_irqrestore(&port->lock, flags);
346 struct uart_port *port = &(altera_jtaguart_ports + co->index)->port;
348 uart_console_write(port, s, count, altera_jtaguart_console_putc);
354 struct uart_port *port;
358 port = &altera_jtaguart_ports[co->index].port;
359 if (port->membase == NULL)
406 struct uart_port *port;
410 /* -1 emphasizes that the platform must have one port, no .N suffix */
417 port = &altera_jtaguart_ports[i].port;
421 port->mapbase = res_mem->start;
423 port->mapbase = platp->mapbase;
429 port->irq = res_irq->start;
431 port->irq = platp->irq;
435 port->membase = ioremap(port->mapbase, ALTERA_JTAGUART_SIZE);
436 if (!port->membase)
439 port->line = i;
440 port->type = PORT_ALTERA_JTAGUART;
441 port->iotype = SERIAL_IO_MEM;
442 port->ops = &altera_jtaguart_ops;
443 port->flags = UPF_BOOT_AUTOCONF;
445 uart_add_one_port(&altera_jtaguart_driver, port);
452 struct uart_port *port;
458 port = &altera_jtaguart_ports[i].port;
459 uart_remove_one_port(&altera_jtaguart_driver, port);