xref: /openbmc/u-boot/include/fsl_lpuart.h (revision 2f07a9a6)
183d290c5STom Rini /* SPDX-License-Identifier: GPL-2.0+ */
27edf5c45SPeng Fan /*
37edf5c45SPeng Fan  * Copyright 2016 Freescale Semiconductor, Inc.
47edf5c45SPeng Fan  *
57edf5c45SPeng Fan  */
67edf5c45SPeng Fan 
7*126f8849SPeng Fan #if defined(CONFIG_ARCH_MX7ULP) || defined(CONFIG_ARCH_IMX8)
87edf5c45SPeng Fan struct lpuart_fsl_reg32 {
97edf5c45SPeng Fan 	u32 verid;
107edf5c45SPeng Fan 	u32 param;
117edf5c45SPeng Fan 	u32 global;
127edf5c45SPeng Fan 	u32 pincfg;
137edf5c45SPeng Fan 	u32 baud;
147edf5c45SPeng Fan 	u32 stat;
157edf5c45SPeng Fan 	u32 ctrl;
167edf5c45SPeng Fan 	u32 data;
177edf5c45SPeng Fan 	u32 match;
187edf5c45SPeng Fan 	u32 modir;
197edf5c45SPeng Fan 	u32 fifo;
207edf5c45SPeng Fan 	u32 water;
217edf5c45SPeng Fan };
227edf5c45SPeng Fan #else
237edf5c45SPeng Fan struct lpuart_fsl_reg32 {
247edf5c45SPeng Fan 	u32 baud;
257edf5c45SPeng Fan 	u32 stat;
267edf5c45SPeng Fan 	u32 ctrl;
277edf5c45SPeng Fan 	u32 data;
287edf5c45SPeng Fan 	u32 match;
297edf5c45SPeng Fan 	u32 modir;
307edf5c45SPeng Fan 	u32 fifo;
317edf5c45SPeng Fan 	u32 water;
327edf5c45SPeng Fan };
337edf5c45SPeng Fan #endif
347edf5c45SPeng Fan 
357edf5c45SPeng Fan struct lpuart_fsl {
367edf5c45SPeng Fan 	u8 ubdh;
377edf5c45SPeng Fan 	u8 ubdl;
387edf5c45SPeng Fan 	u8 uc1;
397edf5c45SPeng Fan 	u8 uc2;
407edf5c45SPeng Fan 	u8 us1;
417edf5c45SPeng Fan 	u8 us2;
427edf5c45SPeng Fan 	u8 uc3;
437edf5c45SPeng Fan 	u8 ud;
447edf5c45SPeng Fan 	u8 uma1;
457edf5c45SPeng Fan 	u8 uma2;
467edf5c45SPeng Fan 	u8 uc4;
477edf5c45SPeng Fan 	u8 uc5;
487edf5c45SPeng Fan 	u8 ued;
497edf5c45SPeng Fan 	u8 umodem;
507edf5c45SPeng Fan 	u8 uir;
517edf5c45SPeng Fan 	u8 reserved;
527edf5c45SPeng Fan 	u8 upfifo;
537edf5c45SPeng Fan 	u8 ucfifo;
547edf5c45SPeng Fan 	u8 usfifo;
557edf5c45SPeng Fan 	u8 utwfifo;
567edf5c45SPeng Fan 	u8 utcfifo;
577edf5c45SPeng Fan 	u8 urwfifo;
587edf5c45SPeng Fan 	u8 urcfifo;
597edf5c45SPeng Fan 	u8 rsvd[28];
607edf5c45SPeng Fan };
617edf5c45SPeng Fan 
627edf5c45SPeng Fan /* Used on i.MX7ULP */
637edf5c45SPeng Fan #define LPUART_BAUD_BOTHEDGE_MASK	(0x20000)
647edf5c45SPeng Fan #define LPUART_BAUD_OSR_MASK		(0x1F000000)
657edf5c45SPeng Fan #define LPUART_BAUD_OSR_SHIFT		(24)
667edf5c45SPeng Fan #define LPUART_BAUD_OSR(x)		((((uint32_t)(x)) << 24) & 0x1F000000)
677edf5c45SPeng Fan #define LPUART_BAUD_SBR_MASK		(0x1FFF)
687edf5c45SPeng Fan #define LPUART_BAUD_SBR_SHIFT		(0U)
697edf5c45SPeng Fan #define LPUART_BAUD_SBR(x)		(((uint32_t)(x)) & 0x1FFF)
707edf5c45SPeng Fan #define LPUART_BAUD_M10_MASK		(0x20000000U)
717edf5c45SPeng Fan #define LPUART_BAUD_SBNS_MASK		(0x2000U)
72