summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2010-10-14 06:52:46 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2010-10-14 06:52:46 +0000
commitd267a8a0b0f6fdd90554b36037b38206f1c13d30 (patch)
treec9cdd4bd3c647b8baf617c3f6fb7cbf0fb3c719a /c
parent2010-10-11 Chris Johns <chrisj@rtems.org> (diff)
downloadrtems-d267a8a0b0f6fdd90554b36037b38206f1c13d30.tar.bz2
2010-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
* misc/system-clocks.c: Fixed lpc24xx_micro_seconds_delay().
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/ChangeLog4
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/misc/io.c10
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/misc/system-clocks.c8
3 files changed, 17 insertions, 5 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/ChangeLog b/c/src/lib/libbsp/arm/lpc24xx/ChangeLog
index 52ddba6c55..d63d8e35bf 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/ChangeLog
+++ b/c/src/lib/libbsp/arm/lpc24xx/ChangeLog
@@ -1,3 +1,7 @@
+2010-10-14 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * misc/system-clocks.c: Fixed lpc24xx_micro_seconds_delay().
+
2010-06-23 Sebastian Huber <sebastian.huber@embedded-brains.de>
* make/custom/lpc23xx_tli800.cfg, startup/linkcmds.lpc23xx_tli800: New
diff --git a/c/src/lib/libbsp/arm/lpc24xx/misc/io.c b/c/src/lib/libbsp/arm/lpc24xx/misc/io.c
index 877131fa77..7d2198d4cd 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/misc/io.c
+++ b/c/src/lib/libbsp/arm/lpc24xx/misc/io.c
@@ -7,7 +7,7 @@
*/
/*
- * Copyright (c) 2009
+ * Copyright (c) 2009, 2010
* embedded brains GmbH
* Obere Lagerstr. 30
* D-82178 Puchheim
@@ -110,6 +110,14 @@ static const lpc24xx_io_entry lpc24xx_io_config_table [] = {
/* PWM */
LPC24XX_IO_ENTRY(LPC24XX_MODULE_PWM_1, 0, 2, 0, 2, 0, LPC24XX_IO_ALTERNATE_0),
+ /* LCD */
+ LPC24XX_IO_ENTRY(LPC24XX_MODULE_LCD, 0, 0, 4, 0, 9, LPC24XX_IO_ALTERNATE_0),
+ LPC24XX_IO_ENTRY(LPC24XX_MODULE_LCD, 0, 1, 20, 1, 29, LPC24XX_IO_ALTERNATE_0),
+ LPC24XX_IO_ENTRY(LPC24XX_MODULE_LCD, 0, 2, 0, 2, 3, LPC24XX_IO_ALTERNATE_2),
+ LPC24XX_IO_ENTRY(LPC24XX_MODULE_LCD, 0, 2, 5, 2, 9, LPC24XX_IO_ALTERNATE_2),
+ LPC24XX_IO_ENTRY(LPC24XX_MODULE_LCD, 0, 2, 12, 2, 13, LPC24XX_IO_ALTERNATE_0),
+ LPC24XX_IO_ENTRY(LPC24XX_MODULE_LCD, 0, 4, 28, 4, 29, LPC24XX_IO_ALTERNATE_1),
+
/* Terminate */
LPC24XX_IO_ENTRY(LPC24XX_MODULE_COUNT, 0, 0, 0, 0, 0, 0)
};
diff --git a/c/src/lib/libbsp/arm/lpc24xx/misc/system-clocks.c b/c/src/lib/libbsp/arm/lpc24xx/misc/system-clocks.c
index e5d9fc5585..00648ec4a6 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/misc/system-clocks.c
+++ b/c/src/lib/libbsp/arm/lpc24xx/misc/system-clocks.c
@@ -63,12 +63,12 @@ void lpc24xx_timer_initialize(void)
void lpc24xx_micro_seconds_delay(unsigned us)
{
unsigned start = lpc24xx_timer();
- unsigned end = start + us * (lpc24xx_cclk() / 1000000);
- unsigned now = 0;
+ unsigned delay = us * (lpc24xx_cclk() / 1000000);
+ unsigned elapsed = 0;
do {
- now = lpc24xx_timer();
- } while (now < end);
+ elapsed = lpc24xx_timer() - start;
+ } while (elapsed <= delay);
}
unsigned lpc24xx_pllclk(void)