Lines Matching refs:port
41 mtk8250_set_termios(struct uart_port *port, struct ktermios *termios, in mtk8250_set_termios() argument
48 container_of(port, struct uart_8250_port, port); in mtk8250_set_termios()
50 serial8250_do_set_termios(port, termios, old); in mtk8250_set_termios()
65 baud = uart_get_baud_rate(port, termios, old, in mtk8250_set_termios()
66 port->uartclk / 16 / 0xffff, in mtk8250_set_termios()
67 port->uartclk / 16); in mtk8250_set_termios()
70 serial_port_out(port, UART_MTK_HIGHS, 0x0); in mtk8250_set_termios()
71 quot = uart_get_divisor(port, baud); in mtk8250_set_termios()
73 serial_port_out(port, UART_MTK_HIGHS, 0x2); in mtk8250_set_termios()
78 quot = DIV_ROUND_UP(port->uartclk, 4 * baud); in mtk8250_set_termios()
80 serial_port_out(port, UART_MTK_HIGHS, 0x3); in mtk8250_set_termios()
85 quot = DIV_ROUND_UP(port->uartclk, 256 * baud); in mtk8250_set_termios()
92 spin_lock_irqsave(&port->lock, flags); in mtk8250_set_termios()
95 serial_port_out(port, UART_LCR, up->lcr | UART_LCR_DLAB); in mtk8250_set_termios()
99 serial_port_out(port, UART_LCR, up->lcr); in mtk8250_set_termios()
104 tmp = DIV_ROUND_CLOSEST(port->uartclk, quot * baud); in mtk8250_set_termios()
105 serial_port_out(port, UART_MTK_SAMPLE_COUNT, tmp - 1); in mtk8250_set_termios()
106 serial_port_out(port, UART_MTK_SAMPLE_POINT, in mtk8250_set_termios()
109 serial_port_out(port, UART_MTK_SAMPLE_COUNT, 0x00); in mtk8250_set_termios()
110 serial_port_out(port, UART_MTK_SAMPLE_POINT, 0xff); in mtk8250_set_termios()
113 spin_unlock_irqrestore(&port->lock, flags); in mtk8250_set_termios()
150 mtk8250_do_pm(struct uart_port *port, unsigned int state, unsigned int old) in mtk8250_do_pm() argument
153 pm_runtime_get_sync(port->dev); in mtk8250_do_pm()
155 serial8250_do_pm(port, state, old); in mtk8250_do_pm()
158 pm_runtime_put_sync_suspend(port->dev); in mtk8250_do_pm()
199 uart.port.membase = devm_ioremap(&pdev->dev, regs->start, in mtk8250_probe()
201 if (!uart.port.membase) in mtk8250_probe()
209 err = mtk8250_probe_of(pdev, &uart.port, data); in mtk8250_probe()
215 spin_lock_init(&uart.port.lock); in mtk8250_probe()
216 uart.port.mapbase = regs->start; in mtk8250_probe()
217 uart.port.irq = irq->start; in mtk8250_probe()
218 uart.port.pm = mtk8250_do_pm; in mtk8250_probe()
219 uart.port.type = PORT_16550; in mtk8250_probe()
220 uart.port.flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT; in mtk8250_probe()
221 uart.port.dev = &pdev->dev; in mtk8250_probe()
222 uart.port.iotype = UPIO_MEM32; in mtk8250_probe()
223 uart.port.regshift = 2; in mtk8250_probe()
224 uart.port.private_data = data; in mtk8250_probe()
225 uart.port.set_termios = mtk8250_set_termios; in mtk8250_probe()
226 uart.port.uartclk = clk_get_rate(data->uart_clk); in mtk8250_probe()
229 writel(0x0, uart.port.membase + in mtk8250_probe()
230 (MTK_UART_RATE_FIX << uart.port.regshift)); in mtk8250_probe()
312 if (!device->port.membase) in early_mtk8250_setup()
315 device->port.iotype = UPIO_MEM32; in early_mtk8250_setup()