summaryrefslogtreecommitdiffstats
path: root/c
diff options
context:
space:
mode:
authorSebastian Huber <sebastian.huber@embedded-brains.de>2011-07-21 15:32:08 +0000
committerSebastian Huber <sebastian.huber@embedded-brains.de>2011-07-21 15:32:08 +0000
commitacb692d37b7f18e9fd0381446092c6286deb351e (patch)
tree3e50df2a37d91c39e13485a256fcb75ddaac5169 /c
parent2011-07-21 Sebastian Huber <sebastian.huber@embedded-brains.de> (diff)
downloadrtems-acb692d37b7f18e9fd0381446092c6286deb351e.tar.bz2
2011-07-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
* include/lpc24xx.h: Added ADC defines. * make/custom/lpc24xx.inc: Workaround for GCC bug 49641.
Diffstat (limited to 'c')
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/ChangeLog5
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/include/lpc24xx.h18
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc2
3 files changed, 24 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/ChangeLog b/c/src/lib/libbsp/arm/lpc24xx/ChangeLog
index 1f791fd0b4..fd8a6ca235 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/ChangeLog
+++ b/c/src/lib/libbsp/arm/lpc24xx/ChangeLog
@@ -1,3 +1,8 @@
+2011-07-21 Sebastian Huber <sebastian.huber@embedded-brains.de>
+
+ * include/lpc24xx.h: Added ADC defines.
+ * make/custom/lpc24xx.inc: Workaround for GCC bug 49641.
+
2011-06-19 Ralf Corsépius <ralf.corsepius@rtems.org>
* Makefile.am: Fix broken path to cache_.h.
diff --git a/c/src/lib/libbsp/arm/lpc24xx/include/lpc24xx.h b/c/src/lib/libbsp/arm/lpc24xx/include/lpc24xx.h
index 60e14707dd..bf2d3accce 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/include/lpc24xx.h
+++ b/c/src/lib/libbsp/arm/lpc24xx/include/lpc24xx.h
@@ -1962,6 +1962,24 @@ typedef struct {
static volatile lpc_i2s *const lpc24xx_i2s = (lpc_i2s *) I2S_BASE_ADDR;
+/* ADC */
+
+#define ADC_CR_SEL(val) BSP_FLD32(val, 0, 7)
+#define ADC_CR_SEL_GET(val) BSP_FLD32GET(val, 0, 7)
+#define ADC_CR_SEL_SET(reg, val) BSP_FLD32SET(reg, val, 0, 7)
+#define ADC_CR_CLKDIV(val) BSP_FLD32(val, 8, 15)
+#define ADC_CR_CLKDIV_GET(reg) BSP_FLD32GET(reg, 8, 15)
+#define ADC_CR_CLKDIV_SET(reg, val) BSP_FLD32SET(reg, val, 8, 15)
+#define ADC_CR_BURST BSP_BIT32(16)
+#define ADC_CR_CLKS(val) BSP_FLD32(val, 17, 19)
+#define ADC_CR_PDN BSP_BIT32(21)
+#define ADC_CR_START(val) BSP_FLD32(val, 24, 26)
+#define ADC_CR_EDGE BSP_BIT32(27)
+
+#define ADC_DR_VALUE(reg) BSP_FLD32GET(reg, 6, 15)
+#define ADC_DR_OVERRUN BSP_BIT32(30)
+#define ADC_DR_DONE BSP_BIT32(31)
+
/* DAC */
#define DAC_STEPS 1024
diff --git a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc
index 3995435457..8d09ad03a5 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc
+++ b/c/src/lib/libbsp/arm/lpc24xx/make/custom/lpc24xx.inc
@@ -9,6 +9,6 @@ include $(RTEMS_ROOT)/make/custom/default.cfg
RTEMS_CPU = arm
CPU_CFLAGS = -mstructure-size-boundary=8 -mcpu=arm7tdmi-s -mfpu=vfp -mfloat-abi=soft -mthumb \
- -fno-schedule-insns2
+ -fno-schedule-insns2 -fno-peephole2
CFLAGS_OPTIMIZE_V = -Os -g