Repostiory containing DAPLink source code with Reset Pin workaround for HANI_IOT board.

Upstream: https://github.com/ARMmbed/DAPLink

Committer:
Pawel Zarembski
Date:
Tue Apr 07 12:55:42 2020 +0200
Revision:
0:01f31e923fe2
hani: DAPLink with reset workaround

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Pawel Zarembski 0:01f31e923fe2 1 /*******************************************************************************
Pawel Zarembski 0:01f31e923fe2 2 * Copyright (C) 2016 Maxim Integrated Products, Inc., All Rights Reserved.
Pawel Zarembski 0:01f31e923fe2 3 *
Pawel Zarembski 0:01f31e923fe2 4 * Permission is hereby granted, free of charge, to any person obtaining a
Pawel Zarembski 0:01f31e923fe2 5 * copy of this software and associated documentation files (the "Software"),
Pawel Zarembski 0:01f31e923fe2 6 * to deal in the Software without restriction, including without limitation
Pawel Zarembski 0:01f31e923fe2 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
Pawel Zarembski 0:01f31e923fe2 8 * and/or sell copies of the Software, and to permit persons to whom the
Pawel Zarembski 0:01f31e923fe2 9 * Software is furnished to do so, subject to the following conditions:
Pawel Zarembski 0:01f31e923fe2 10 *
Pawel Zarembski 0:01f31e923fe2 11 * The above copyright notice and this permission notice shall be included
Pawel Zarembski 0:01f31e923fe2 12 * in all copies or substantial portions of the Software.
Pawel Zarembski 0:01f31e923fe2 13 *
Pawel Zarembski 0:01f31e923fe2 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
Pawel Zarembski 0:01f31e923fe2 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
Pawel Zarembski 0:01f31e923fe2 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
Pawel Zarembski 0:01f31e923fe2 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
Pawel Zarembski 0:01f31e923fe2 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
Pawel Zarembski 0:01f31e923fe2 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
Pawel Zarembski 0:01f31e923fe2 20 * OTHER DEALINGS IN THE SOFTWARE.
Pawel Zarembski 0:01f31e923fe2 21 *
Pawel Zarembski 0:01f31e923fe2 22 * Except as contained in this notice, the name of Maxim Integrated
Pawel Zarembski 0:01f31e923fe2 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
Pawel Zarembski 0:01f31e923fe2 24 * Products, Inc. Branding Policy.
Pawel Zarembski 0:01f31e923fe2 25 *
Pawel Zarembski 0:01f31e923fe2 26 * The mere transfer of this software does not imply any licenses
Pawel Zarembski 0:01f31e923fe2 27 * of trade secrets, proprietary technology, copyrights, patents,
Pawel Zarembski 0:01f31e923fe2 28 * trademarks, maskwork rights, or any other form of intellectual
Pawel Zarembski 0:01f31e923fe2 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
Pawel Zarembski 0:01f31e923fe2 30 * ownership rights.
Pawel Zarembski 0:01f31e923fe2 31 *
Pawel Zarembski 0:01f31e923fe2 32 ******************************************************************************/
Pawel Zarembski 0:01f31e923fe2 33
Pawel Zarembski 0:01f31e923fe2 34 #ifndef _MXC_UART_REGS_H_
Pawel Zarembski 0:01f31e923fe2 35 #define _MXC_UART_REGS_H_
Pawel Zarembski 0:01f31e923fe2 36
Pawel Zarembski 0:01f31e923fe2 37 #ifdef __cplusplus
Pawel Zarembski 0:01f31e923fe2 38 extern "C" {
Pawel Zarembski 0:01f31e923fe2 39 #endif
Pawel Zarembski 0:01f31e923fe2 40
Pawel Zarembski 0:01f31e923fe2 41 #include <stdint.h>
Pawel Zarembski 0:01f31e923fe2 42
Pawel Zarembski 0:01f31e923fe2 43 /*
Pawel Zarembski 0:01f31e923fe2 44 If types are not defined elsewhere (CMSIS) define them here
Pawel Zarembski 0:01f31e923fe2 45 */
Pawel Zarembski 0:01f31e923fe2 46 #ifndef __IO
Pawel Zarembski 0:01f31e923fe2 47 #define __IO volatile
Pawel Zarembski 0:01f31e923fe2 48 #endif
Pawel Zarembski 0:01f31e923fe2 49 #ifndef __I
Pawel Zarembski 0:01f31e923fe2 50 #define __I volatile const
Pawel Zarembski 0:01f31e923fe2 51 #endif
Pawel Zarembski 0:01f31e923fe2 52 #ifndef __O
Pawel Zarembski 0:01f31e923fe2 53 #define __O volatile
Pawel Zarembski 0:01f31e923fe2 54 #endif
Pawel Zarembski 0:01f31e923fe2 55 #ifndef __R
Pawel Zarembski 0:01f31e923fe2 56 #define __R volatile const
Pawel Zarembski 0:01f31e923fe2 57 #endif
Pawel Zarembski 0:01f31e923fe2 58
Pawel Zarembski 0:01f31e923fe2 59
Pawel Zarembski 0:01f31e923fe2 60 /*
Pawel Zarembski 0:01f31e923fe2 61 Typedefed structure(s) for module registers (per instance or section) with direct 32-bit
Pawel Zarembski 0:01f31e923fe2 62 access to each register in module.
Pawel Zarembski 0:01f31e923fe2 63 */
Pawel Zarembski 0:01f31e923fe2 64
Pawel Zarembski 0:01f31e923fe2 65 /* Offset Register Description
Pawel Zarembski 0:01f31e923fe2 66 ============= ============================================================================ */
Pawel Zarembski 0:01f31e923fe2 67 typedef struct {
Pawel Zarembski 0:01f31e923fe2 68 __IO uint32_t ctrl; /* 0x0000 UART Control Register */
Pawel Zarembski 0:01f31e923fe2 69 __IO uint32_t baud; /* 0x0004 UART Baud Control Register */
Pawel Zarembski 0:01f31e923fe2 70 __IO uint32_t tx_fifo_ctrl; /* 0x0008 UART TX FIFO Control Register */
Pawel Zarembski 0:01f31e923fe2 71 __IO uint32_t rx_fifo_ctrl; /* 0x000C UART RX FIFO Control Register */
Pawel Zarembski 0:01f31e923fe2 72 __IO uint32_t md_ctrl; /* 0x0010 UART Multidrop Control Register */
Pawel Zarembski 0:01f31e923fe2 73 __IO uint32_t intfl; /* 0x0014 UART Interrupt Flags */
Pawel Zarembski 0:01f31e923fe2 74 __IO uint32_t inten; /* 0x0018 UART Interrupt Enable/Disable Controls */
Pawel Zarembski 0:01f31e923fe2 75 #if (MXC_UART_REV > 0)
Pawel Zarembski 0:01f31e923fe2 76 __R uint32_t idle; /* 0x001C UART Idle Status */
Pawel Zarembski 0:01f31e923fe2 77 #endif
Pawel Zarembski 0:01f31e923fe2 78 } mxc_uart_regs_t;
Pawel Zarembski 0:01f31e923fe2 79
Pawel Zarembski 0:01f31e923fe2 80
Pawel Zarembski 0:01f31e923fe2 81 /* Offset Register Description
Pawel Zarembski 0:01f31e923fe2 82 ============= ============================================================================ */
Pawel Zarembski 0:01f31e923fe2 83 typedef struct {
Pawel Zarembski 0:01f31e923fe2 84 union { /* 0x0000-0x07FC FIFO Write Point for Data to Transmit */
Pawel Zarembski 0:01f31e923fe2 85 __IO uint8_t tx;
Pawel Zarembski 0:01f31e923fe2 86 __IO uint8_t tx_8[2048];
Pawel Zarembski 0:01f31e923fe2 87 __IO uint16_t tx_16[1024];
Pawel Zarembski 0:01f31e923fe2 88 __IO uint32_t tx_32[512];
Pawel Zarembski 0:01f31e923fe2 89 };
Pawel Zarembski 0:01f31e923fe2 90 union { /* 0x0800-0x0FFC FIFO Read Point for Received Data */
Pawel Zarembski 0:01f31e923fe2 91 __IO uint8_t rx;
Pawel Zarembski 0:01f31e923fe2 92 __IO uint8_t rx_8[2048];
Pawel Zarembski 0:01f31e923fe2 93 __IO uint16_t rx_16[1024];
Pawel Zarembski 0:01f31e923fe2 94 __IO uint32_t rx_32[512];
Pawel Zarembski 0:01f31e923fe2 95 };
Pawel Zarembski 0:01f31e923fe2 96 } mxc_uart_fifo_regs_t;
Pawel Zarembski 0:01f31e923fe2 97
Pawel Zarembski 0:01f31e923fe2 98
Pawel Zarembski 0:01f31e923fe2 99 /*
Pawel Zarembski 0:01f31e923fe2 100 Register offsets for module UART.
Pawel Zarembski 0:01f31e923fe2 101 */
Pawel Zarembski 0:01f31e923fe2 102
Pawel Zarembski 0:01f31e923fe2 103 #define MXC_R_UART_OFFS_CTRL ((uint32_t)0x00000000UL)
Pawel Zarembski 0:01f31e923fe2 104 #define MXC_R_UART_OFFS_BAUD ((uint32_t)0x00000004UL)
Pawel Zarembski 0:01f31e923fe2 105 #define MXC_R_UART_OFFS_TX_FIFO_CTRL ((uint32_t)0x00000008UL)
Pawel Zarembski 0:01f31e923fe2 106 #define MXC_R_UART_OFFS_RX_FIFO_CTRL ((uint32_t)0x0000000CUL)
Pawel Zarembski 0:01f31e923fe2 107 #define MXC_R_UART_OFFS_MD_CTRL ((uint32_t)0x00000010UL)
Pawel Zarembski 0:01f31e923fe2 108 #define MXC_R_UART_OFFS_INTFL ((uint32_t)0x00000014UL)
Pawel Zarembski 0:01f31e923fe2 109 #define MXC_R_UART_OFFS_INTEN ((uint32_t)0x00000018UL)
Pawel Zarembski 0:01f31e923fe2 110 #define MXC_R_UART_FIFO_OFFS_TX ((uint32_t)0x00000000UL)
Pawel Zarembski 0:01f31e923fe2 111 #define MXC_R_UART_FIFO_OFFS_RX ((uint32_t)0x00000800UL)
Pawel Zarembski 0:01f31e923fe2 112
Pawel Zarembski 0:01f31e923fe2 113
Pawel Zarembski 0:01f31e923fe2 114 /*
Pawel Zarembski 0:01f31e923fe2 115 Field positions and masks for module UART.
Pawel Zarembski 0:01f31e923fe2 116 */
Pawel Zarembski 0:01f31e923fe2 117
Pawel Zarembski 0:01f31e923fe2 118 #define MXC_F_UART_CTRL_UART_EN_POS 0
Pawel Zarembski 0:01f31e923fe2 119 #define MXC_F_UART_CTRL_UART_EN ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_UART_EN_POS))
Pawel Zarembski 0:01f31e923fe2 120 #define MXC_F_UART_CTRL_RX_FIFO_EN_POS 1
Pawel Zarembski 0:01f31e923fe2 121 #define MXC_F_UART_CTRL_RX_FIFO_EN ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_RX_FIFO_EN_POS))
Pawel Zarembski 0:01f31e923fe2 122 #define MXC_F_UART_CTRL_TX_FIFO_EN_POS 2
Pawel Zarembski 0:01f31e923fe2 123 #define MXC_F_UART_CTRL_TX_FIFO_EN ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_TX_FIFO_EN_POS))
Pawel Zarembski 0:01f31e923fe2 124 #define MXC_F_UART_CTRL_DATA_SIZE_POS 4
Pawel Zarembski 0:01f31e923fe2 125 #define MXC_F_UART_CTRL_DATA_SIZE ((uint32_t)(0x00000003UL << MXC_F_UART_CTRL_DATA_SIZE_POS))
Pawel Zarembski 0:01f31e923fe2 126 #define MXC_F_UART_CTRL_EXTRA_STOP_POS 8
Pawel Zarembski 0:01f31e923fe2 127 #define MXC_F_UART_CTRL_EXTRA_STOP ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_EXTRA_STOP_POS))
Pawel Zarembski 0:01f31e923fe2 128 #define MXC_F_UART_CTRL_PARITY_POS 12
Pawel Zarembski 0:01f31e923fe2 129 #define MXC_F_UART_CTRL_PARITY ((uint32_t)(0x00000003UL << MXC_F_UART_CTRL_PARITY_POS))
Pawel Zarembski 0:01f31e923fe2 130 #define MXC_F_UART_CTRL_CTS_EN_POS 16
Pawel Zarembski 0:01f31e923fe2 131 #define MXC_F_UART_CTRL_CTS_EN ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_CTS_EN_POS))
Pawel Zarembski 0:01f31e923fe2 132 #define MXC_F_UART_CTRL_CTS_POLARITY_POS 17
Pawel Zarembski 0:01f31e923fe2 133 #define MXC_F_UART_CTRL_CTS_POLARITY ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_CTS_POLARITY_POS))
Pawel Zarembski 0:01f31e923fe2 134 #define MXC_F_UART_CTRL_RTS_EN_POS 18
Pawel Zarembski 0:01f31e923fe2 135 #define MXC_F_UART_CTRL_RTS_EN ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_RTS_EN_POS))
Pawel Zarembski 0:01f31e923fe2 136 #define MXC_F_UART_CTRL_RTS_POLARITY_POS 19
Pawel Zarembski 0:01f31e923fe2 137 #define MXC_F_UART_CTRL_RTS_POLARITY ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_RTS_POLARITY_POS))
Pawel Zarembski 0:01f31e923fe2 138 #define MXC_F_UART_CTRL_RTS_LEVEL_POS 20
Pawel Zarembski 0:01f31e923fe2 139 #define MXC_F_UART_CTRL_RTS_LEVEL ((uint32_t)(0x0000003FUL << MXC_F_UART_CTRL_RTS_LEVEL_POS))
Pawel Zarembski 0:01f31e923fe2 140
Pawel Zarembski 0:01f31e923fe2 141 #define MXC_F_UART_BAUD_BAUD_DIVISOR_POS 0
Pawel Zarembski 0:01f31e923fe2 142 #define MXC_F_UART_BAUD_BAUD_DIVISOR ((uint32_t)(0x000000FFUL << MXC_F_UART_BAUD_BAUD_DIVISOR_POS))
Pawel Zarembski 0:01f31e923fe2 143 #define MXC_F_UART_BAUD_BAUD_MODE_POS 8
Pawel Zarembski 0:01f31e923fe2 144 #define MXC_F_UART_BAUD_BAUD_MODE ((uint32_t)(0x00000003UL << MXC_F_UART_BAUD_BAUD_MODE_POS))
Pawel Zarembski 0:01f31e923fe2 145
Pawel Zarembski 0:01f31e923fe2 146 #define MXC_F_UART_TX_FIFO_CTRL_FIFO_ENTRY_POS 0
Pawel Zarembski 0:01f31e923fe2 147 #define MXC_F_UART_TX_FIFO_CTRL_FIFO_ENTRY ((uint32_t)(0x0000003FUL << MXC_F_UART_TX_FIFO_CTRL_FIFO_ENTRY_POS))
Pawel Zarembski 0:01f31e923fe2 148 #define MXC_F_UART_TX_FIFO_CTRL_FIFO_AE_LVL_POS 16
Pawel Zarembski 0:01f31e923fe2 149 #define MXC_F_UART_TX_FIFO_CTRL_FIFO_AE_LVL ((uint32_t)(0x0000001FUL << MXC_F_UART_TX_FIFO_CTRL_FIFO_AE_LVL_POS))
Pawel Zarembski 0:01f31e923fe2 150
Pawel Zarembski 0:01f31e923fe2 151 #define MXC_F_UART_RX_FIFO_CTRL_FIFO_ENTRY_POS 0
Pawel Zarembski 0:01f31e923fe2 152 #define MXC_F_UART_RX_FIFO_CTRL_FIFO_ENTRY ((uint32_t)(0x0000003FUL << MXC_F_UART_RX_FIFO_CTRL_FIFO_ENTRY_POS))
Pawel Zarembski 0:01f31e923fe2 153 #define MXC_F_UART_RX_FIFO_CTRL_FIFO_AF_LVL_POS 16
Pawel Zarembski 0:01f31e923fe2 154 #define MXC_F_UART_RX_FIFO_CTRL_FIFO_AF_LVL ((uint32_t)(0x0000001FUL << MXC_F_UART_RX_FIFO_CTRL_FIFO_AF_LVL_POS))
Pawel Zarembski 0:01f31e923fe2 155
Pawel Zarembski 0:01f31e923fe2 156 #define MXC_F_UART_MD_CTRL_SLAVE_ADDR_POS 0
Pawel Zarembski 0:01f31e923fe2 157 #define MXC_F_UART_MD_CTRL_SLAVE_ADDR ((uint32_t)(0x000000FFUL << MXC_F_UART_MD_CTRL_SLAVE_ADDR_POS))
Pawel Zarembski 0:01f31e923fe2 158 #define MXC_F_UART_MD_CTRL_SLAVE_ADDR_MSK_POS 8
Pawel Zarembski 0:01f31e923fe2 159 #define MXC_F_UART_MD_CTRL_SLAVE_ADDR_MSK ((uint32_t)(0x000000FFUL << MXC_F_UART_MD_CTRL_SLAVE_ADDR_MSK_POS))
Pawel Zarembski 0:01f31e923fe2 160 #define MXC_F_UART_MD_CTRL_MD_MSTR_POS 16
Pawel Zarembski 0:01f31e923fe2 161 #define MXC_F_UART_MD_CTRL_MD_MSTR ((uint32_t)(0x00000001UL << MXC_F_UART_MD_CTRL_MD_MSTR_POS))
Pawel Zarembski 0:01f31e923fe2 162 #define MXC_F_UART_MD_CTRL_TX_ADDR_MARK_POS 17
Pawel Zarembski 0:01f31e923fe2 163 #define MXC_F_UART_MD_CTRL_TX_ADDR_MARK ((uint32_t)(0x00000001UL << MXC_F_UART_MD_CTRL_TX_ADDR_MARK_POS))
Pawel Zarembski 0:01f31e923fe2 164
Pawel Zarembski 0:01f31e923fe2 165 #define MXC_F_UART_INTFL_TX_DONE_POS 0
Pawel Zarembski 0:01f31e923fe2 166 #define MXC_F_UART_INTFL_TX_DONE ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_TX_DONE_POS))
Pawel Zarembski 0:01f31e923fe2 167 #define MXC_F_UART_INTFL_TX_UNSTALLED_POS 1
Pawel Zarembski 0:01f31e923fe2 168 #define MXC_F_UART_INTFL_TX_UNSTALLED ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_TX_UNSTALLED_POS))
Pawel Zarembski 0:01f31e923fe2 169 #define MXC_F_UART_INTFL_TX_FIFO_AE_POS 2
Pawel Zarembski 0:01f31e923fe2 170 #define MXC_F_UART_INTFL_TX_FIFO_AE ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_TX_FIFO_AE_POS))
Pawel Zarembski 0:01f31e923fe2 171 #define MXC_F_UART_INTFL_RX_FIFO_NOT_EMPTY_POS 3
Pawel Zarembski 0:01f31e923fe2 172 #define MXC_F_UART_INTFL_RX_FIFO_NOT_EMPTY ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_FIFO_NOT_EMPTY_POS))
Pawel Zarembski 0:01f31e923fe2 173 #define MXC_F_UART_INTFL_RX_STALLED_POS 4
Pawel Zarembski 0:01f31e923fe2 174 #define MXC_F_UART_INTFL_RX_STALLED ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_STALLED_POS))
Pawel Zarembski 0:01f31e923fe2 175 #define MXC_F_UART_INTFL_RX_FIFO_AF_POS 5
Pawel Zarembski 0:01f31e923fe2 176 #define MXC_F_UART_INTFL_RX_FIFO_AF ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_FIFO_AF_POS))
Pawel Zarembski 0:01f31e923fe2 177 #define MXC_F_UART_INTFL_RX_FIFO_OVERFLOW_POS 6
Pawel Zarembski 0:01f31e923fe2 178 #define MXC_F_UART_INTFL_RX_FIFO_OVERFLOW ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_FIFO_OVERFLOW_POS))
Pawel Zarembski 0:01f31e923fe2 179 #define MXC_F_UART_INTFL_RX_FRAMING_ERR_POS 7
Pawel Zarembski 0:01f31e923fe2 180 #define MXC_F_UART_INTFL_RX_FRAMING_ERR ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_FRAMING_ERR_POS))
Pawel Zarembski 0:01f31e923fe2 181 #define MXC_F_UART_INTFL_RX_PARITY_ERR_POS 8
Pawel Zarembski 0:01f31e923fe2 182 #define MXC_F_UART_INTFL_RX_PARITY_ERR ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_PARITY_ERR_POS))
Pawel Zarembski 0:01f31e923fe2 183
Pawel Zarembski 0:01f31e923fe2 184 #define MXC_F_UART_INTEN_TX_DONE_POS 0
Pawel Zarembski 0:01f31e923fe2 185 #define MXC_F_UART_INTEN_TX_DONE ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_TX_DONE_POS))
Pawel Zarembski 0:01f31e923fe2 186 #define MXC_F_UART_INTEN_TX_UNSTALLED_POS 1
Pawel Zarembski 0:01f31e923fe2 187 #define MXC_F_UART_INTEN_TX_UNSTALLED ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_TX_UNSTALLED_POS))
Pawel Zarembski 0:01f31e923fe2 188 #define MXC_F_UART_INTEN_TX_FIFO_AE_POS 2
Pawel Zarembski 0:01f31e923fe2 189 #define MXC_F_UART_INTEN_TX_FIFO_AE ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_TX_FIFO_AE_POS))
Pawel Zarembski 0:01f31e923fe2 190 #define MXC_F_UART_INTEN_RX_FIFO_NOT_EMPTY_POS 3
Pawel Zarembski 0:01f31e923fe2 191 #define MXC_F_UART_INTEN_RX_FIFO_NOT_EMPTY ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_FIFO_NOT_EMPTY_POS))
Pawel Zarembski 0:01f31e923fe2 192 #define MXC_F_UART_INTEN_RX_STALLED_POS 4
Pawel Zarembski 0:01f31e923fe2 193 #define MXC_F_UART_INTEN_RX_STALLED ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_STALLED_POS))
Pawel Zarembski 0:01f31e923fe2 194 #define MXC_F_UART_INTEN_RX_FIFO_AF_POS 5
Pawel Zarembski 0:01f31e923fe2 195 #define MXC_F_UART_INTEN_RX_FIFO_AF ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_FIFO_AF_POS))
Pawel Zarembski 0:01f31e923fe2 196 #define MXC_F_UART_INTEN_RX_FIFO_OVERFLOW_POS 6
Pawel Zarembski 0:01f31e923fe2 197 #define MXC_F_UART_INTEN_RX_FIFO_OVERFLOW ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_FIFO_OVERFLOW_POS))
Pawel Zarembski 0:01f31e923fe2 198 #define MXC_F_UART_INTEN_RX_FRAMING_ERR_POS 7
Pawel Zarembski 0:01f31e923fe2 199 #define MXC_F_UART_INTEN_RX_FRAMING_ERR ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_FRAMING_ERR_POS))
Pawel Zarembski 0:01f31e923fe2 200 #define MXC_F_UART_INTEN_RX_PARITY_ERR_POS 8
Pawel Zarembski 0:01f31e923fe2 201 #define MXC_F_UART_INTEN_RX_PARITY_ERR ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_PARITY_ERR_POS))
Pawel Zarembski 0:01f31e923fe2 202
Pawel Zarembski 0:01f31e923fe2 203 #if (MXC_UART_REV > 0)
Pawel Zarembski 0:01f31e923fe2 204 #define MXC_F_UART_IDLE_TX_RX_IDLE_POS 0
Pawel Zarembski 0:01f31e923fe2 205 #define MXC_F_UART_IDLE_TX_RX_IDLE ((uint32_t)(0x00000001UL << MXC_F_UART_IDLE_TX_RX_IDLE_POS))
Pawel Zarembski 0:01f31e923fe2 206 #define MXC_F_UART_IDLE_TX_IDLE_POS 1
Pawel Zarembski 0:01f31e923fe2 207 #define MXC_F_UART_IDLE_TX_IDLE ((uint32_t)(0x00000001UL << MXC_F_UART_IDLE_TX_IDLE_POS))
Pawel Zarembski 0:01f31e923fe2 208 #define MXC_F_UART_IDLE_RX_IDLE_POS 2
Pawel Zarembski 0:01f31e923fe2 209 #define MXC_F_UART_IDLE_RX_IDLE ((uint32_t)(0x00000001UL << MXC_F_UART_IDLE_RX_IDLE_POS))
Pawel Zarembski 0:01f31e923fe2 210 #endif
Pawel Zarembski 0:01f31e923fe2 211
Pawel Zarembski 0:01f31e923fe2 212 /*
Pawel Zarembski 0:01f31e923fe2 213 Field values and shifted values for module UART.
Pawel Zarembski 0:01f31e923fe2 214 */
Pawel Zarembski 0:01f31e923fe2 215
Pawel Zarembski 0:01f31e923fe2 216 #define MXC_V_UART_CTRL_DATA_SIZE_5_BITS ((uint32_t)(0x00000000UL))
Pawel Zarembski 0:01f31e923fe2 217 #define MXC_V_UART_CTRL_DATA_SIZE_6_BITS ((uint32_t)(0x00000001UL))
Pawel Zarembski 0:01f31e923fe2 218 #define MXC_V_UART_CTRL_DATA_SIZE_7_BITS ((uint32_t)(0x00000002UL))
Pawel Zarembski 0:01f31e923fe2 219 #define MXC_V_UART_CTRL_DATA_SIZE_8_BITS ((uint32_t)(0x00000003UL))
Pawel Zarembski 0:01f31e923fe2 220
Pawel Zarembski 0:01f31e923fe2 221 #define MXC_S_UART_CTRL_DATA_SIZE_5_BITS ((uint32_t)(MXC_V_UART_CTRL_DATA_SIZE_5_BITS << MXC_F_UART_CTRL_DATA_SIZE_POS))
Pawel Zarembski 0:01f31e923fe2 222 #define MXC_S_UART_CTRL_DATA_SIZE_6_BITS ((uint32_t)(MXC_V_UART_CTRL_DATA_SIZE_6_BITS << MXC_F_UART_CTRL_DATA_SIZE_POS))
Pawel Zarembski 0:01f31e923fe2 223 #define MXC_S_UART_CTRL_DATA_SIZE_7_BITS ((uint32_t)(MXC_V_UART_CTRL_DATA_SIZE_7_BITS << MXC_F_UART_CTRL_DATA_SIZE_POS))
Pawel Zarembski 0:01f31e923fe2 224 #define MXC_S_UART_CTRL_DATA_SIZE_8_BITS ((uint32_t)(MXC_V_UART_CTRL_DATA_SIZE_8_BITS << MXC_F_UART_CTRL_DATA_SIZE_POS))
Pawel Zarembski 0:01f31e923fe2 225
Pawel Zarembski 0:01f31e923fe2 226 #define MXC_V_UART_CTRL_PARITY_DISABLE ((uint32_t)(0x00000000UL))
Pawel Zarembski 0:01f31e923fe2 227 #define MXC_V_UART_CTRL_PARITY_ODD ((uint32_t)(0x00000001UL))
Pawel Zarembski 0:01f31e923fe2 228 #define MXC_V_UART_CTRL_PARITY_EVEN ((uint32_t)(0x00000002UL))
Pawel Zarembski 0:01f31e923fe2 229 #define MXC_V_UART_CTRL_PARITY_MARK ((uint32_t)(0x00000003UL))
Pawel Zarembski 0:01f31e923fe2 230
Pawel Zarembski 0:01f31e923fe2 231 #define MXC_S_UART_CTRL_PARITY_DISABLE ((uint32_t)(MXC_V_UART_CTRL_PARITY_DISABLE << MXC_F_UART_CTRL_PARITY_POS))
Pawel Zarembski 0:01f31e923fe2 232 #define MXC_S_UART_CTRL_PARITY_ODD ((uint32_t)(MXC_V_UART_CTRL_PARITY_ODD << MXC_F_UART_CTRL_PARITY_POS))
Pawel Zarembski 0:01f31e923fe2 233 #define MXC_S_UART_CTRL_PARITY_EVEN ((uint32_t)(MXC_V_UART_CTRL_PARITY_EVEN << MXC_F_UART_CTRL_PARITY_POS))
Pawel Zarembski 0:01f31e923fe2 234 #define MXC_S_UART_CTRL_PARITY_MARK ((uint32_t)(MXC_V_UART_CTRL_PARITY_MARK << MXC_F_UART_CTRL_PARITY_POS))
Pawel Zarembski 0:01f31e923fe2 235
Pawel Zarembski 0:01f31e923fe2 236
Pawel Zarembski 0:01f31e923fe2 237
Pawel Zarembski 0:01f31e923fe2 238 #ifdef __cplusplus
Pawel Zarembski 0:01f31e923fe2 239 }
Pawel Zarembski 0:01f31e923fe2 240 #endif
Pawel Zarembski 0:01f31e923fe2 241
Pawel Zarembski 0:01f31e923fe2 242 #endif /* _MXC_UART_REGS_H_ */