Line data Source code
1 : /* SPDX-License-Identifier: GPL-2.0+ */
2 : /* Synopsys DesignWare 8250 library header file. */
3 :
4 : #include <linux/io.h>
5 : #include <linux/types.h>
6 :
7 : #include "8250.h"
8 :
9 : struct dw8250_port_data {
10 : /* Port properties */
11 : int line;
12 :
13 : /* DMA operations */
14 : struct uart_8250_dma dma;
15 :
16 : /* Hardware configuration */
17 : u32 cpr_value;
18 : u8 dlf_size;
19 :
20 : /* RS485 variables */
21 : bool hw_rs485_support;
22 : };
23 :
24 : void dw8250_do_set_termios(struct uart_port *p, struct ktermios *termios, const struct ktermios *old);
25 : void dw8250_setup_port(struct uart_port *p);
26 :
27 0 : static inline u32 dw8250_readl_ext(struct uart_port *p, int offset)
28 : {
29 0 : if (p->iotype == UPIO_MEM32BE)
30 0 : return ioread32be(p->membase + offset);
31 0 : return readl(p->membase + offset);
32 0 : }
33 :
34 0 : static inline void dw8250_writel_ext(struct uart_port *p, int offset, u32 reg)
35 : {
36 0 : if (p->iotype == UPIO_MEM32BE)
37 0 : iowrite32be(reg, p->membase + offset);
38 : else
39 0 : writel(reg, p->membase + offset);
40 0 : }
|