Lines Matching refs:port

125 	int (*rs485_config)(struct uart_port *port, struct ktermios *termios,
154 static void exar_pm(struct uart_port *port, unsigned int state, unsigned int old)
162 serial_port_out(port, UART_EXAR_SLEEP, state ? 0xff : 0);
190 static int xr17v35x_startup(struct uart_port *port)
196 serial_port_out(port, UART_XR_EFR, UART_EFR_ECB);
204 spin_lock_irq(&port->lock);
205 serial_port_out(port, UART_IER, 0);
206 spin_unlock_irq(&port->lock);
208 return serial8250_do_startup(port);
211 static void exar_shutdown(struct uart_port *port)
214 struct uart_8250_port *up = up_to_u8250p(port);
215 struct circ_buf *xmit = &port->state->xmit;
228 serial8250_do_shutdown(port);
233 struct uart_8250_port *port)
239 port->port.iotype = UPIO_MEM;
240 port->port.mapbase = pci_resource_start(pcidev, bar) + offset;
241 port->port.membase = priv->virt + offset;
242 port->port.regshift = board->reg_shift;
247 * and assign port type to PORT_16650. The EFR for this UART is found
249 * for a 2, 4 or 8 port UART.
251 status = readb(port->port.membase + UART_EXAR_DVID);
253 port->port.type = PORT_XR17V35X;
255 port->port.get_divisor = xr17v35x_get_divisor;
256 port->port.set_divisor = xr17v35x_set_divisor;
258 port->port.startup = xr17v35x_startup;
260 port->port.type = PORT_XR17D15X;
263 port->port.pm = exar_pm;
264 port->port.shutdown = exar_shutdown;
271 struct uart_8250_port *port, int idx)
278 port->port.uartclk = baud * 16;
280 err = default_setup(priv, pcidev, idx, offset, port);
284 p = port->port.membase;
319 struct uart_8250_port *port, int idx)
324 port->port.uartclk = baud * 16;
325 return default_setup(priv, pcidev, idx, offset, port);
330 struct uart_8250_port *port, int idx)
335 port->port.uartclk = baud * 16;
336 return default_setup(priv, pcidev, idx, offset, port);
409 static int xr17v35x_register_gpio(struct pci_dev *pcidev, struct uart_8250_port *port)
412 port->port.private_data =
418 static void xr17v35x_unregister_gpio(struct uart_8250_port *port)
420 if (!port->port.private_data)
423 __xr17v35x_unregister_gpio(port->port.private_data);
424 port->port.private_data = NULL;
427 static int generic_rs485_config(struct uart_port *port, struct ktermios *termios,
431 u8 __iomem *p = port->membase;
459 static int iot2040_rs485_config(struct uart_port *port, struct ktermios *termios,
463 u8 __iomem *p = port->membase;
479 if (port->line == 3) {
489 return generic_rs485_config(port, termios, rs485);
508 struct uart_8250_port *port)
510 u8 __iomem *p = port->port.membase;
517 port->port.private_data =
558 struct uart_8250_port *port, int idx)
566 port->port.uartclk = baud * 16;
567 port->port.rs485_config = platform->rs485_config;
568 port->port.rs485_supported = *(platform->rs485_supported);
575 port->port.uartclk /= 2;
577 ret = default_setup(priv, pcidev, idx, offset, port);
581 p = port->port.membase;
592 ret = platform->register_gpio(pcidev, port);
602 struct uart_8250_port *port = serial8250_get_port(priv->line[0]);
604 platform->unregister_gpio(port);
677 uart.port.flags = UPF_SHARE_IRQ | UPF_EXAR_EFR | UPF_FIXED_TYPE | UPF_FIXED_PORT;
678 uart.port.irq = pci_irq_vector(pcidev, 0);
679 uart.port.dev = &pcidev->dev;
681 rc = devm_request_irq(&pcidev->dev, uart.port.irq, exar_misc_handler,
692 dev_err(&pcidev->dev, "Failed to setup port %u\n", i);
696 dev_dbg(&pcidev->dev, "Setup PCI port: port %lx, irq %d, type %d\n",
697 uart.port.iobase, uart.port.irq, uart.port.iotype);
702 "Couldn't register serial port %lx, irq %d, type %d, error %d\n",
703 uart.port.iobase, uart.port.irq,
704 uart.port.iotype, priv->line[i]);