Hi,
I'm trying to run the zephyr/samples/drivers/adc/adc_dt example on the nRF54L15 DK.
I modified the board overlay file
zephyr/samples/drivers/adc/adc_dt/boards/nrf54l15dk_nrf54l15_cpuapp.overlay
as follows:
channel@0 {
reg = <0>;
zephyr,gain = "ADC_GAIN_1";
zephyr,reference = "ADC_REF_VDD_1";
zephyr,acquisition-time = <ADC_ACQ_TIME_DEFAULT>;
zephyr,input-positive = <NRF_SAADC_AIN4>; /* P1.11 */
zephyr,resolution = <10>;
};
This is the only change I made — the original overlay used:
zephyr,reference = "ADC_REF_INTERNAL";
However, after rebuilding and flashing, I get this output:
Could not setup channel #0 (-22)
From the Zephyr source, error -22 seems to correspond to EINVAL.
It works fine with "ADC_REF_INTERNAL", but fails with "ADC_REF_VDD_1".
Questions:
Does the nRF54L15 SAADC support ADC_REF_VDD_1, ADC_REF_VDD_1_* as a reference?
If not, is there another way to measure signals with VDD-based reference on this device?
Environment:
- Zephyr: 4.2.1
- Board: nrf54l15dk/nrf54l15/cpuapp