summaryrefslogtreecommitdiffstats
path: root/c/src/lib/libbsp/arm/lpc24xx/misc/io.c
diff options
context:
space:
mode:
Diffstat (limited to 'c/src/lib/libbsp/arm/lpc24xx/misc/io.c')
-rw-r--r--c/src/lib/libbsp/arm/lpc24xx/misc/io.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/c/src/lib/libbsp/arm/lpc24xx/misc/io.c b/c/src/lib/libbsp/arm/lpc24xx/misc/io.c
index 45e0c948a3..c28b5182f0 100644
--- a/c/src/lib/libbsp/arm/lpc24xx/misc/io.c
+++ b/c/src/lib/libbsp/arm/lpc24xx/misc/io.c
@@ -395,9 +395,14 @@ lpc24xx_pin_set_function(
rtems_interrupt_enable(level);
#else
uint32_t iocon_extra = 0;
+ uint32_t iocon_not_analog = IOCON_ADMODE;
/* TODO */
switch (pin_range.fields.type) {
+ case LPC17XX_PIN_TYPE_ADC:
+ case LPC17XX_PIN_TYPE_DAC:
+ iocon_not_analog = 0;
+ break;
case LPC17XX_PIN_TYPE_I2C_FAST_PLUS:
iocon_extra |= IOCON_HS;
break;
@@ -408,7 +413,7 @@ lpc24xx_pin_set_function(
break;
}
- *iocon = IOCON_FUNC(pin_range.fields.function) | iocon_extra;
+ *iocon = IOCON_FUNC(pin_range.fields.function) | iocon_extra | iocon_not_analog;
#endif
return RTEMS_SUCCESSFUL;