aboutsummaryrefslogtreecommitdiff
path: root/platform/lpc43xx/include/platform/lpc43xx-uart.h
diff options
context:
space:
mode:
Diffstat (limited to 'platform/lpc43xx/include/platform/lpc43xx-uart.h')
-rw-r--r--platform/lpc43xx/include/platform/lpc43xx-uart.h113
1 files changed, 0 insertions, 113 deletions
diff --git a/platform/lpc43xx/include/platform/lpc43xx-uart.h b/platform/lpc43xx/include/platform/lpc43xx-uart.h
deleted file mode 100644
index 26a7ea10..00000000
--- a/platform/lpc43xx/include/platform/lpc43xx-uart.h
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 2015 Brian Swetland
- *
- * Permission is hereby granted, free of charge, to any person obtaining
- * a copy of this software and associated documentation files
- * (the "Software"), to deal in the Software without restriction,
- * including without limitation the rights to use, copy, modify, merge,
- * publish, distribute, sublicense, and/or sell copies of the Software,
- * and to permit persons to whom the Software is furnished to do so,
- * subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be
- * included in all copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
- * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
- * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
- * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
- * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
- * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
- * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#pragma once
-
-#define UART0_BASE 0x40081000
-#define UART1_BASE 0x40082000
-#define UART2_BASE 0x400C1000
-#define UART3_BASE 0x400C2000
-
-#define REG_RBR 0x00 // RO Recv Buffer (DLAB==0)
-#define REG_THR 0x00 // WO Xmit Holding (DLAB==0)
-#define REG_IER 0x04 // RW Interrupt Enable (DLAB==0)
-#define REG_DLL 0x00 // RW Divisor Latch LSB (DLAB==1)
-#define REG_DLM 0x04 // RW Divisor Latch MSB (DLAB==1)
-#define REG_IIR 0x08 // RO Interrupt ID
-#define REG_FCR 0x08 // WO Fifo Control
-#define REG_LCR 0x0C // RW Line Control
-#define REG_MCR 0x10 // RW Modem Control (UART1 only)
-#define REG_LSR 0x14 // RO Line Status
-#define REG_MSR 0x18 // RO Modem Status (UART1 only)
-#define REG_SCR 0x1C // RW Scratcpad (no hw use)
-#define REG_ACR 0x20 // RW Auto-baud Control
-#define REG_ICR 0x24 // RW IrDA Control
-#define REG_FDR 0x28 // RW Fractional Divider
-#define REG_OSR 0x2C // RW Oversampling (REG0/2/3 only)
-
-#define IER_RBRIE (1 << 0) // enable receive data avail
-#define IER_THREIE (1 << 1) // enable THRE irq
-#define IER_RXIE (1 << 2) // enable RX Line Status IRQs
-
-#define IIR_INTSTATUS (1 << 0) // 0=IRQ Pending
-#define IIR_INTID_MASK (3 << 1)
-#define IIR_INTID_RLS (3 << 1) // Receive Line Status
- // Cleared on LSR Read
-#define IIR_INTID_RDA (2 << 1) // Receive Data Available
- // Cleared when FIFO < trigger level
-#define IIR_INTID_CTI (6 << 1) // Character Timeout
- // data in FIFO, and 3.5-4.5 char times idle
-#define IIR_INTID_THRE (1 << 1) // Transmit Holding Register Empty
-#define IIR_INTID_NONE (0 << 1)
-
-#define FCR_FIFOEN (1 << 0) // enable FIFO
-#define FCR_RXFIFORES (1 << 1) // RX FIFO reset
-#define FCR_TXFIFORES (1 << 2) // TX FIFO reset
-#define FCR_DMAMODE (1 << 3) // select DMA mode
-#define FCR_RX_TRIG_1 (0 << 6) // RX Trigger at 1 byte
-#define FCR_RX_TRIG_4 (1 << 6) // RX Trigger at 4 bytes
-#define FCR_RX_TRIG_8 (2 << 6) // RX Trigger at 8 bytes
-#define FCR_RX_TRIG_14 (3 << 6) // RX Trigger at 14 bytes
-
-#define LCR_WLS_5 (0 << 0) // 5bit character
-#define LCR_WLS_6 (1 << 0) // 6bit character
-#define LCR_WLS_7 (2 << 0) // 7bit character
-#define LCR_WLS_8 (3 << 0) // 8bit character
-#define LCR_SBS_1 (0 << 2) // 1 stop bit
-#define LCR_SBS_2 (1 << 2) // 2 stop bits
-#define LCR_PE (1 << 3) // parity enable
-#define LCR_PS_ODD (0 << 4) // odd parity
-#define LCR_PS_EVEN (1 << 4) // even parity
-#define LCR_PS_HIGH (2 << 4) // always-1 parity
-#define LCR_PS_LOW (3 << 4) // always-0 parity
-#define LCR_BC (1 << 6) // enable break transmission
-#define LCR_DLAB (1 << 7) // enable access to divisor latches
-
-#define LSR_RDR (1 << 0) // receiver data ready
-#define LSR_OE (1 << 1) // overrun error (fifo was full, character lost)
-#define LSR_PE (1 << 2) // parity error (top of fifo)
-#define LSR_FE (1 << 3) // framing error (top of fifo)
-#define LSR_BI (1 << 4) // break interrupt
-#define LSR_THRE (1 << 5) // transmit holding register empty
-#define LSR_TEMT (1 << 6) // transmitter empty
-#define LSR_RXFE (1 << 7) // error in RX FIFO
-#define LSR_TXERR (1 << 8) // NACK received in smart card mode
-
-#define FDR_DIVADDVAL(n) ((n) & 0xF)
-#define FDR_MULVAL(n) (((n) & 0xF) << 4)
-
-// baud rate selection:
-//
-// PCLK / ( 16 * ( 256 * DLM + DLL ) * ( 1 + ( DivAddVal / MulVal ) )
-//
-// 1 <= MulVal <= 15 DivAddVal == 0 -> Disables Frac Divider
-// 0 <= DivAddVal <= 14
-// DivAddVal < MulVal
-
-
-#define OSR_OSFRAC(n) (((n) & 0x3) << 1) // fractional part
-#define OSR_OSINT(n) (((n) & 0xF) << 4) // integer part - 1
-
-// oversampling rate = OsInt + 1 + ( 1/8 * OsFrac) (default is 16)
-
-