52 #ifndef ti_dl_dl_uart__include 53 #define ti_dl_dl_uart__include 55 #if defined(ti_dl_dl_uart_main__include) || \ 56 defined(ti_dl_dl_uart_extend__include) || defined(DOXYGEN__INCLUDE) 61 #include <ti/devices/msp/msp.h> 64 #if defined(__MSPM0_HAS_UART_MAIN__) || defined(__MSPM0_HAS_UART_EXTD__) 78 #define DL_UART_INTERRUPT_DMA_DONE_TX (UART_CPU_INT_IMASK_DMA_DONE_TX_SET) 83 #define DL_UART_INTERRUPT_DMA_DONE_RX (UART_CPU_INT_IMASK_DMA_DONE_RX_SET) 88 #define DL_UART_INTERRUPT_CTS_DONE (UART_CPU_INT_IMASK_CTS_SET) 93 #define DL_UART_INTERRUPT_ADDRESS_MATCH (UART_CPU_INT_IMASK_ADDR_MATCH_SET) 98 #define DL_UART_INTERRUPT_LINC0_MATCH (UART_CPU_INT_IMASK_LINC0_SET) 103 #define DL_UART_INTERRUPT_EOT_DONE (UART_CPU_INT_IMASK_EOT_SET) 108 #define DL_UART_INTERRUPT_TX (UART_CPU_INT_IMASK_TXINT_SET) 113 #define DL_UART_INTERRUPT_RX (UART_CPU_INT_IMASK_RXINT_SET) 118 #define DL_UART_INTERRUPT_LIN_COUNTER_OVERFLOW \ 119 (UART_CPU_INT_IMASK_LINOVF_SET) 124 #define DL_UART_INTERRUPT_LIN_RISING_EDGE \ 125 (UART_CPU_INT_IMASK_LINC1_SET) 130 #define DL_UART_INTERRUPT_LIN_FALLING_EDGE \ 131 (UART_CPU_INT_IMASK_LINC0_SET) 136 #define DL_UART_INTERRUPT_RXD_POS_EDGE (UART_CPU_INT_IMASK_RXPE_SET) 141 #define DL_UART_INTERRUPT_RXD_NEG_EDGE (UART_CPU_INT_IMASK_RXNE_SET) 146 #define DL_UART_INTERRUPT_OVERRUN_ERROR (UART_CPU_INT_IMASK_OVRERR_SET) 151 #define DL_UART_INTERRUPT_BREAK_ERROR (UART_CPU_INT_IMASK_BRKERR_SET) 156 #define DL_UART_INTERRUPT_PARITY_ERROR (UART_CPU_INT_IMASK_PARERR_SET) 161 #define DL_UART_INTERRUPT_FRAMING_ERROR (UART_CPU_INT_IMASK_FRMERR_SET) 166 #define DL_UART_INTERRUPT_RX_TIMEOUT_ERROR (UART_CPU_INT_IMASK_RTOUT_SET) 172 #define DL_UART_INTERRUPT_NOISE_ERROR (UART_CPU_INT_IMASK_NERR_SET) 243 #define DL_UART_DMA_INTERRUPT_RX (UART_DMA_TRIG_RX_IMASK_RXINT_SET) 248 #define DL_UART_DMA_DONE_INTERRUPT_RX (UART_CPU_INT_IMASK_DMA_DONE_RX_SET) 253 #define DL_UART_DMA_INTERRUPT_RX_TIMEOUT (UART_DMA_TRIG_RX_IMASK_RTOUT_SET) 260 #define DL_UART_DMA_INTERRUPT_TX (UART_DMA_TRIG_TX_IMASK_TXINT_SET) 265 #define DL_UART_DMA_DONE_INTERRUPT_TX (UART_CPU_INT_IMASK_DMA_DONE_TX_SET) 273 #define DL_UART_ERROR_OVERRUN (UART_RXDATA_OVRERR_SET) 278 #define DL_UART_ERROR_BREAK (UART_RXDATA_BRKERR_SET) 283 #define DL_UART_ERROR_PARITY (UART_RXDATA_PARERR_SET) 288 #define DL_UART_ERROR_FRAMING (UART_RXDATA_FRMERR_SET) 468 #define DL_UART_PULSE_WIDTH_3_16_BIT_PERIOD ((uint32_t) 0x00000000U) 548 #ifdef __MSPM0_HAS_UART_MAIN__ 610 #ifdef __MSPM0_HAS_UART_EXTD__ 713 uart->GPRCM.PWREN = (UART_PWREN_KEY_UNLOCK_W | UART_PWREN_ENABLE_ENABLE);
729 uart->GPRCM.PWREN = (UART_PWREN_KEY_UNLOCK_W | UART_PWREN_ENABLE_DISABLE);
750 return ((uart->GPRCM.PWREN & UART_PWREN_ENABLE_MASK) ==
751 UART_PWREN_ENABLE_ENABLE);
762 (UART_RSTCTL_KEY_UNLOCK_W | UART_RSTCTL_RESETSTKYCLR_CLR |
763 UART_RSTCTL_RESETASSERT_ASSERT);
777 return ((uart->GPRCM.STAT & UART_GPRCM_STAT_RESETSTKY_MASK) ==
778 UART_GPRCM_STAT_RESETSTKY_RESET);
788 uart->CTL0 |= UART_CTL0_ENABLE_ENABLE;
804 return ((uart->CTL0 & UART_CTL0_ENABLE_MASK) == UART_CTL0_ENABLE_ENABLE);
814 uart->CTL0 &= ~(UART_CTL0_ENABLE_MASK);
861 UART_Regs *uart, uint32_t clockFreq, uint32_t baudRate);
876 UART_Regs *uart, DL_UART_OVERSAMPLING_RATE rate)
892 const UART_Regs *uart)
894 uint32_t rate = uart->CTL0 & UART_CTL0_HSE_MASK;
896 return (DL_UART_OVERSAMPLING_RATE)(rate);
914 uart->CTL0 |= UART_CTL0_LBE_ENABLE;
929 return ((uart->CTL0 & UART_CTL0_LBE_MASK) == UART_CTL0_LBE_ENABLE);
947 uart->CTL0 &= ~(UART_CTL0_LBE_MASK);
970 UART_CTL0_TXE_MASK | UART_CTL0_RXE_MASK);
985 uart->CTL0 & (UART_CTL0_TXE_MASK | UART_CTL0_RXE_MASK);
1017 uart->CTL0 |= UART_CTL0_MAJVOTE_ENABLE;
1032 return ((uart->CTL0 & UART_CTL0_MAJVOTE_MASK) == UART_CTL0_MAJVOTE_ENABLE);
1049 uart->CTL0 &= ~(UART_CTL0_MAJVOTE_MASK);
1068 uart->CTL0 |= UART_CTL0_MSBFIRST_ENABLE;
1084 (uart->CTL0 & UART_CTL0_MSBFIRST_MASK) == UART_CTL0_MSBFIRST_ENABLE);
1103 uart->CTL0 &= ~(UART_CTL0_MSBFIRST_MASK);
1124 uart->CTL0 |= UART_CTL0_TXD_OUT_EN_ENABLE;
1138 const UART_Regs *uart)
1140 return ((uart->CTL0 & UART_CTL0_TXD_OUT_EN_MASK) ==
1141 UART_CTL0_TXD_OUT_EN_ENABLE);
1158 uart->CTL0 &= ~(UART_CTL0_TXD_OUT_EN_MASK);
1183 UART_Regs *uart, DL_UART_TXD_OUT txdOutVal)
1186 UART_CTL0_TXD_OUT_EN_ENABLE | (uint32_t) txdOutVal,
1187 UART_CTL0_TXD_OUT_EN_MASK | UART_CTL0_TXD_OUT_MASK);
1200 const UART_Regs *uart)
1202 uint32_t txdOutVal = uart->CTL0 & UART_CTL0_TXD_OUT_MASK;
1204 return (DL_UART_TXD_OUT)(txdOutVal);
1214 uart->CTL0 |= UART_CTL0_MENC_ENABLE;
1224 uart->CTL0 &= ~(UART_CTL0_MENC_MASK);
1239 return ((uart->CTL0 & UART_CTL0_MENC_MASK) == UART_CTL0_MENC_ENABLE);
1255 UART_Regs *uart, DL_UART_MODE mode)
1270 const UART_Regs *uart)
1272 uint32_t mode = uart->CTL0 & UART_CTL0_MODE_MASK;
1274 return (DL_UART_MODE)(mode);
1293 UART_CTL0_RTSEN_MASK | UART_CTL0_CTSEN_MASK);
1307 const UART_Regs *uart)
1310 uart->CTL0 & (UART_CTL0_RTSEN_MASK | UART_CTL0_CTSEN_MASK);
1362 uint32_t val = uart->CTL0 & UART_CTL0_RTS_MASK;
1364 return (DL_UART_RTS)(val);
1383 uart->CTL0 |= UART_CTL0_FEN_ENABLE;
1401 uart->CTL0 &= ~(UART_CTL0_FEN_MASK);
1416 return ((uart->CTL0 & UART_CTL0_FEN_MASK) == UART_CTL0_FEN_ENABLE);
1430 uart->LCRH |= UART_LCRH_BRK_ENABLE;
1443 uart->LCRH &= ~(UART_LCRH_BRK_MASK);
1458 return ((uart->LCRH & UART_LCRH_BRK_MASK) == UART_LCRH_BRK_ENABLE);
1473 return ((uart->LCRH & UART_LCRH_PEN_MASK) == UART_LCRH_PEN_ENABLE);
1491 UART_Regs *uart, DL_UART_PARITY parity)
1494 (UART_LCRH_PEN_MASK | UART_LCRH_EPS_MASK | UART_LCRH_SPS_MASK));
1509 uint32_t parity = uart->LCRH & (UART_LCRH_PEN_MASK | UART_LCRH_EPS_MASK |
1510 UART_LCRH_SPS_MASK);
1512 return (DL_UART_PARITY)(parity);
1526 UART_Regs *uart, DL_UART_STOP_BITS numStopBits)
1529 &uart->LCRH, (uint32_t) numStopBits, UART_LCRH_STP2_MASK);
1543 uint32_t numStopBits = uart->LCRH & UART_LCRH_STP2_MASK;
1545 return (DL_UART_STOP_BITS)(numStopBits);
1556 UART_Regs *uart, DL_UART_WORD_LENGTH wordLength)
1559 &uart->LCRH, (uint32_t) wordLength, UART_LCRH_WLEN_MASK);
1572 const UART_Regs *uart)
1574 uint32_t wordLength = uart->LCRH & UART_LCRH_WLEN_MASK;
1576 return (DL_UART_WORD_LENGTH)(wordLength);
1589 uart->LCRH |= UART_LCRH_SENDIDLE_ENABLE;
1599 uart->LCRH &= ~(UART_LCRH_SENDIDLE_MASK);
1615 (uart->LCRH & UART_LCRH_SENDIDLE_MASK) == UART_LCRH_SENDIDLE_ENABLE);
1629 UART_Regs *uart, uint32_t val)
1632 UART_LCRH_EXTDIR_SETUP_MASK);
1647 return ((uart->LCRH &
1648 UART_LCRH_EXTDIR_SETUP_MASK) >> UART_LCRH_EXTDIR_SETUP_OFS);
1665 UART_Regs *uart, uint32_t val)
1668 UART_LCRH_EXTDIR_HOLD_MASK);
1684 uart->LCRH & UART_LCRH_EXTDIR_HOLD_MASK) >> UART_LCRH_EXTDIR_HOLD_OFS);
1708 return ((uart->STAT & UART_STAT_BUSY_MASK) == UART_STAT_BUSY_SET);
1728 return ((uart->STAT & UART_STAT_RXFE_MASK) == UART_STAT_RXFE_SET);
1749 return ((uart->STAT & UART_STAT_RXFF_MASK) == UART_STAT_RXFF_SET);
1769 return ((uart->STAT & UART_STAT_TXFE_MASK) == UART_STAT_TXFE_SET);
1790 return ((uart->STAT & UART_STAT_TXFF_MASK) == UART_STAT_TXFF_SET);
1807 return ((uart->STAT & UART_STAT_CTS_MASK) == UART_STAT_CTS_SET);
1828 return ((uart->STAT & UART_STAT_IDLE_MASK) == UART_STAT_IDLE_SET);
1848 UART_Regs *uart, DL_UART_TX_FIFO_LEVEL threshold)
1851 &uart->IFLS, (uint32_t) threshold, UART_IFLS_TXIFLSEL_MASK);
1864 const UART_Regs *uart)
1866 uint32_t threshold = uart->IFLS & UART_IFLS_TXIFLSEL_MASK;
1868 return (DL_UART_TX_FIFO_LEVEL)(threshold);
1884 UART_Regs *uart, DL_UART_RX_FIFO_LEVEL threshold)
1887 &uart->IFLS, (uint32_t) threshold, UART_IFLS_RXIFLSEL_MASK);
1900 const UART_Regs *uart)
1902 uint32_t threshold = uart->IFLS & UART_IFLS_RXIFLSEL_MASK;
1904 return (DL_UART_RX_FIFO_LEVEL)(threshold);
1919 UART_Regs *uart, uint32_t timeout)
1922 &uart->IFLS, timeout << UART_IFLS_RXTOSEL_OFS, UART_IFLS_RXTOSEL_MASK);
1937 return ((uart->IFLS & UART_IFLS_RXTOSEL_MASK) >> UART_IFLS_RXTOSEL_OFS);
1950 const UART_Regs *uart)
1952 return (uart->IBRD & UART_IBRD_DIVINT_MASK);
1965 const UART_Regs *uart)
1967 return (uart->FBRD & UART_FBRD_DIVFRAC_MASK);
1984 UART_Regs *uart, uint32_t integerDivisor, uint32_t fractionalDivisor)
1988 &uart->FBRD, fractionalDivisor, UART_FBRD_DIVFRAC_MASK);
1994 &uart->LCRH, (uart->LCRH & UART_LCRH_BRK_MASK), UART_LCRH_BRK_MASK);
2017 uint32_t integerDivisor, uint32_t fractionalDivisor,
2018 DL_UART_CLOCK_DIVIDE2_RATIO clkDivisor2)
2021 (integerDivisor / ((uint32_t) clkDivisor2 + 1)),
2022 UART_IBRD_DIVINT_MASK);
2024 &uart->FBRD, fractionalDivisor, UART_FBRD_DIVFRAC_MASK);
2030 &uart->LCRH, (uart->LCRH & UART_LCRH_BRK_MASK), UART_LCRH_BRK_MASK);
2047 UART_Regs *uart, uint32_t pulseWidth)
2067 return (uart->GFCTL & UART_GFCTL_DGFSEL_MASK);
2090 uart->TXDATA = data;
2113 return ((uint8_t)(uart->RXDATA & UART_RXDATA_DATA_MASK));
2131 const UART_Regs *uart, uint32_t errorMask)
2133 return (uart->RXDATA & errorMask);
2146 UART_Regs *uart, uint16_t value)
2166 return ((uint16_t)(uart->LINCNT & UART_LINCNT_VALUE_MASK));
2178 uart->LINCTL |= UART_LINCTL_CTRENA_ENABLE;
2194 (uart->LINCTL & UART_LINCTL_CTRENA_MASK) == UART_LINCTL_CTRENA_ENABLE);
2206 uart->LINCTL &= ~(UART_LINCTL_CTRENA_MASK);
2224 uart->LINCTL |= UART_LINCTL_ZERONE_ENABLE;
2238 const UART_Regs *uart)
2241 (uart->LINCTL & UART_LINCTL_ZERONE_MASK) == UART_LINCTL_ZERONE_ENABLE);
2252 uart->LINCTL &= ~(UART_LINCTL_ZERONE_MASK);
2267 uart->LINCTL |= UART_LINCTL_CNTRXLOW_ENABLE;
2282 return ((uart->LINCTL & UART_LINCTL_CNTRXLOW_MASK) ==
2283 UART_LINCTL_CNTRXLOW_ENABLE);
2295 uart->LINCTL &= ~(UART_LINCTL_CNTRXLOW_MASK);
2313 UART_LINCTL_LINC0CAP_ENABLE | UART_LINCTL_LINC0_MATCH_DISABLE,
2314 UART_LINCTL_LINC0CAP_MASK | UART_LINCTL_LINC0_MATCH_MASK);
2328 const UART_Regs *uart)
2330 return ((uart->LINCTL & UART_LINCTL_LINC0CAP_MASK) ==
2331 UART_LINCTL_LINC0CAP_ENABLE);
2341 uart->LINCTL &= ~(UART_LINCTL_LINC0CAP_MASK);
2355 uart->LINCTL |= UART_LINCTL_LINC1CAP_ENABLE;
2369 const UART_Regs *uart)
2371 return ((uart->LINCTL & UART_LINCTL_LINC1CAP_MASK) ==
2372 UART_LINCTL_LINC1CAP_ENABLE);
2382 uart->LINCTL &= ~(UART_LINCTL_LINC1CAP_MASK);
2396 UART_LINCTL_LINC0_MATCH_ENABLE | UART_LINCTL_LINC0CAP_DISABLE,
2397 UART_LINCTL_LINC0CAP_MASK | UART_LINCTL_LINC0_MATCH_MASK);
2412 UART_LINCTL_LINC0CAP_ENABLE | UART_LINCTL_LINC1CAP_ENABLE |
2413 UART_LINCTL_ZERONE_ENABLE | UART_LINCTL_CTRENA_ENABLE,
2414 UART_LINCTL_LINC0CAP_MASK | UART_LINCTL_LINC1CAP_MASK |
2415 UART_LINCTL_ZERONE_MASK | UART_LINCTL_CTRENA_MASK);
2429 UART_LINCTL_CNTRXLOW_ENABLE | UART_LINCTL_ZERONE_ENABLE |
2430 UART_LINCTL_CTRENA_ENABLE,
2431 UART_LINCTL_CNTRXLOW_MASK | UART_LINCTL_ZERONE_MASK |
2432 UART_LINCTL_CTRENA_MASK);
2446 const UART_Regs *uart)
2448 return ((uart->LINCTL & UART_LINCTL_LINC0_MATCH_MASK) ==
2449 UART_LINCTL_LINC0_MATCH_ENABLE);
2459 uart->LINCTL &= ~(UART_LINCTL_LINC0_MATCH_MASK);
2475 UART_Regs *uart, uint16_t value)
2500 const UART_Regs *uart)
2502 return ((uint16_t)(uart->LINC0 & UART_LINC0_DATA_MASK));
2520 const UART_Regs *uart)
2522 return ((uint16_t)(uart->LINC1 & UART_LINC1_DATA_MASK));
2532 uart->IRCTL |= UART_IRCTL_IREN_ENABLE;
2547 return ((uart->IRCTL & UART_IRCTL_IREN_MASK) == UART_IRCTL_IREN_ENABLE);
2557 uart->IRCTL &= ~(UART_IRCTL_IREN_MASK);
2568 UART_Regs *uart, DL_UART_IRDA_CLOCK uartClock)
2571 &uart->IRCTL, (uint32_t) uartClock, UART_IRCTL_IRTXCLK_MASK);
2585 const UART_Regs *uart)
2587 uint32_t uartClock = uart->IRCTL & UART_IRCTL_IRTXCLK_MASK;
2589 return (DL_UART_IRDA_CLOCK)(uartClock);
2606 uint32_t pulseLength, DL_UART_IRDA_CLOCK irdaClk);
2626 UART_Regs *uart, uint32_t pulseLength, DL_UART_IRDA_CLOCK irdaClk);
2639 return (uart->IRCTL & UART_IRCTL_IRTXPL_MASK);
2650 UART_Regs *uart, DL_UART_IRDA_POLARITY polarity)
2653 &uart->IRCTL, (uint32_t) polarity, UART_IRCTL_IRRXPL_MASK);
2666 const UART_Regs *uart)
2668 uint32_t polarity = uart->IRCTL & UART_IRCTL_IRRXPL_MASK;
2670 return (DL_UART_IRDA_POLARITY)(polarity);
2690 UART_Regs *uart, uint32_t addressMask)
2717 return (uart->AMASK & UART_AMASK_VALUE_MASK);
2757 return (uart->ADDR & UART_ADDR_VALUE_MASK);
2769 UART_Regs *uart, uint32_t interruptMask)
2771 uart->CPU_INT.IMASK |= interruptMask;
2783 UART_Regs *uart, uint32_t interruptMask)
2785 uart->CPU_INT.IMASK &= ~(interruptMask);
2801 const UART_Regs *uart, uint32_t interruptMask)
2803 return (uart->CPU_INT.IMASK & interruptMask);
2824 const UART_Regs *uart, uint32_t interruptMask)
2826 return (uart->CPU_INT.MIS & interruptMask);
2845 const UART_Regs *uart, uint32_t interruptMask)
2847 return (uart->CPU_INT.RIS & interruptMask);
2865 return (DL_UART_IIDX)(uart->CPU_INT.IIDX);
2877 UART_Regs *uart, uint32_t interruptMask)
2879 uart->CPU_INT.ICLR = interruptMask;
2915 uart->GFCTL |= UART_GFCTL_AGFEN_ENABLE;
2925 uart->GFCTL &= ~(UART_GFCTL_AGFEN_MASK);
2938 return ((uart->GFCTL & UART_GFCTL_AGFEN_MASK) == UART_GFCTL_AGFEN_ENABLE);
2951 uart->GFCTL |= UART_GFCTL_CHAIN_ENABLED;
2964 uart->GFCTL &= ~(UART_GFCTL_CHAIN_MASK);
2976 const UART_Regs *uart)
2978 return ((uart->GFCTL & UART_GFCTL_CHAIN_MASK) == UART_GFCTL_CHAIN_ENABLED);
2994 UART_Regs *uart, DL_UART_PULSE_WIDTH pulseWidth)
2997 &uart->GFCTL, (uint32_t) pulseWidth, UART_GFCTL_AGFSEL_MASK);
3016 const UART_Regs *uart)
3018 uint32_t pulseWidth = uart->GFCTL & UART_GFCTL_AGFSEL_MASK;
3020 return (DL_UART_PULSE_WIDTH)(pulseWidth);
3122 const UART_Regs *uart, uint8_t *buffer, uint32_t maxCount);
3137 UART_Regs *uart,
const uint8_t *buffer, uint32_t count);
3155 UART_Regs *uart, uint32_t interrupt)
3157 uart->DMA_TRIG_RX.IMASK = interrupt;
3175 uart->DMA_TRIG_TX.IMASK = UART_DMA_TRIG_TX_IMASK_TXINT_SET;
3192 UART_Regs *uart, uint32_t interrupt)
3194 uart->DMA_TRIG_RX.IMASK &= ~(interrupt);
3212 uart->DMA_TRIG_TX.IMASK = UART_DMA_TRIG_TX_IMASK_TXINT_CLR;
3231 const UART_Regs *uart, uint32_t interruptMask)
3233 return (uart->DMA_TRIG_RX.IMASK & interruptMask);
3250 const UART_Regs *uart)
3252 return (uart->DMA_TRIG_TX.IMASK & UART_DMA_TRIG_TX_IMASK_TXINT_MASK);
3275 const UART_Regs *uart, uint32_t interruptMask)
3277 return (uart->DMA_TRIG_RX.MIS & interruptMask);
3298 const UART_Regs *uart)
3300 return (uart->DMA_TRIG_TX.MIS & UART_DMA_TRIG_TX_MIS_TXINT_MASK);
3321 const UART_Regs *uart, uint32_t interruptMask)
3323 return (uart->DMA_TRIG_RX.RIS & interruptMask);
3342 const UART_Regs *uart)
3344 return (uart->DMA_TRIG_TX.RIS & UART_DMA_TRIG_TX_RIS_TXINT_MASK);
3364 const UART_Regs *uart)
3366 return (DL_UART_DMA_IIDX_RX)(uart->DMA_TRIG_RX.IIDX);
3386 const UART_Regs *uart)
3388 return (DL_UART_DMA_IIDX_TX)(uart->DMA_TRIG_TX.IIDX);
3403 UART_Regs *uart, uint32_t interruptMask)
3405 uart->DMA_TRIG_RX.ICLR = interruptMask;
3420 uart->DMA_TRIG_TX.ICLR = UART_DMA_TRIG_TX_ICLR_TXINT_CLR;
3433 UART_Regs *uart, DL_UART_CLOCK_DIVIDE2_RATIO ratio)
3435 uart->CLKDIV2 = (uint32_t) ratio;
3452 const UART_Regs *uart)
3454 uint32_t ratio = uart->CLKDIV2;
3455 return (DL_UART_CLOCK_DIVIDE2_RATIO) ratio;
3457 #ifdef __MSPM0_HAS_UART_MAIN__ 3499 #ifdef __MSPM0_HAS_UART_EXTD__ 3551 "TI highly recommends accessing uart with dl_uart_main, dl_uart_extend.h only." Definition: dl_uart.h:462
DL_UART_CLOCK clockSel
Definition: dl_uart.h:541
__STATIC_INLINE void DL_UART_disable(UART_Regs *uart)
Disable the UART peripheral.
Definition: dl_uart.h:812
__STATIC_INLINE bool DL_UART_isLoopbackModeEnabled(const UART_Regs *uart)
Check if loopback mode is enabled.
Definition: dl_uart.h:927
bool DL_UART_Extend_restoreConfiguration(UART_Regs *uart, DL_UART_Extend_backupConfig *ptr)
Restore UART Extend configuration after leaving a power loss state.
__STATIC_INLINE void DL_Common_updateReg(volatile uint32_t *reg, uint32_t val, uint32_t mask)
Writes value to specified register - retaining bits unaffected by mask.
Definition: dl_common.h:63
__STATIC_INLINE uint32_t DL_UART_getDigitalPulseWidth(const UART_Regs *uart)
Get the pulse width select for the digital glitch suppresion.
Definition: dl_uart.h:2065
__STATIC_INLINE void DL_UART_enableMSBFirst(UART_Regs *uart)
Enable most significant bit (MSB) first.
Definition: dl_uart.h:1066
Definition: dl_uart.h:194
bool backupRdy
Definition: dl_uart.h:683
__STATIC_INLINE DL_UART_IIDX DL_UART_getPendingInterrupt(const UART_Regs *uart)
Get highest priority pending UART interrupt.
Definition: dl_uart.h:2863
Definition: dl_uart.h:427
Definition: dl_uart.h:204
Definition: dl_uart.h:192
Definition: dl_uart.h:371
__STATIC_INLINE void DL_UART_enablePower(UART_Regs *uart)
Enables the Peripheral Write Enable (PWREN) register for the UART.
Definition: dl_uart.h:711
__STATIC_INLINE DL_UART_DIRECTION DL_UART_getDirection(const UART_Regs *uart)
Get the direction of the UART communication.
Definition: dl_uart.h:982
uint32_t clockSel
Definition: dl_uart.h:626
__STATIC_INLINE uint32_t DL_UART_getEnabledInterrupts(const UART_Regs *uart, uint32_t interruptMask)
Check which UART interrupts are enabled.
Definition: dl_uart.h:2800
__STATIC_INLINE void DL_UART_setAnalogPulseWidth(UART_Regs *uart, DL_UART_PULSE_WIDTH pulseWidth)
Set the pulse width select for the analog glitch suppresion.
Definition: dl_uart.h:2993
Definition: dl_uart.h:186
__STATIC_INLINE void DL_UART_disableDMATransmitEvent(UART_Regs *uart)
Disables UART interrupt from triggering the DMA transmit event.
Definition: dl_uart.h:3210
__STATIC_INLINE uint32_t DL_UART_getEnabledInterruptStatus(const UART_Regs *uart, uint32_t interruptMask)
Check interrupt flag of enabled UART interrupts.
Definition: dl_uart.h:2823
__STATIC_INLINE bool DL_UART_isAnalogGlitchFilterEnabled(const UART_Regs *uart)
Returns if analog glitch filter is enabled.
Definition: dl_uart.h:2936
__STATIC_INLINE void DL_UART_disableSendIdlePattern(UART_Regs *uart)
Disable send idle pattern.
Definition: dl_uart.h:1597
__STATIC_INLINE void DL_UART_enableAnalogGlitchFilter(UART_Regs *uart)
Enable the analog glitch filter on the RX input.
Definition: dl_uart.h:2913
__STATIC_INLINE void DL_UART_disableLINCountWhileLow(UART_Regs *uart)
Disable LIN counter increments while RXD signal is low.
Definition: dl_uart.h:2293
__STATIC_INLINE bool DL_UART_isReset(const UART_Regs *uart)
Returns if uart peripheral was reset.
Definition: dl_uart.h:775
Definition: dl_uart.h:487
Definition: dl_uart.h:206
__STATIC_INLINE void DL_UART_disableLINRisingEdgeCapture(UART_Regs *uart)
Disable capture of LIN counter on a rising edge.
Definition: dl_uart.h:2380
DL_UART_IIDX
Definition: dl_uart.h:178
__STATIC_INLINE void DL_UART_enableLINCountWhileLow(UART_Regs *uart)
Enable LIN counter incrementing while RXD signal is low.
Definition: dl_uart.h:2265
DL_UART_FLOW_CONTROL flowControl
Definition: dl_uart.h:523
__STATIC_INLINE void DL_UART_enableIrDAMode(UART_Regs *uart)
Enable the IrDA encoder/decoder.
Definition: dl_uart.h:2530
Definition: dl_uart.h:337
Definition: dl_uart.h:452
Definition: dl_uart.h:481
__STATIC_INLINE void DL_UART_setOversampling(UART_Regs *uart, DL_UART_OVERSAMPLING_RATE rate)
Set the oversampling rate.
Definition: dl_uart.h:875
uint32_t ibrd
Definition: dl_uart.h:575
Definition: dl_uart.h:367
__STATIC_INLINE bool DL_UART_isRXFIFOEmpty(const UART_Regs *uart)
Checks if the RX FIFO is empty.
Definition: dl_uart.h:1726
Definition: dl_uart.h:313
__STATIC_INLINE DL_UART_STOP_BITS DL_UART_getStopBits(const UART_Regs *uart)
Get the number of stop bits.
Definition: dl_uart.h:1541
__STATIC_INLINE uint32_t DL_UART_getRawInterruptStatus(const UART_Regs *uart, uint32_t interruptMask)
Check interrupt flag of any UART interrupt.
Definition: dl_uart.h:2844
__STATIC_INLINE DL_UART_TX_FIFO_LEVEL DL_UART_getTXFIFOThreshold(const UART_Regs *uart)
Get the TX FIFO interrupt threshold level.
Definition: dl_uart.h:1863
Definition: dl_uart.h:377
Definition: dl_uart.h:188
__STATIC_INLINE void DL_UART_disableAnalogGlitchFilter(UART_Regs *uart)
Disable the analog glitch filter on the RX input.
Definition: dl_uart.h:2923
__STATIC_INLINE void DL_UART_setExternalDriverHold(UART_Regs *uart, uint32_t val)
Set external driver setup hold.
Definition: dl_uart.h:1664
__STATIC_INLINE DL_UART_MODE DL_UART_getCommunicationMode(const UART_Regs *uart)
Get the communication mode/protocol being used.
Definition: dl_uart.h:1269
__STATIC_INLINE DL_UART_PULSE_WIDTH DL_UART_getAnalogPulseWidth(const UART_Regs *uart)
Get the pulse width select for the glitch suppresion.
Definition: dl_uart.h:3015
__STATIC_INLINE bool DL_UART_isFIFOsEnabled(const UART_Regs *uart)
Check if FIFOs are enabled.
Definition: dl_uart.h:1414
Definition: dl_uart.h:295
__STATIC_INLINE void DL_UART_enable(UART_Regs *uart)
Enable the UART peripheral.
Definition: dl_uart.h:786
Definition: dl_uart.h:325
Definition: dl_uart.h:196
uint32_t controlWord
Definition: dl_uart.h:623
DL_UART_FLOW_CONTROL
Definition: dl_uart.h:385
__STATIC_INLINE void DL_UART_setBaudRateDivisor(UART_Regs *uart, uint32_t integerDivisor, uint32_t fractionalDivisor)
Set the baud rate divisor.
Definition: dl_uart.h:1983
void DL_UART_configBaudRate(UART_Regs *uart, uint32_t clockFreq, uint32_t baudRate)
Configure the baud rate.
__STATIC_INLINE void DL_UART_disableLINCounterCompareMatch(UART_Regs *uart)
Disable LIN counter compare match mode.
Definition: dl_uart.h:2457
DL_UART_PARITY parity
Definition: dl_uart.h:526
Definition: dl_uart.h:507
uint32_t divideRatio
Definition: dl_uart.h:567
Definition: dl_uart.h:391
Definition: dl_uart.h:485
__STATIC_INLINE void DL_UART_clearDMATransmitEventStatus(UART_Regs *uart)
Clear pending UART interrupt for DMA transmit event.
Definition: dl_uart.h:3418
__STATIC_INLINE void DL_UART_enableDMAReceiveEvent(UART_Regs *uart, uint32_t interrupt)
Enable UART interrupt for triggering the DMA receive event.
Definition: dl_uart.h:3154
__STATIC_INLINE uint32_t DL_UART_getEnabledDMATransmitEvent(const UART_Regs *uart)
Check if UART interrupt for DMA transmit event is enabled.
Definition: dl_uart.h:3249
DL_UART_DMA_IIDX_RX
Definition: dl_uart.h:224
void DL_UART_transmitDataBlocking(UART_Regs *uart, uint8_t data)
Blocks to ensure transmit is ready before sending data.
Definition: dl_uart.h:341
__STATIC_INLINE bool DL_UART_isClearToSend(const UART_Regs *uart)
Checks if UART is clear to send.
Definition: dl_uart.h:1805
__STATIC_INLINE void DL_UART_setParityMode(UART_Regs *uart, DL_UART_PARITY parity)
Set the parity mode.
Definition: dl_uart.h:1490
uint32_t interruptFifoLevelSelectWord
Definition: dl_uart.h:572
Definition: dl_uart.h:460
Definition: dl_uart.h:495
__STATIC_INLINE void DL_UART_enableLINCounterCompareMatch(UART_Regs *uart)
Enable LIN counter compare match mode.
Definition: dl_uart.h:2393
__STATIC_INLINE uint16_t DL_UART_getLINRisingEdgeCaptureValue(const UART_Regs *uart)
Get the LINC1 counter value.
Definition: dl_uart.h:2519
uint32_t divideRatio
Definition: dl_uart.h:629
__STATIC_INLINE uint32_t DL_UART_getAddress(const UART_Regs *uart)
Get the address being used.
Definition: dl_uart.h:2755
Definition: dl_uart.h:473
Definition: dl_uart.h:339
DL_UART_WORD_LENGTH
Definition: dl_uart.h:335
__STATIC_INLINE void DL_UART_enableLoopbackMode(UART_Regs *uart)
Enable loopback mode.
Definition: dl_uart.h:912
__STATIC_INLINE void DL_UART_enableMajorityVoting(UART_Regs *uart)
Enable majority voting control.
Definition: dl_uart.h:1015
DL_UART_TX_FIFO_LEVEL
Definition: dl_uart.h:421
DL_UART_IRDA_CLOCK
Definition: dl_uart.h:450
Definition: dl_uart.h:401
__STATIC_INLINE void DL_UART_setRTSOutput(UART_Regs *uart, DL_UART_RTS val)
Set the request to send output signal.
Definition: dl_uart.h:1336
Definition: dl_uart.h:431
__STATIC_INLINE uint32_t DL_UART_getErrorStatus(const UART_Regs *uart, uint32_t errorMask)
Gets the status of the error flags of the received data.
Definition: dl_uart.h:2130
__STATIC_INLINE bool DL_UART_isGlitchFilterChainingEnabled(const UART_Regs *uart)
Returns if glitch filter chaining enabled.
Definition: dl_uart.h:2975
Definition: dl_uart.h:423
__STATIC_INLINE void DL_UART_enableDMATransmitEvent(UART_Regs *uart)
Enable UART interrupt for triggering the DMA transmit event.
Definition: dl_uart.h:3173
uint32_t glitchFilterControlWord
Definition: dl_uart.h:589
Definition: dl_uart.h:355
__STATIC_INLINE bool DL_UART_isLINSendBreakEnabled(const UART_Regs *uart)
Check if send break is enabled.
Definition: dl_uart.h:1456
__STATIC_INLINE bool DL_UART_isTXFIFOEmpty(const UART_Regs *uart)
Checks if the TX FIFO is empty.
Definition: dl_uart.h:1767
__STATIC_INLINE uint32_t DL_UART_getAddressMask(const UART_Regs *uart)
Get the address mask being used.
Definition: dl_uart.h:2715
__STATIC_INLINE void DL_UART_enableLINReceptionCountControl(UART_Regs *uart)
Setup LIN counter control for LIN reception.
Definition: dl_uart.h:2426
Definition: dl_uart.h:442
__STATIC_INLINE bool DL_UART_isLINCountWhileLowEnabled(const UART_Regs *uart)
Check if LIN counter increments while RXD signal is low is enabled.
Definition: dl_uart.h:2280
Definition: dl_uart.h:393
Definition: dl_uart.h:493
__STATIC_INLINE uint16_t DL_UART_getLINFallingEdgeCaptureValue(const UART_Regs *uart)
Get the LINC0 counter value.
Definition: dl_uart.h:2499
uint32_t ibrd
Definition: dl_uart.h:643
uint32_t DL_UART_drainRXFIFO(const UART_Regs *uart, uint8_t *buffer, uint32_t maxCount)
Read all available data out of the RX FIFO using 8 bit access.
Definition: dl_uart.h:200
__STATIC_INLINE DL_UART_DMA_IIDX_RX DL_UART_getPendingDMAReceiveEvent(const UART_Regs *uart)
Get highest priority pending UART interrupt for DMA receive event.
Definition: dl_uart.h:3363
uint32_t interruptMask0
Definition: dl_uart.h:593
__STATIC_INLINE void DL_UART_disableTransmitPinManualControl(UART_Regs *uart)
Disable control of the TXD pin.
Definition: dl_uart.h:1156
Definition: dl_uart.h:343
Definition: dl_uart.h:220
uint8_t DL_UART_receiveDataBlocking(const UART_Regs *uart)
Blocks to ensure receive is ready before reading data.
__STATIC_INLINE DL_UART_FLOW_CONTROL DL_UART_getFlowControl(const UART_Regs *uart)
Check the flow control configuration.
Definition: dl_uart.h:1306
__STATIC_INLINE void DL_UART_disableMSBFirst(UART_Regs *uart)
Disable most significant bit (MSB) first.
Definition: dl_uart.h:1101
__STATIC_INLINE DL_UART_WORD_LENGTH DL_UART_getWordLength(const UART_Regs *uart)
Get the word length.
Definition: dl_uart.h:1571
uint32_t linControlWord
Definition: dl_uart.h:656
__STATIC_INLINE void DL_UART_enableLINRisingEdgeCapture(UART_Regs *uart)
Enable capture of the LIN counter on a rising edge.
Definition: dl_uart.h:2353
void DL_UART_init(UART_Regs *uart, const DL_UART_Config *config)
Initialize the UART peripheral.
DL_UART_MODE
Definition: dl_uart.h:347
__STATIC_INLINE uint8_t DL_UART_receiveData(const UART_Regs *uart)
Reads data from the RX FIFO.
Definition: dl_uart.h:2111
__STATIC_INLINE bool DL_UART_isBusy(const UART_Regs *uart)
Checks if the UART is busy.
Definition: dl_uart.h:1706
__STATIC_INLINE bool DL_UART_isLINCounterClearOnFallingEdge(const UART_Regs *uart)
Check if LIN counting on falling edge of RXD is enabled.
Definition: dl_uart.h:2237
__STATIC_INLINE bool DL_UART_isLINRisingEdgeCaptureEnabled(const UART_Regs *uart)
Check status of capture of LIN counter on a rising edge.
Definition: dl_uart.h:2368
DL_UART_DMA_IIDX_TX
Definition: dl_uart.h:232
DL_UART_CLOCK_DIVIDE_RATIO divideRatio
Definition: dl_uart.h:544
Definition: dl_uart.h:208
__STATIC_INLINE void DL_UART_setExternalDriverSetup(UART_Regs *uart, uint32_t val)
Set external driver setup value.
Definition: dl_uart.h:1628
__STATIC_INLINE uint32_t DL_UART_getEnabledDMAReceiveEvent(const UART_Regs *uart, uint32_t interruptMask)
Check which UART interrupt for DMA receive events is enabled.
Definition: dl_uart.h:3230
Definition: dl_uart.h:349
Configuration structure to backup UART Main peripheral state before going to STOP/STANDBY mode...
Definition: dl_uart.h:556
__STATIC_INLINE void DL_UART_enableSendIdlePattern(UART_Regs *uart)
Send idle pattern.
Definition: dl_uart.h:1587
Definition: dl_uart.h:409
__STATIC_INLINE bool DL_UART_isMajorityVotingEnabled(const UART_Regs *uart)
Check if majority voting is enabled.
Definition: dl_uart.h:1030
DL_UART_PULSE_WIDTH
Definition: dl_uart.h:293
__STATIC_INLINE bool DL_UART_isRXFIFOFull(const UART_Regs *uart)
Checks if the RX FIFO is full.
Definition: dl_uart.h:1747
Definition: dl_uart.h:212
bool DL_UART_Extend_saveConfiguration(const UART_Regs *uart, DL_UART_Extend_backupConfig *ptr)
Save UART Extend configuration before entering a power loss state.
__STATIC_INLINE void DL_UART_setIrDATXPulseClockSelect(UART_Regs *uart, DL_UART_IRDA_CLOCK uartClock)
Set the IrDA transmit pulse clock select.
Definition: dl_uart.h:2567
__STATIC_INLINE DL_UART_PARITY DL_UART_getParityMode(const UART_Regs *uart)
Get parity mode.
Definition: dl_uart.h:1507
__STATIC_INLINE void DL_UART_enableInterrupt(UART_Regs *uart, uint32_t interruptMask)
Enable UART interrupts.
Definition: dl_uart.h:2768
__STATIC_INLINE void DL_UART_setAddress(UART_Regs *uart, uint32_t address)
Set the address.
Definition: dl_uart.h:2733
Definition: dl_uart.h:184
uint32_t fbrd
Definition: dl_uart.h:646
__STATIC_INLINE void DL_UART_clearDMAReceiveEventStatus(UART_Regs *uart, uint32_t interruptMask)
Clear pending UART interrupts for DMA receive event.
Definition: dl_uart.h:3402
Definition: dl_uart.h:438
Definition: dl_uart.h:446
DL_UART_RX_FIFO_LEVEL
Definition: dl_uart.h:435
__STATIC_INLINE void DL_UART_enableLINCounter(UART_Regs *uart)
Enable the LIN counter.
Definition: dl_uart.h:2176
Configuration struct for DL_UART_setClockConfig.
Definition: dl_uart.h:539
__STATIC_INLINE void DL_UART_enableLINFallingEdgeCapture(UART_Regs *uart)
Enable capture of the LIN counter on a falling edge.
Definition: dl_uart.h:2310
Definition: dl_uart.h:389
__STATIC_INLINE void DL_UART_setIrDARXPulsePolarity(UART_Regs *uart, DL_UART_IRDA_POLARITY polarity)
Set the IrDA receive input UCAxRXD polarity.
Definition: dl_uart.h:2649
__STATIC_INLINE void DL_UART_setClockDivider2(UART_Regs *uart, DL_UART_CLOCK_DIVIDE2_RATIO ratio)
Sets the second clock divider ratio.
Definition: dl_uart.h:3432
DL_UART_PARITY
Definition: dl_uart.h:317
DL_UART_TXD_OUT
Definition: dl_uart.h:413
DL_UART_CLOCK_DIVIDE_RATIO
Definition: dl_uart.h:471
Definition: dl_uart.h:190
Configuration struct for DL_UART_init.
Definition: dl_uart.h:515
__STATIC_INLINE bool DL_UART_isIrDAModeEnabled(const UART_Regs *uart)
Check if the IrDA encoder/decoder is enabled.
Definition: dl_uart.h:2545
void DL_UART_configIrDAMode(UART_Regs *uart, DL_UART_IRDA_POLARITY polarity, uint32_t pulseLength, DL_UART_IRDA_CLOCK irdaClk)
Set the IrDA configurations.
uint32_t address
Definition: dl_uart.h:667
Definition: dl_uart.h:497
__STATIC_INLINE DL_UART_TXD_OUT DL_UART_getTransmitPinManualOutput(const UART_Regs *uart)
Get the output value of the TXD pin.
Definition: dl_uart.h:1199
Definition: dl_uart.h:331
__STATIC_INLINE uint32_t DL_UART_getRawDMAReceiveEventStatus(const UART_Regs *uart, uint32_t interruptMask)
Check interrupt flag of any UART interrupt for DMA receive event.
Definition: dl_uart.h:3320
DL_UART_STOP_BITS
Definition: dl_uart.h:405
Definition: dl_uart.h:425
__STATIC_INLINE DL_UART_IRDA_POLARITY DL_UART_getIrDARXPulsePolarity(const UART_Regs *uart)
Get the IrDA receive input UCAxRXD polarity.
Definition: dl_uart.h:2665
__STATIC_INLINE uint32_t DL_UART_getExternalDriverHold(const UART_Regs *uart)
Get the external driver setup hold.
Definition: dl_uart.h:1681
DL_UART_CLOCK
Definition: dl_uart.h:375
Definition: dl_uart.h:440
__STATIC_INLINE bool DL_UART_isParityEnabled(const UART_Regs *uart)
Check if parity is enabled.
Definition: dl_uart.h:1471
Definition: dl_uart.h:353
Definition: dl_uart.h:297
Definition: dl_uart.h:475
Definition: dl_uart.h:501
__STATIC_INLINE void DL_UART_disableLINFallingEdgeCapture(UART_Regs *uart)
Disable capture of LIN counter on a falling edge.
Definition: dl_uart.h:2339
Definition: dl_uart.h:180
bool DL_UART_Main_restoreConfiguration(UART_Regs *uart, DL_UART_Main_backupConfig *ptr)
Restore UART Main configuration after leaving a power loss state.
__STATIC_INLINE void DL_UART_reset(UART_Regs *uart)
Resets uart peripheral.
Definition: dl_uart.h:759
uint32_t controlWord
Definition: dl_uart.h:561
__STATIC_INLINE void DL_UART_disableDMAReceiveEvent(UART_Regs *uart, uint32_t interrupt)
Disables UART interrupt from triggering the DMA receive event.
Definition: dl_uart.h:3191
DL_UART_STOP_BITS stopBits
Definition: dl_uart.h:532
Definition: dl_uart.h:226
Definition: dl_uart.h:444
__STATIC_INLINE DL_UART_IRDA_CLOCK DL_UART_getIrDATXPulseClockSelect(const UART_Regs *uart)
Get the IrDA transmit pulse clock select.
Definition: dl_uart.h:2584
__STATIC_INLINE void DL_UART_disableMajorityVoting(UART_Regs *uart)
Disable majority voting control.
Definition: dl_uart.h:1047
__STATIC_INLINE void DL_UART_setTransmitPinManualOutput(UART_Regs *uart, DL_UART_TXD_OUT txdOutVal)
Set the output of the TXD pin.
Definition: dl_uart.h:1182
Definition: dl_uart.h:454
Definition: dl_uart.h:309
__STATIC_INLINE void DL_UART_setRXFIFOThreshold(UART_Regs *uart, DL_UART_RX_FIFO_LEVEL threshold)
Set the RX FIFO interrupt threshold level. The interrupts are generated based on a transition through...
Definition: dl_uart.h:1883
uint32_t interruptMask0
Definition: dl_uart.h:671
__STATIC_INLINE bool DL_UART_isMSBFirstEnabled(const UART_Regs *uart)
Check if most significant bit (MSB) first is enabled.
Definition: dl_uart.h:1081
__STATIC_INLINE bool DL_UART_isIdleModeDetected(const UART_Regs *uart)
Checks if Idle mode has been detected.
Definition: dl_uart.h:1826
__STATIC_INLINE DL_UART_DMA_IIDX_TX DL_UART_getPendingDMATransmitEvent(const UART_Regs *uart)
Get highest priority pending UART interrupt for DMA transmit event.
Definition: dl_uart.h:3385
__STATIC_INLINE void DL_UART_disableFIFOs(UART_Regs *uart)
Disable FIFOs.
Definition: dl_uart.h:1399
Configuration structure to backup UART Extend peripheral state before going to STOP/STANDBY mode...
Definition: dl_uart.h:618
__STATIC_INLINE bool DL_UART_isSendIdlePatternEnabled(const UART_Regs *uart)
Check if send idle pattern is enabled.
Definition: dl_uart.h:1612
__STATIC_INLINE void DL_UART_enableFIFOs(UART_Regs *uart)
Enable FIFOs.
Definition: dl_uart.h:1381
Definition: dl_uart.h:407
__STATIC_INLINE void DL_UART_disableLINSendBreak(UART_Regs *uart)
Disable send break.
Definition: dl_uart.h:1441
__STATIC_INLINE void DL_UART_setDigitalPulseWidth(UART_Regs *uart, uint32_t pulseWidth)
Set the pulse width select for the digital glitch suppresion.
Definition: dl_uart.h:2046
bool DL_UART_receiveDataCheck(const UART_Regs *uart, uint8_t *buffer)
Checks the RX FIFO before trying to transmit data.
Definition: dl_uart.h:479
__STATIC_INLINE DL_UART_RTS DL_UART_getRTSOutput(const UART_Regs *uart)
Get the request to send output signal.
Definition: dl_uart.h:1360
DL_UART_IRDA_POLARITY
Definition: dl_uart.h:458
__STATIC_INLINE void DL_UART_disableManchesterEncoding(UART_Regs *uart)
Disable Manchester encoding.
Definition: dl_uart.h:1222
DL_UART_CLOCK_DIVIDE2_RATIO
Definition: dl_uart.h:491
__STATIC_INLINE void DL_UART_setLINCounterCompareValue(UART_Regs *uart, uint16_t value)
Set the value to be compared to the LIN counter.
Definition: dl_uart.h:2474
Definition: dl_uart.h:357
Definition: dl_uart.h:369
__STATIC_INLINE void DL_UART_setRXInterruptTimeout(UART_Regs *uart, uint32_t timeout)
Set the RX interrupt timeout.
Definition: dl_uart.h:1918
Definition: dl_uart.h:210
__STATIC_INLINE void DL_UART_setDirection(UART_Regs *uart, DL_UART_DIRECTION direction)
Set the direction of the UART communication.
Definition: dl_uart.h:966
__STATIC_INLINE uint32_t DL_UART_getFractionalBaudRateDivisor(const UART_Regs *uart)
Get Fractional Baud-Rate Divisor.
Definition: dl_uart.h:1964
__STATIC_INLINE DL_UART_CLOCK_DIVIDE2_RATIO DL_UART_getClockDivider2(const UART_Regs *uart)
Gets the value of CLKDIV2.
Definition: dl_uart.h:3451
Definition: dl_uart.h:202
__STATIC_INLINE void DL_UART_setIrDABaudRateDivisor(UART_Regs *uart, uint32_t integerDivisor, uint32_t fractionalDivisor, DL_UART_CLOCK_DIVIDE2_RATIO clkDivisor2)
Set the baud rate divisor for IrDA mode.
Definition: dl_uart.h:2016
__STATIC_INLINE void DL_UART_setCommunicationMode(UART_Regs *uart, DL_UART_MODE mode)
Set the communication mode/protocol to use.
Definition: dl_uart.h:1254
Definition: dl_uart.h:365
__STATIC_INLINE void DL_UART_disableLoopbackMode(UART_Regs *uart)
Disable loopback mode.
Definition: dl_uart.h:945
uint32_t interruptMask1
Definition: dl_uart.h:675
__STATIC_INLINE void DL_UART_enableLINCounterClearOnFallingEdge(UART_Regs *uart)
Enable LIN counter clear and start counting on falling edge of RXD.
Definition: dl_uart.h:2221
uint32_t interruptMask2
Definition: dl_uart.h:679
__STATIC_INLINE bool DL_UART_isLINFallingEdgeCaptureEnabled(const UART_Regs *uart)
Check status of capture of LIN counter on a falling edge.
Definition: dl_uart.h:2327
__STATIC_INLINE void DL_UART_setLINCounterValue(UART_Regs *uart, uint16_t value)
Set the LIN counter value.
Definition: dl_uart.h:2145
uint32_t glitchFilterControlWord
Definition: dl_uart.h:651
Definition: dl_uart.h:415
Definition: dl_uart.h:359
__STATIC_INLINE uint32_t DL_UART_getIrDATXPulseLength(const UART_Regs *uart)
Get the IrDA transmit pulse length.
Definition: dl_uart.h:2637
void DL_UART_setIrDAPulseLength(UART_Regs *uart, uint32_t pulseLength, DL_UART_IRDA_CLOCK irdaClk)
Set the IrDA transmit pulse length.
__STATIC_INLINE void DL_UART_disableIrDAMode(UART_Regs *uart)
Disable the IrDA encoder/decoder.
Definition: dl_uart.h:2555
Definition: dl_uart.h:351
__STATIC_INLINE uint32_t DL_UART_getEnabledDMATransmitEventStatus(const UART_Regs *uart)
Check interrupt flag of enabled UART interrupt for DMA transmit event.
Definition: dl_uart.h:3297
uint32_t clockSel
Definition: dl_uart.h:564
__STATIC_INLINE void DL_UART_enableGlitchFilterChaining(UART_Regs *uart)
Enable analog and digital noise glitch filter chaining.
Definition: dl_uart.h:2949
DL_UART_DIRECTION
Definition: dl_uart.h:363
uint32_t addressMask
Definition: dl_uart.h:664
uint32_t interruptMask2
Definition: dl_uart.h:601
__STATIC_INLINE bool DL_UART_isEnabled(const UART_Regs *uart)
Checks if the UART peripheral is enabled.
Definition: dl_uart.h:802
Definition: dl_uart.h:321
DL_UART_OVERSAMPLING_RATE
Definition: dl_uart.h:305
void DL_UART_getClockConfig(const UART_Regs *uart, DL_UART_ClockConfig *config)
Get UART source clock configuration.
__STATIC_INLINE void DL_UART_setWordLength(UART_Regs *uart, DL_UART_WORD_LENGTH wordLength)
Set the word length.
Definition: dl_uart.h:1555
uint32_t irdaControlWord
Definition: dl_uart.h:661
__STATIC_INLINE bool DL_UART_isPowerEnabled(const UART_Regs *uart)
Returns if the Peripheral Write Enable (PWREN) register for the UART is enabled.
Definition: dl_uart.h:748
__STATIC_INLINE DL_UART_OVERSAMPLING_RATE DL_UART_getOversampling(const UART_Regs *uart)
Get the oversampling rate.
Definition: dl_uart.h:891
__STATIC_INLINE DL_UART_RX_FIFO_LEVEL DL_UART_getRXFIFOThreshold(const UART_Regs *uart)
Get the RX FIFO interrupt threshold level.
Definition: dl_uart.h:1899
__STATIC_INLINE uint32_t DL_UART_getEnabledDMAReceiveEventStatus(const UART_Regs *uart, uint32_t interruptMask)
Check interrupt flag of enabled UART interrupt for DMA receive event.
Definition: dl_uart.h:3274
Definition: dl_uart.h:499
__STATIC_INLINE void DL_UART_setAddressMask(UART_Regs *uart, uint32_t addressMask)
Set the address mask for DALI, 9-bit, or Idle-Line mode.
Definition: dl_uart.h:2689
__STATIC_INLINE void DL_UART_changeConfig(UART_Regs *uart)
Prepares the UART to change the configuration.
Definition: dl_uart.h:2899
__STATIC_INLINE void DL_UART_disableLINCounterClearOnFallingEdge(UART_Regs *uart)
Disable LIN counting on falling edge of RXD.
Definition: dl_uart.h:2249
uint32_t lineControlRegisterWord
Definition: dl_uart.h:635
uint32_t interruptMask1
Definition: dl_uart.h:597
__STATIC_INLINE bool DL_UART_isTransmitPinManualControlEnabled(const UART_Regs *uart)
Check if control of the TXD pin is enabled.
Definition: dl_uart.h:1137
uint32_t lineControlRegisterWord
Definition: dl_uart.h:584
bool DL_UART_transmitDataCheck(UART_Regs *uart, uint8_t data)
Checks the TX FIFO before trying to transmit data.
Definition: dl_uart.h:381
__STATIC_INLINE void DL_UART_disablePower(UART_Regs *uart)
Disables the Peripheral Write Enable (PWREN) register for the UART.
Definition: dl_uart.h:727
DL_UART_DIRECTION direction
Definition: dl_uart.h:520
DL_UART_MODE mode
Definition: dl_uart.h:517
__STATIC_INLINE uint32_t DL_UART_getExternalDriverSetup(const UART_Regs *uart)
Get the external driver setup value.
Definition: dl_uart.h:1645
uint32_t interruptFifoLevelSelectWord
Definition: dl_uart.h:640
Definition: dl_uart.h:387
__STATIC_INLINE void DL_UART_enableManchesterEncoding(UART_Regs *uart)
Enable Manchester encoding.
Definition: dl_uart.h:1212
__STATIC_INLINE void DL_UART_setFlowControl(UART_Regs *uart, DL_UART_FLOW_CONTROL config)
Set the flow control configuration.
Definition: dl_uart.h:1289
Definition: dl_uart.h:417
DL_UART_WORD_LENGTH wordLength
Definition: dl_uart.h:529
Definition: dl_uart.h:182
__STATIC_INLINE bool DL_UART_isLINCounterCompareMatchEnabled(const UART_Regs *uart)
Check if LIN counter compare match mode is enabled.
Definition: dl_uart.h:2445
Definition: dl_uart.h:299
__STATIC_INLINE bool DL_UART_isLINCounterEnabled(const UART_Regs *uart)
Check if the LIN counter is enabled.
Definition: dl_uart.h:2191
bool backupRdy
Definition: dl_uart.h:605
__STATIC_INLINE bool DL_UART_isManchesterEncodingEnabled(const UART_Regs *uart)
Check if Manchester encoding is enabled.
Definition: dl_uart.h:1237
DL_UART_RTS
Definition: dl_uart.h:397
__STATIC_INLINE void DL_UART_enableLINSendBreak(UART_Regs *uart)
Enable send break (for LIN protocol)
Definition: dl_uart.h:1428
Definition: dl_uart.h:234
Definition: dl_uart.h:477
Definition: dl_uart.h:198
Definition: dl_uart.h:483
Definition: dl_uart.h:379
Definition: dl_uart.h:503
__STATIC_INLINE void DL_UART_enableTransmitPinManualControl(UART_Regs *uart)
Enable control of the TXD pin.
Definition: dl_uart.h:1122
__STATIC_INLINE void DL_UART_disableGlitchFilterChaining(UART_Regs *uart)
Disable analog and digital noise glitch filter chaining.
Definition: dl_uart.h:2962
__STATIC_INLINE void DL_UART_setTXFIFOThreshold(UART_Regs *uart, DL_UART_TX_FIFO_LEVEL threshold)
Set the TX FIFO interrupt threshold level.
Definition: dl_uart.h:1847
__STATIC_INLINE bool DL_UART_isTXFIFOFull(const UART_Regs *uart)
Checks if the TX FIFO is full.
Definition: dl_uart.h:1788
Definition: dl_uart.h:429
bool DL_UART_Main_saveConfiguration(const UART_Regs *uart, DL_UART_Main_backupConfig *ptr)
Save UART Main configuration before entering a power loss state.
uint32_t fbrd
Definition: dl_uart.h:578
__STATIC_INLINE uint16_t DL_UART_getLINCounterValue(const UART_Regs *uart)
Get the LIN counter value.
Definition: dl_uart.h:2164
__STATIC_INLINE void DL_UART_clearInterruptStatus(UART_Regs *uart, uint32_t interruptMask)
Clear pending UART interrupts.
Definition: dl_uart.h:2876
Definition: dl_uart.h:216
__STATIC_INLINE void DL_UART_disableInterrupt(UART_Regs *uart, uint32_t interruptMask)
Disable UART interrupts.
Definition: dl_uart.h:2782
Definition: dl_uart.h:307
Definition: dl_uart.h:505
Definition: dl_uart.h:329
uint32_t DL_UART_fillTXFIFO(UART_Regs *uart, const uint8_t *buffer, uint32_t count)
Fill the TX FIFO until full using 8 bit access.
__STATIC_INLINE void DL_UART_transmitData(UART_Regs *uart, uint8_t data)
Writes data into the TX FIFO to transmit.
Definition: dl_uart.h:2088
__STATIC_INLINE void DL_UART_setStopBits(UART_Regs *uart, DL_UART_STOP_BITS numStopBits)
Set the number of stop bits.
Definition: dl_uart.h:1525
__STATIC_INLINE void DL_UART_disableLINCounter(UART_Regs *uart)
Disable the LIN counter.
Definition: dl_uart.h:2204
__STATIC_INLINE uint32_t DL_UART_getRawDMATransmitEventStatus(const UART_Regs *uart)
Check interrupt flag of any UART interrupt for DMA transmit event.
Definition: dl_uart.h:3341
__STATIC_INLINE void DL_UART_enableLINSyncFieldValidationCounterControl(UART_Regs *uart)
Setup LIN counter control for sync field validation.
Definition: dl_uart.h:2408
Definition: dl_uart.h:319
__STATIC_INLINE uint32_t DL_UART_getIntegerBaudRateDivisor(const UART_Regs *uart)
Get Integer Baud-Rate Divisor.
Definition: dl_uart.h:1949
__STATIC_INLINE uint32_t DL_UART_getRXInterruptTimeout(const UART_Regs *uart)
Get the RX interrupt timeout.
Definition: dl_uart.h:1935
Definition: dl_uart.h:399
Definition: dl_uart.h:301
Definition: dl_uart.h:228
void DL_UART_setClockConfig(UART_Regs *uart, const DL_UART_ClockConfig *config)
Configure UART source clock.