mbed library sources

Dependents:   Encrypted my_mbed lklk CyaSSL_DTLS_Cellular ... more

Superseded

This library was superseded by mbed-dev - https://os.mbed.com/users/mbed_official/code/mbed-dev/.

Development branch of the mbed library sources. This library is kept in synch with the latest changes from the mbed SDK and it is not guaranteed to work.

If you are looking for a stable and tested release, please import one of the official mbed library releases:

Import librarymbed

The official Mbed 2 C/C++ SDK provides the software platform and libraries to build your applications.

Committer:
mbed_official
Date:
Fri Jul 31 14:15:09 2015 +0100
Revision:
600:7d17ca308cd1
Parent:
507:d4fc7603a669
Synchronized with git revision e4cd8bbd3e05b68e5a7f466c74035a85743d45e0

Full URL: https://github.com/mbedmicro/mbed/commit/e4cd8bbd3e05b68e5a7f466c74035a85743d45e0/

Enable LPC8xx usart when configuring it

Who changed what in which revision?

UserRevisionLine numberNew contents of line
mbed_official 507:d4fc7603a669 1 /*******************************************************************************
mbed_official 507:d4fc7603a669 2 * Copyright (C) 2015 Maxim Integrated Products, Inc., All Rights Reserved.
mbed_official 507:d4fc7603a669 3 *
mbed_official 507:d4fc7603a669 4 * Permission is hereby granted, free of charge, to any person obtaining a
mbed_official 507:d4fc7603a669 5 * copy of this software and associated documentation files (the "Software"),
mbed_official 507:d4fc7603a669 6 * to deal in the Software without restriction, including without limitation
mbed_official 507:d4fc7603a669 7 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
mbed_official 507:d4fc7603a669 8 * and/or sell copies of the Software, and to permit persons to whom the
mbed_official 507:d4fc7603a669 9 * Software is furnished to do so, subject to the following conditions:
mbed_official 507:d4fc7603a669 10 *
mbed_official 507:d4fc7603a669 11 * The above copyright notice and this permission notice shall be included
mbed_official 507:d4fc7603a669 12 * in all copies or substantial portions of the Software.
mbed_official 507:d4fc7603a669 13 *
mbed_official 507:d4fc7603a669 14 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
mbed_official 507:d4fc7603a669 15 * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
mbed_official 507:d4fc7603a669 16 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
mbed_official 507:d4fc7603a669 17 * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES
mbed_official 507:d4fc7603a669 18 * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
mbed_official 507:d4fc7603a669 19 * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
mbed_official 507:d4fc7603a669 20 * OTHER DEALINGS IN THE SOFTWARE.
mbed_official 507:d4fc7603a669 21 *
mbed_official 507:d4fc7603a669 22 * Except as contained in this notice, the name of Maxim Integrated
mbed_official 507:d4fc7603a669 23 * Products, Inc. shall not be used except as stated in the Maxim Integrated
mbed_official 507:d4fc7603a669 24 * Products, Inc. Branding Policy.
mbed_official 507:d4fc7603a669 25 *
mbed_official 507:d4fc7603a669 26 * The mere transfer of this software does not imply any licenses
mbed_official 507:d4fc7603a669 27 * of trade secrets, proprietary technology, copyrights, patents,
mbed_official 507:d4fc7603a669 28 * trademarks, maskwork rights, or any other form of intellectual
mbed_official 507:d4fc7603a669 29 * property whatsoever. Maxim Integrated Products, Inc. retains all
mbed_official 507:d4fc7603a669 30 * ownership rights.
mbed_official 507:d4fc7603a669 31 *******************************************************************************
mbed_official 507:d4fc7603a669 32 */
mbed_official 507:d4fc7603a669 33
mbed_official 507:d4fc7603a669 34 #ifndef _MXC_UART_REGS_H_
mbed_official 507:d4fc7603a669 35 #define _MXC_UART_REGS_H_
mbed_official 507:d4fc7603a669 36
mbed_official 507:d4fc7603a669 37 #ifdef __cplusplus
mbed_official 507:d4fc7603a669 38 extern "C" {
mbed_official 507:d4fc7603a669 39 #endif
mbed_official 507:d4fc7603a669 40
mbed_official 507:d4fc7603a669 41 #include <stdint.h>
mbed_official 507:d4fc7603a669 42
mbed_official 507:d4fc7603a669 43 /**
mbed_official 507:d4fc7603a669 44 * @file uart_regs.h
mbed_official 507:d4fc7603a669 45 * @addtogroup uart UART
mbed_official 507:d4fc7603a669 46 * @{
mbed_official 507:d4fc7603a669 47 */
mbed_official 507:d4fc7603a669 48
mbed_official 507:d4fc7603a669 49 /* Offset Register Description
mbed_official 507:d4fc7603a669 50 ====== ============================================== */
mbed_official 507:d4fc7603a669 51 typedef struct {
mbed_official 507:d4fc7603a669 52 __IO uint32_t ctrl; /* 0x0000 UART Control Register */
mbed_official 507:d4fc7603a669 53 __IO uint32_t status; /* 0x0004 UART Status Register */
mbed_official 507:d4fc7603a669 54 __IO uint32_t inten; /* 0x0008 Interrupt Enable/Disable Controls */
mbed_official 507:d4fc7603a669 55 __IO uint32_t intfl; /* 0x000C Interrupt Flags */
mbed_official 507:d4fc7603a669 56 __IO uint32_t baud_int; /* 0x0010 Baud Rate Setting (Integer Portion) */
mbed_official 507:d4fc7603a669 57 __IO uint32_t baud_div_128; /* 0x0014 Baud Rate Setting */
mbed_official 507:d4fc7603a669 58 __IO uint32_t tx_fifo_out; /* 0x0018 TX FIFO Output End (read-only) */
mbed_official 507:d4fc7603a669 59 __IO uint32_t hw_flow_ctrl; /* 0x001C Hardware Flow Control Register */
mbed_official 507:d4fc7603a669 60 __IO uint32_t tx_rx_fifo; /* 0x0020 Write to load TX FIFO, Read to unload RX FIFO */
mbed_official 507:d4fc7603a669 61 } mxc_uart_regs_t;
mbed_official 507:d4fc7603a669 62
mbed_official 507:d4fc7603a669 63
mbed_official 507:d4fc7603a669 64 /*
mbed_official 507:d4fc7603a669 65 Register offsets for module UART.
mbed_official 507:d4fc7603a669 66 */
mbed_official 507:d4fc7603a669 67 #define MXC_R_UART_OFFS_CTRL ((uint32_t)0x00000000UL)
mbed_official 507:d4fc7603a669 68 #define MXC_R_UART_OFFS_STATUS ((uint32_t)0x00000004UL)
mbed_official 507:d4fc7603a669 69 #define MXC_R_UART_OFFS_INTEN ((uint32_t)0x00000008UL)
mbed_official 507:d4fc7603a669 70 #define MXC_R_UART_OFFS_INTFL ((uint32_t)0x0000000CUL)
mbed_official 507:d4fc7603a669 71 #define MXC_R_UART_OFFS_BAUD_INT ((uint32_t)0x00000010UL)
mbed_official 507:d4fc7603a669 72 #define MXC_R_UART_OFFS_BAUD_DIV_128 ((uint32_t)0x00000014UL)
mbed_official 507:d4fc7603a669 73 #define MXC_R_UART_OFFS_TX_FIFO_OUT ((uint32_t)0x00000018UL)
mbed_official 507:d4fc7603a669 74 #define MXC_R_UART_OFFS_HW_FLOW_CTRL ((uint32_t)0x0000001CUL)
mbed_official 507:d4fc7603a669 75 #define MXC_R_UART_OFFS_TX_RX_FIFO ((uint32_t)0x00000020UL)
mbed_official 507:d4fc7603a669 76
mbed_official 507:d4fc7603a669 77 /*
mbed_official 507:d4fc7603a669 78 Field positions and masks for module UART.
mbed_official 507:d4fc7603a669 79 */
mbed_official 507:d4fc7603a669 80 #define MXC_F_UART_CTRL_RX_THRESHOLD_POS 0
mbed_official 507:d4fc7603a669 81 #define MXC_F_UART_CTRL_RX_THRESHOLD ((uint32_t)(0x00000007UL << MXC_F_UART_CTRL_RX_THRESHOLD_POS))
mbed_official 507:d4fc7603a669 82 #define MXC_F_UART_CTRL_PARITY_ENABLE_POS 4
mbed_official 507:d4fc7603a669 83 #define MXC_F_UART_CTRL_PARITY_ENABLE ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_PARITY_ENABLE_POS))
mbed_official 507:d4fc7603a669 84 #define MXC_F_UART_CTRL_PARITY_MODE_POS 5
mbed_official 507:d4fc7603a669 85 #define MXC_F_UART_CTRL_PARITY_MODE ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_PARITY_MODE_POS))
mbed_official 507:d4fc7603a669 86 #define MXC_F_UART_CTRL_PARITY_BIAS_POS 6
mbed_official 507:d4fc7603a669 87 #define MXC_F_UART_CTRL_PARITY_BIAS ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_PARITY_BIAS_POS))
mbed_official 507:d4fc7603a669 88 #define MXC_F_UART_CTRL_TX_FIFO_FLUSH_POS 8
mbed_official 507:d4fc7603a669 89 #define MXC_F_UART_CTRL_TX_FIFO_FLUSH ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_TX_FIFO_FLUSH_POS))
mbed_official 507:d4fc7603a669 90 #define MXC_F_UART_CTRL_RX_FIFO_FLUSH_POS 9
mbed_official 507:d4fc7603a669 91 #define MXC_F_UART_CTRL_RX_FIFO_FLUSH ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_RX_FIFO_FLUSH_POS))
mbed_official 507:d4fc7603a669 92 #define MXC_F_UART_CTRL_CHAR_LENGTH_POS 10
mbed_official 507:d4fc7603a669 93 #define MXC_F_UART_CTRL_CHAR_LENGTH ((uint32_t)(0x00000003UL << MXC_F_UART_CTRL_CHAR_LENGTH_POS))
mbed_official 507:d4fc7603a669 94 #define MXC_F_UART_CTRL_STOP_BIT_MODE_POS 12
mbed_official 507:d4fc7603a669 95 #define MXC_F_UART_CTRL_STOP_BIT_MODE ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_STOP_BIT_MODE_POS))
mbed_official 507:d4fc7603a669 96 #define MXC_F_UART_CTRL_HW_FLOW_CTRL_EN_POS 13
mbed_official 507:d4fc7603a669 97 #define MXC_F_UART_CTRL_HW_FLOW_CTRL_EN ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_HW_FLOW_CTRL_EN_POS))
mbed_official 507:d4fc7603a669 98 #define MXC_F_UART_CTRL_BAUD_CLK_EN_POS 14
mbed_official 507:d4fc7603a669 99 #define MXC_F_UART_CTRL_BAUD_CLK_EN ((uint32_t)(0x00000001UL << MXC_F_UART_CTRL_BAUD_CLK_EN_POS))
mbed_official 507:d4fc7603a669 100
mbed_official 507:d4fc7603a669 101 #define MXC_F_UART_STATUS_TX_BUSY_POS 0
mbed_official 507:d4fc7603a669 102 #define MXC_F_UART_STATUS_TX_BUSY ((uint32_t)(0x00000001UL << MXC_F_UART_STATUS_TX_BUSY_POS))
mbed_official 507:d4fc7603a669 103 #define MXC_F_UART_STATUS_RX_BUSY_POS 1
mbed_official 507:d4fc7603a669 104 #define MXC_F_UART_STATUS_RX_BUSY ((uint32_t)(0x00000001UL << MXC_F_UART_STATUS_RX_BUSY_POS))
mbed_official 507:d4fc7603a669 105 #define MXC_F_UART_STATUS_RX_FIFO_EMPTY_POS 4
mbed_official 507:d4fc7603a669 106 #define MXC_F_UART_STATUS_RX_FIFO_EMPTY ((uint32_t)(0x00000001UL << MXC_F_UART_STATUS_RX_FIFO_EMPTY_POS))
mbed_official 507:d4fc7603a669 107 #define MXC_F_UART_STATUS_RX_FIFO_FULL_POS 5
mbed_official 507:d4fc7603a669 108 #define MXC_F_UART_STATUS_RX_FIFO_FULL ((uint32_t)(0x00000001UL << MXC_F_UART_STATUS_RX_FIFO_FULL_POS))
mbed_official 507:d4fc7603a669 109 #define MXC_F_UART_STATUS_TX_FIFO_EMPTY_POS 6
mbed_official 507:d4fc7603a669 110 #define MXC_F_UART_STATUS_TX_FIFO_EMPTY ((uint32_t)(0x00000001UL << MXC_F_UART_STATUS_TX_FIFO_EMPTY_POS))
mbed_official 507:d4fc7603a669 111 #define MXC_F_UART_STATUS_TX_FIFO_FULL_POS 7
mbed_official 507:d4fc7603a669 112 #define MXC_F_UART_STATUS_TX_FIFO_FULL ((uint32_t)(0x00000001UL << MXC_F_UART_STATUS_TX_FIFO_FULL_POS))
mbed_official 507:d4fc7603a669 113 #define MXC_F_UART_STATUS_RX_FIFO_CHARS_POS 8
mbed_official 507:d4fc7603a669 114 #define MXC_F_UART_STATUS_RX_FIFO_CHARS ((uint32_t)(0x0000000FUL << MXC_F_UART_STATUS_RX_FIFO_CHARS_POS))
mbed_official 507:d4fc7603a669 115 #define MXC_F_UART_STATUS_TX_FIFO_CHARS_POS 12
mbed_official 507:d4fc7603a669 116 #define MXC_F_UART_STATUS_TX_FIFO_CHARS ((uint32_t)(0x0000000FUL << MXC_F_UART_STATUS_TX_FIFO_CHARS_POS))
mbed_official 507:d4fc7603a669 117
mbed_official 507:d4fc7603a669 118 #define MXC_F_UART_INTEN_RX_FRAME_ERROR_POS 0
mbed_official 507:d4fc7603a669 119 #define MXC_F_UART_INTEN_RX_FRAME_ERROR ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_FRAME_ERROR_POS))
mbed_official 507:d4fc7603a669 120 #define MXC_F_UART_INTEN_RX_PARITY_ERROR_POS 1
mbed_official 507:d4fc7603a669 121 #define MXC_F_UART_INTEN_RX_PARITY_ERROR ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_PARITY_ERROR_POS))
mbed_official 507:d4fc7603a669 122 #define MXC_F_UART_INTEN_CTS_CHANGE_POS 2
mbed_official 507:d4fc7603a669 123 #define MXC_F_UART_INTEN_CTS_CHANGE ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_CTS_CHANGE_POS))
mbed_official 507:d4fc7603a669 124 #define MXC_F_UART_INTEN_RX_OVERRUN_POS 3
mbed_official 507:d4fc7603a669 125 #define MXC_F_UART_INTEN_RX_OVERRUN ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_OVERRUN_POS))
mbed_official 507:d4fc7603a669 126 #define MXC_F_UART_INTEN_RX_OVER_THRESHOLD_POS 4
mbed_official 507:d4fc7603a669 127 #define MXC_F_UART_INTEN_RX_OVER_THRESHOLD ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_RX_OVER_THRESHOLD_POS))
mbed_official 507:d4fc7603a669 128 #define MXC_F_UART_INTEN_TX_ALMOST_EMPTY_POS 5
mbed_official 507:d4fc7603a669 129 #define MXC_F_UART_INTEN_TX_ALMOST_EMPTY ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_TX_ALMOST_EMPTY_POS))
mbed_official 507:d4fc7603a669 130 #define MXC_F_UART_INTEN_TX_HALF_EMPTY_POS 6
mbed_official 507:d4fc7603a669 131 #define MXC_F_UART_INTEN_TX_HALF_EMPTY ((uint32_t)(0x00000001UL << MXC_F_UART_INTEN_TX_HALF_EMPTY_POS))
mbed_official 507:d4fc7603a669 132
mbed_official 507:d4fc7603a669 133 #define MXC_F_UART_INTFL_RX_FRAME_ERROR_POS 0
mbed_official 507:d4fc7603a669 134 #define MXC_F_UART_INTFL_RX_FRAME_ERROR ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_FRAME_ERROR_POS))
mbed_official 507:d4fc7603a669 135 #define MXC_F_UART_INTFL_RX_PARITY_ERROR_POS 1
mbed_official 507:d4fc7603a669 136 #define MXC_F_UART_INTFL_RX_PARITY_ERROR ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_PARITY_ERROR_POS))
mbed_official 507:d4fc7603a669 137 #define MXC_F_UART_INTFL_CTS_CHANGE_POS 2
mbed_official 507:d4fc7603a669 138 #define MXC_F_UART_INTFL_CTS_CHANGE ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_CTS_CHANGE_POS))
mbed_official 507:d4fc7603a669 139 #define MXC_F_UART_INTFL_RX_OVERRUN_POS 3
mbed_official 507:d4fc7603a669 140 #define MXC_F_UART_INTFL_RX_OVERRUN ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_OVERRUN_POS))
mbed_official 507:d4fc7603a669 141 #define MXC_F_UART_INTFL_RX_OVER_THRESHOLD_POS 4
mbed_official 507:d4fc7603a669 142 #define MXC_F_UART_INTFL_RX_OVER_THRESHOLD ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_RX_OVER_THRESHOLD_POS))
mbed_official 507:d4fc7603a669 143 #define MXC_F_UART_INTFL_TX_ALMOST_EMPTY_POS 5
mbed_official 507:d4fc7603a669 144 #define MXC_F_UART_INTFL_TX_ALMOST_EMPTY ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_TX_ALMOST_EMPTY_POS))
mbed_official 507:d4fc7603a669 145 #define MXC_F_UART_INTFL_TX_HALF_EMPTY_POS 6
mbed_official 507:d4fc7603a669 146 #define MXC_F_UART_INTFL_TX_HALF_EMPTY ((uint32_t)(0x00000001UL << MXC_F_UART_INTFL_TX_HALF_EMPTY_POS))
mbed_official 507:d4fc7603a669 147
mbed_official 507:d4fc7603a669 148 #define MXC_F_UART_BAUD_INT_FBAUD_POS 0
mbed_official 507:d4fc7603a669 149 #define MXC_F_UART_BAUD_INT_FBAUD ((uint32_t)(0x00000FFFUL << MXC_F_UART_BAUD_INT_FBAUD_POS))
mbed_official 507:d4fc7603a669 150
mbed_official 507:d4fc7603a669 151 #define MXC_F_UART_BAUD_DIV_128_DIV_POS 0
mbed_official 507:d4fc7603a669 152 #define MXC_F_UART_BAUD_DIV_128_DIV ((uint32_t)(0x0000007FUL << MXC_F_UART_BAUD_DIV_128_DIV_POS))
mbed_official 507:d4fc7603a669 153
mbed_official 507:d4fc7603a669 154 #define MXC_F_UART_TX_FIFO_OUT_TX_FIFO_POS 0
mbed_official 507:d4fc7603a669 155 #define MXC_F_UART_TX_FIFO_OUT_TX_FIFO ((uint32_t)(0x000000FFUL << MXC_F_UART_TX_FIFO_OUT_TX_FIFO_POS))
mbed_official 507:d4fc7603a669 156
mbed_official 507:d4fc7603a669 157 #define MXC_F_UART_HW_FLOW_CTRL_CTS_INPUT_POS 0
mbed_official 507:d4fc7603a669 158 #define MXC_F_UART_HW_FLOW_CTRL_CTS_INPUT ((uint32_t)(0x00000001UL << MXC_F_UART_HW_FLOW_CTRL_CTS_INPUT_POS))
mbed_official 507:d4fc7603a669 159 #define MXC_F_UART_HW_FLOW_CTRL_RTS_OUTPUT_POS 1
mbed_official 507:d4fc7603a669 160 #define MXC_F_UART_HW_FLOW_CTRL_RTS_OUTPUT ((uint32_t)(0x00000001UL << MXC_F_UART_HW_FLOW_CTRL_RTS_OUTPUT_POS))
mbed_official 507:d4fc7603a669 161
mbed_official 507:d4fc7603a669 162 #define MXC_F_UART_TX_RX_FIFO_FIFO_DATA_POS 0
mbed_official 507:d4fc7603a669 163 #define MXC_F_UART_TX_RX_FIFO_FIFO_DATA ((uint32_t)(0x000000FFUL << MXC_F_UART_TX_RX_FIFO_FIFO_DATA_POS))
mbed_official 507:d4fc7603a669 164 #define MXC_F_UART_TX_RX_FIFO_PARITY_ERROR_POS 8
mbed_official 507:d4fc7603a669 165 #define MXC_F_UART_TX_RX_FIFO_PARITY_ERROR ((uint32_t)(0x00000001UL << MXC_F_UART_TX_RX_FIFO_PARITY_ERROR_POS))
mbed_official 507:d4fc7603a669 166
mbed_official 507:d4fc7603a669 167 #ifdef __cplusplus
mbed_official 507:d4fc7603a669 168 }
mbed_official 507:d4fc7603a669 169 #endif
mbed_official 507:d4fc7603a669 170
mbed_official 507:d4fc7603a669 171 /**
mbed_official 507:d4fc7603a669 172 * @}
mbed_official 507:d4fc7603a669 173 */
mbed_official 507:d4fc7603a669 174
mbed_official 507:d4fc7603a669 175 #endif /* _MXC_UART_REGS_H_ */