aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorgdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-02-18 20:02:09 +0000
committergdisirio <gdisirio@35acf78f-673a-0410-8e92-d51de3d6d3f4>2010-02-18 20:02:09 +0000
commitaa71eb0989f940cd0c7b70f6a380239d4c07dc74 (patch)
tree34be7f956bc46c330a253bebc28d975f05b42035
parent439038efb498c73ad9313e58586a923cb3faef21 (diff)
downloadChibiOS-aa71eb0989f940cd0c7b70f6a380239d4c07dc74.tar.gz
ChibiOS-aa71eb0989f940cd0c7b70f6a380239d4c07dc74.tar.bz2
ChibiOS-aa71eb0989f940cd0c7b70f6a380239d4c07dc74.zip
Fixed bugs 2953981 and 2953985.
git-svn-id: svn://svn.code.sf.net/p/chibios/svn/trunk@1634 35acf78f-673a-0410-8e92-d51de3d6d3f4
-rw-r--r--os/hal/platforms/LPC214x/lpc214x.h1
-rw-r--r--os/hal/platforms/LPC214x/serial_lld.c3
-rw-r--r--readme.txt4
3 files changed, 7 insertions, 1 deletions
diff --git a/os/hal/platforms/LPC214x/lpc214x.h b/os/hal/platforms/LPC214x/lpc214x.h
index 88e8d8ae1..9a3238c79 100644
--- a/os/hal/platforms/LPC214x/lpc214x.h
+++ b/os/hal/platforms/LPC214x/lpc214x.h
@@ -113,6 +113,7 @@ typedef struct {
typedef struct {
IOREG32 PS_SEL0;
IOREG32 PS_SEL1;
+ IOREG32 _dummy[3];
IOREG32 PS_SEL2;
} PS;
diff --git a/os/hal/platforms/LPC214x/serial_lld.c b/os/hal/platforms/LPC214x/serial_lld.c
index 5f01bcf48..4f5d671b4 100644
--- a/os/hal/platforms/LPC214x/serial_lld.c
+++ b/os/hal/platforms/LPC214x/serial_lld.c
@@ -85,12 +85,13 @@ static void uart_init(SerialDriver *sdp) {
*/
static void uart_deinit(UART *u) {
+ u->UART_LCR = LCR_DLAB;
u->UART_DLL = 1;
u->UART_DLM = 0;
+ u->UART_LCR = 0;
u->UART_FDR = 0x10;
u->UART_IER = 0;
u->UART_FCR = FCR_RXRESET | FCR_TXRESET;
- u->UART_LCR = 0;
u->UART_ACR = 0;
u->UART_TER = TER_ENABLE;
}
diff --git a/readme.txt b/readme.txt
index e4331ccf9..07bf131cc 100644
--- a/readme.txt
+++ b/readme.txt
@@ -52,6 +52,10 @@
*****************************************************************************
*** 1.5.2 ***
+- FIX: Fixed wrong UART deinitialization sequence in LPC214x serial driver
+ (bug 2953985)(backported in 1.4.1).
+- FIX: Fixed wrong PINSEL2 offset into lpc214x.h (bug 2953981)(backported
+ in 1.4.1).
- FIX: Fixed invalid UART-related macro in the LPC214x HAL (bug 2953195)
(backported in 1.4.1).
- FIX: Impossible to enforce alignment greater of a pointer size for heap/core