mirror of
https://github.com/AsahiLinux/u-boot
synced 2024-12-23 11:33:32 +00:00
126f884903
Add i.MX8 compatible string and cpu type support to lpuart driver, to use little endian 32 bits configurations. Also, according to RM, the Receive FIFO Enable (RXFE) field in LPUART FIFO register is bit 3, so this definition should change to 0x08 (not 0x40) for i.MX8, otherwise the Receive FIFO is not disabled. Signed-off-by: Peng Fan <peng.fan@nxp.com> Reviewed-by: Anatolij Gustschin <agust@denx.de> Cc: Stefano Babic <sbabic@denx.de>
71 lines
1.1 KiB
C
71 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0+ */
|
|
/*
|
|
* Copyright 2016 Freescale Semiconductor, Inc.
|
|
*
|
|
*/
|
|
|
|
#if defined(CONFIG_ARCH_MX7ULP) || defined(CONFIG_ARCH_IMX8)
|
|
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)
|