drivers: adc: adc_mcux_adc12: enable support for channel>=16 on S32K14X

Enable support for channels >= 16 on devices S32K146 and S32K148.
Channels >= 16 are encoded as 100000b..101111b in SC1[ADCH] field.

Signed-off-by: Marcin Wierzbicki <marcin.wierzbicki@accenture.com>
This commit is contained in:
Marcin Wierzbicki 2024-06-28 16:37:37 +02:00 committed by Anas Nashif
commit 53e7a9dd86

View file

@ -166,6 +166,15 @@ static void mcux_adc12_start_channel(const struct device *dev)
LOG_DBG("Starting channel %d", data->channel_id);
channel_config.enableInterruptOnConversionCompleted = true;
channel_config.channelNumber = data->channel_id;
#if defined(CONFIG_SOC_S32K146) || defined(CONFIG_SOC_S32K148)
if (data->channel_id >= 16) {
/*
* channels 16..31 are encoded as 100000b..101111b in
* SC1[ADCH] field
*/
channel_config.channelNumber += 16;
}
#endif
ADC12_SetChannelConfig(config->base, channel_group, &channel_config);
}