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