I have an offset of 20 mV (20 mV more than the actual voltage at the pin) with the ADC of the CYBLE-014008-00. I tried the same firmware and applying a known voltage to the pins of the CYBLE-014008-EVAL, and then I only got 1-2 mV offset. The Vref is internal 1.024V, and the negative reference is also Vref, so I can measure 0.0 to 2.048V with a resolution of 12 bits. I acquire 2 channels once per second (firmware trigger) and average 16 samples at 1000 kHz for each channel.
I looked at the gerbers/schematics of the CYBLE-014008-EVAL and the only difference is that they put a coil between +3V3->VDD and +3V3->VDDR, whereas we connect VDD, VDDR, and VDDA directly to +VBAT (3.3-3.6V).
Are these coils absolutely needed? What other error source could there be?
The ferrites were indeed necessary, it fixed my problem.