Lines Matching refs:port

40 mtk8250_set_termios(struct uart_port *port, struct ktermios *termios,  in mtk8250_set_termios()  argument
47 container_of(port, struct uart_8250_port, port); in mtk8250_set_termios()
49 serial8250_do_set_termios(port, termios, old); in mtk8250_set_termios()
64 baud = uart_get_baud_rate(port, termios, old, in mtk8250_set_termios()
65 port->uartclk / 16 / 0xffff, in mtk8250_set_termios()
66 port->uartclk / 16); in mtk8250_set_termios()
69 serial_port_out(port, UART_MTK_HIGHS, 0x0); in mtk8250_set_termios()
70 quot = uart_get_divisor(port, baud); in mtk8250_set_termios()
72 serial_port_out(port, UART_MTK_HIGHS, 0x2); in mtk8250_set_termios()
77 quot = DIV_ROUND_UP(port->uartclk, 4 * baud); in mtk8250_set_termios()
79 serial_port_out(port, UART_MTK_HIGHS, 0x3); in mtk8250_set_termios()
84 quot = DIV_ROUND_UP(port->uartclk, 256 * baud); in mtk8250_set_termios()
91 spin_lock_irqsave(&port->lock, flags); in mtk8250_set_termios()
94 serial_port_out(port, UART_LCR, up->lcr | UART_LCR_DLAB); in mtk8250_set_termios()
98 serial_port_out(port, UART_LCR, up->lcr); in mtk8250_set_termios()
103 tmp = DIV_ROUND_CLOSEST(port->uartclk, quot * baud); in mtk8250_set_termios()
104 serial_port_out(port, UART_MTK_SAMPLE_COUNT, tmp - 1); in mtk8250_set_termios()
105 serial_port_out(port, UART_MTK_SAMPLE_POINT, in mtk8250_set_termios()
108 serial_port_out(port, UART_MTK_SAMPLE_COUNT, 0x00); in mtk8250_set_termios()
109 serial_port_out(port, UART_MTK_SAMPLE_POINT, 0xff); in mtk8250_set_termios()
112 spin_unlock_irqrestore(&port->lock, flags); in mtk8250_set_termios()
119 mtk8250_do_pm(struct uart_port *port, unsigned int state, unsigned int old) in mtk8250_do_pm() argument
122 pm_runtime_get_sync(port->dev); in mtk8250_do_pm()
124 serial8250_do_pm(port, state, old); in mtk8250_do_pm()
127 pm_runtime_put_sync_suspend(port->dev); in mtk8250_do_pm()
166 uart.port.membase = devm_ioremap(&pdev->dev, regs->start, in mtk8250_probe()
168 if (!uart.port.membase) in mtk8250_probe()
176 err = mtk8250_probe_of(pdev, &uart.port, data); in mtk8250_probe()
182 spin_lock_init(&uart.port.lock); in mtk8250_probe()
183 uart.port.mapbase = regs->start; in mtk8250_probe()
184 uart.port.irq = irq->start; in mtk8250_probe()
185 uart.port.pm = mtk8250_do_pm; in mtk8250_probe()
186 uart.port.type = PORT_16550; in mtk8250_probe()
187 uart.port.flags = UPF_BOOT_AUTOCONF | UPF_FIXED_PORT; in mtk8250_probe()
188 uart.port.dev = &pdev->dev; in mtk8250_probe()
189 uart.port.iotype = UPIO_MEM32; in mtk8250_probe()
190 uart.port.regshift = 2; in mtk8250_probe()
191 uart.port.private_data = data; in mtk8250_probe()
192 uart.port.set_termios = mtk8250_set_termios; in mtk8250_probe()
195 writel(0x0, uart.port.membase + in mtk8250_probe()
196 (MTK_UART_RATE_FIX << uart.port.regshift)); in mtk8250_probe()