diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/analogin_api.c b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/analogin_api.c index a92d38c6dd..c699b992a7 100644 --- a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/analogin_api.c +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_IMX/analogin_api.c @@ -20,6 +20,7 @@ #include "cmsis.h" #include "pinmap.h" +#include "gpio_api.h" #include "PeripheralNames.h" #include "fsl_adc.h" #include "PeripheralPins.h" @@ -34,6 +35,7 @@ void analogin_init(analogin_t *obj, PinName pin) uint32_t instance = obj->adc >> ADC_INSTANCE_SHIFT; adc_config_t adc_config; + gpio_t gpio; ADC_GetDefaultConfig(&adc_config); ADC_Init(adc_addrs[instance], &adc_config); @@ -41,6 +43,10 @@ void analogin_init(analogin_t *obj, PinName pin) ADC_EnableHardwareTrigger(adc_addrs[instance], false); #endif ADC_DoAutoCalibration(adc_addrs[instance]); + + /* Need to ensure the pin is in input mode */ + gpio_init(&gpio, pin); + gpio_dir(&gpio, PIN_INPUT); } uint16_t analogin_read_u16(analogin_t *obj) diff --git a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/PeripheralPins.c b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/PeripheralPins.c index 648f2b54b2..db5a02e486 100644 --- a/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/PeripheralPins.c +++ b/targets/TARGET_NXP/TARGET_MCUXpresso_MCUS/TARGET_MIMXRT1050/TARGET_EVK/PeripheralPins.c @@ -23,8 +23,12 @@ const PinMap PinMap_RTC[] = { /************ADC***************/ const PinMap PinMap_ADC[] = { - {GPIO_AD_B1_11, ADC1_0, 0}, - {GPIO_AD_B1_04, ADC1_9, 0}, + {GPIO_AD_B1_10, ADC1_15, 5}, + {GPIO_AD_B1_11, ADC2_0, 5}, + {GPIO_AD_B1_04, ADC1_9, 5}, + {GPIO_AD_B1_05, ADC1_10, 5}, + {GPIO_AD_B1_01, ADC1_6, 5}, + {GPIO_AD_B1_00, ADC1_5, 5}, {NC , NC , 0} };