xref: /openbmc/u-boot/include/fsl_lpuart.h (revision 7edf5c45)
1*7edf5c45SPeng Fan /*
2*7edf5c45SPeng Fan  * Copyright 2016 Freescale Semiconductor, Inc.
3*7edf5c45SPeng Fan  *
4*7edf5c45SPeng Fan  * SPDX-License-Identifier:	GPL-2.0+
5*7edf5c45SPeng Fan  *
6*7edf5c45SPeng Fan  */
7*7edf5c45SPeng Fan 
8*7edf5c45SPeng Fan #ifdef CONFIG_ARCH_MX7ULP
9*7edf5c45SPeng Fan struct lpuart_fsl_reg32 {
10*7edf5c45SPeng Fan 	u32 verid;
11*7edf5c45SPeng Fan 	u32 param;
12*7edf5c45SPeng Fan 	u32 global;
13*7edf5c45SPeng Fan 	u32 pincfg;
14*7edf5c45SPeng Fan 	u32 baud;
15*7edf5c45SPeng Fan 	u32 stat;
16*7edf5c45SPeng Fan 	u32 ctrl;
17*7edf5c45SPeng Fan 	u32 data;
18*7edf5c45SPeng Fan 	u32 match;
19*7edf5c45SPeng Fan 	u32 modir;
20*7edf5c45SPeng Fan 	u32 fifo;
21*7edf5c45SPeng Fan 	u32 water;
22*7edf5c45SPeng Fan };
23*7edf5c45SPeng Fan #else
24*7edf5c45SPeng Fan struct lpuart_fsl_reg32 {
25*7edf5c45SPeng Fan 	u32 baud;
26*7edf5c45SPeng Fan 	u32 stat;
27*7edf5c45SPeng Fan 	u32 ctrl;
28*7edf5c45SPeng Fan 	u32 data;
29*7edf5c45SPeng Fan 	u32 match;
30*7edf5c45SPeng Fan 	u32 modir;
31*7edf5c45SPeng Fan 	u32 fifo;
32*7edf5c45SPeng Fan 	u32 water;
33*7edf5c45SPeng Fan };
34*7edf5c45SPeng Fan #endif
35*7edf5c45SPeng Fan 
36*7edf5c45SPeng Fan struct lpuart_fsl {
37*7edf5c45SPeng Fan 	u8 ubdh;
38*7edf5c45SPeng Fan 	u8 ubdl;
39*7edf5c45SPeng Fan 	u8 uc1;
40*7edf5c45SPeng Fan 	u8 uc2;
41*7edf5c45SPeng Fan 	u8 us1;
42*7edf5c45SPeng Fan 	u8 us2;
43*7edf5c45SPeng Fan 	u8 uc3;
44*7edf5c45SPeng Fan 	u8 ud;
45*7edf5c45SPeng Fan 	u8 uma1;
46*7edf5c45SPeng Fan 	u8 uma2;
47*7edf5c45SPeng Fan 	u8 uc4;
48*7edf5c45SPeng Fan 	u8 uc5;
49*7edf5c45SPeng Fan 	u8 ued;
50*7edf5c45SPeng Fan 	u8 umodem;
51*7edf5c45SPeng Fan 	u8 uir;
52*7edf5c45SPeng Fan 	u8 reserved;
53*7edf5c45SPeng Fan 	u8 upfifo;
54*7edf5c45SPeng Fan 	u8 ucfifo;
55*7edf5c45SPeng Fan 	u8 usfifo;
56*7edf5c45SPeng Fan 	u8 utwfifo;
57*7edf5c45SPeng Fan 	u8 utcfifo;
58*7edf5c45SPeng Fan 	u8 urwfifo;
59*7edf5c45SPeng Fan 	u8 urcfifo;
60*7edf5c45SPeng Fan 	u8 rsvd[28];
61*7edf5c45SPeng Fan };
62*7edf5c45SPeng Fan 
63*7edf5c45SPeng Fan /* Used on i.MX7ULP */
64*7edf5c45SPeng Fan #define LPUART_BAUD_BOTHEDGE_MASK	(0x20000)
65*7edf5c45SPeng Fan #define LPUART_BAUD_OSR_MASK		(0x1F000000)
66*7edf5c45SPeng Fan #define LPUART_BAUD_OSR_SHIFT		(24)
67*7edf5c45SPeng Fan #define LPUART_BAUD_OSR(x)		((((uint32_t)(x)) << 24) & 0x1F000000)
68*7edf5c45SPeng Fan #define LPUART_BAUD_SBR_MASK		(0x1FFF)
69*7edf5c45SPeng Fan #define LPUART_BAUD_SBR_SHIFT		(0U)
70*7edf5c45SPeng Fan #define LPUART_BAUD_SBR(x)		(((uint32_t)(x)) & 0x1FFF)
71*7edf5c45SPeng Fan #define LPUART_BAUD_M10_MASK		(0x20000000U)
72*7edf5c45SPeng Fan #define LPUART_BAUD_SBNS_MASK		(0x2000U)
73