Lines Matching +full:up +full:-

1 // SPDX-License-Identifier: GPL-2.0
41 writeb(value, p->membase); in serial8250_em_serial_out_helper()
46 writel(value, p->membase + ((offset + 1) << 2)); in serial8250_em_serial_out_helper()
49 writel(value, p->membase + (UART_FCR_EM_HW << 2)); in serial8250_em_serial_out_helper()
52 value &= 0x0f; /* only 4 valid bits - not Xscale */ in serial8250_em_serial_out_helper()
57 writel(value, p->membase + (offset << 2)); in serial8250_em_serial_out_helper()
66 return readb(p->membase); in serial8250_em_serial_in()
72 return readl(p->membase + ((offset + 1) << 2)); in serial8250_em_serial_in()
74 return readl(p->membase + (UART_FCR_EM_HW << 2)); in serial8250_em_serial_in()
80 return readl(p->membase + (offset << 2)); in serial8250_em_serial_in()
142 static u32 serial8250_em_serial_dl_read(struct uart_8250_port *up) in serial8250_em_serial_dl_read() argument
144 return serial_in(up, UART_DLL_EM) | serial_in(up, UART_DLM_EM) << 8; in serial8250_em_serial_dl_read()
147 static void serial8250_em_serial_dl_write(struct uart_8250_port *up, u32 value) in serial8250_em_serial_dl_write() argument
149 serial_out(up, UART_DLL_EM, value & 0xff); in serial8250_em_serial_dl_write()
150 serial_out(up, UART_DLM_EM, value >> 8 & 0xff); in serial8250_em_serial_dl_write()
156 struct device *dev = &pdev->dev; in serial8250_em_probe()
157 struct uart_8250_port up; in serial8250_em_probe() local
168 return dev_err_probe(dev, -EINVAL, "missing registers\n"); in serial8250_em_probe()
172 return -ENOMEM; in serial8250_em_probe()
178 memset(&up, 0, sizeof(up)); in serial8250_em_probe()
179 up.port.mapbase = regs->start; in serial8250_em_probe()
180 up.port.irq = irq; in serial8250_em_probe()
181 up.port.type = PORT_16750; in serial8250_em_probe()
182 up.port.flags = UPF_FIXED_PORT | UPF_IOREMAP | UPF_FIXED_TYPE; in serial8250_em_probe()
183 up.port.dev = dev; in serial8250_em_probe()
184 up.port.private_data = priv; in serial8250_em_probe()
186 up.port.uartclk = clk_get_rate(sclk); in serial8250_em_probe()
188 up.port.iotype = UPIO_MEM32; in serial8250_em_probe()
189 up.port.serial_in = serial8250_em_serial_in; in serial8250_em_probe()
190 up.port.serial_out = serial8250_em_serial_out; in serial8250_em_probe()
191 up.dl_read = serial8250_em_serial_dl_read; in serial8250_em_probe()
192 up.dl_write = serial8250_em_serial_dl_write; in serial8250_em_probe()
194 ret = serial8250_register_8250_port(&up); in serial8250_em_probe()
198 priv->line = ret; in serial8250_em_probe()
207 serial8250_unregister_port(priv->line); in serial8250_em_remove()
211 { .compatible = "renesas,em-uart", },
218 .name = "serial8250-em",