Lines Matching refs:port

38 unsigned int __weak __init serial8250_early_in(struct uart_port *port, int offset)  in serial8250_early_in()  argument
40 switch (port->iotype) { in serial8250_early_in()
42 return readb(port->membase + offset); in serial8250_early_in()
44 return readl(port->membase + (offset << 2)); in serial8250_early_in()
46 return ioread32be(port->membase + (offset << 2)); in serial8250_early_in()
48 return inb(port->iobase + offset); in serial8250_early_in()
54 void __weak __init serial8250_early_out(struct uart_port *port, int offset, int value) in serial8250_early_out() argument
56 switch (port->iotype) { in serial8250_early_out()
58 writeb(value, port->membase + offset); in serial8250_early_out()
61 writel(value, port->membase + (offset << 2)); in serial8250_early_out()
64 iowrite32be(value, port->membase + (offset << 2)); in serial8250_early_out()
67 outb(value, port->iobase + offset); in serial8250_early_out()
74 static void __init wait_for_xmitr(struct uart_port *port) in wait_for_xmitr() argument
79 status = serial8250_early_in(port, UART_LSR); in wait_for_xmitr()
86 static void __init serial_putc(struct uart_port *port, int c) in serial_putc() argument
88 wait_for_xmitr(port); in serial_putc()
89 serial8250_early_out(port, UART_TX, c); in serial_putc()
96 struct uart_port *port = &device->port; in early_serial8250_write() local
100 ier = serial8250_early_in(port, UART_IER); in early_serial8250_write()
102 serial8250_early_out(port, UART_IER, ier & UART_IER_UUE); in early_serial8250_write()
104 uart_console_write(port, s, count, serial_putc); in early_serial8250_write()
107 wait_for_xmitr(port); in early_serial8250_write()
110 serial8250_early_out(port, UART_IER, ier); in early_serial8250_write()
115 struct uart_port *port = &device->port; in init_port() local
120 serial8250_early_out(port, UART_LCR, 0x3); /* 8n1 */ in init_port()
121 ier = serial8250_early_in(port, UART_IER); in init_port()
122 serial8250_early_out(port, UART_IER, ier & UART_IER_UUE); /* no interrupt */ in init_port()
123 serial8250_early_out(port, UART_FCR, 0); /* no fifo */ in init_port()
124 serial8250_early_out(port, UART_MCR, 0x3); /* DTR + RTS */ in init_port()
126 divisor = DIV_ROUND_CLOSEST(port->uartclk, 16 * device->baud); in init_port()
127 c = serial8250_early_in(port, UART_LCR); in init_port()
128 serial8250_early_out(port, UART_LCR, c | UART_LCR_DLAB); in init_port()
129 serial8250_early_out(port, UART_DLL, divisor & 0xff); in init_port()
130 serial8250_early_out(port, UART_DLM, (divisor >> 8) & 0xff); in init_port()
131 serial8250_early_out(port, UART_LCR, c & ~UART_LCR_DLAB); in init_port()
137 if (!(device->port.membase || device->port.iobase)) in early_serial8250_setup()
141 struct uart_port *port = &device->port; in early_serial8250_setup() local
145 ier = serial8250_early_in(port, UART_IER); in early_serial8250_setup()
146 serial8250_early_out(port, UART_IER, ier & UART_IER_UUE); in early_serial8250_setup()