/* SPDX-License-Identifier: GPL-2.0+ */ /* * Copyright 2016 Freescale Semiconductor, Inc. * */ #if defined(CONFIG_ARCH_MX7ULP) || defined(CONFIG_ARCH_IMX8) || \ defined(CONFIG_ARCH_IMXRT) struct lpuart_fsl_reg32 { u32 verid; u32 param; u32 global; u32 pincfg; u32 baud; u32 stat; u32 ctrl; u32 data; u32 match; u32 modir; u32 fifo; u32 water; }; #else struct lpuart_fsl_reg32 { u32 baud; u32 stat; u32 ctrl; u32 data; u32 match; u32 modir; u32 fifo; u32 water; }; #endif struct lpuart_fsl { u8 ubdh; u8 ubdl; u8 uc1; u8 uc2; u8 us1; u8 us2; u8 uc3; u8 ud; u8 uma1; u8 uma2; u8 uc4; u8 uc5; u8 ued; u8 umodem; u8 uir; u8 reserved; u8 upfifo; u8 ucfifo; u8 usfifo; u8 utwfifo; u8 utcfifo; u8 urwfifo; u8 urcfifo; u8 rsvd[28]; }; /* Used on i.MX7ULP */ #define LPUART_BAUD_BOTHEDGE_MASK (0x20000) #define LPUART_BAUD_OSR_MASK (0x1F000000) #define LPUART_BAUD_OSR_SHIFT (24) #define LPUART_BAUD_OSR(x) ((((uint32_t)(x)) << 24) & 0x1F000000) #define LPUART_BAUD_SBR_MASK (0x1FFF) #define LPUART_BAUD_SBR_SHIFT (0U) #define LPUART_BAUD_SBR(x) (((uint32_t)(x)) & 0x1FFF) #define LPUART_BAUD_M10_MASK (0x20000000U) #define LPUART_BAUD_SBNS_MASK (0x2000U)