Arduino DUE - analogRead / ADC broken ?

Description
Hello members,
Inside the full project of my DIY 3D printer, there is an Arduino Due to monitor everything.
After some incomprehensible faults while reading analog values I decided to test the board alone.
I've found that the ADC of the board seem to be broken or kind of.
Here is the situation :

Hardware
Arduino DUE
10k Potentiometer 300° (+3.3V / A0 / GND)

Code
void setup() {
Serial.begin(9600);
pinMode(A0, INPUT);
}
void loop() {
Serial.println(analogRead(A0));
delay(10);
}

Expected behavior
Pot Position Value
0° 0
45° 153
90° 307
180° 614
270° 920
300° 1023

As it should be, something linear. (1° = 1023/300)

Actual behavior
Pot Position Value
0° 0
45° 256
90° 640
180° 1016
270° 1020
300° 1020

In fact, there is a sort of "ramp" with steps. Only few discreet values are possible.
The only values possibles are :
0 - 256 - 384 - 448 - 512 - 640 - 704 - 960 - 992 - 1008 - 1016 - 1020
There is no linearity between values.


This manipulation works perfectly on my other boards (MEGA, NANO, etc.)
Have you ever seen that ?
Whats is your opinion ?

This blog might help you understand how the ADC peripheral behaves when it behaves as expected on a DUE:

http://www.djerickson.com/arduino/due_adc.html

Thank you for the link. I'm going to use this to get the best of the next Due board, but not this crappy one.