This comment in Linux's bcm2835-rng.c driver makes me wonder about the RNG:
/* the initial numbers generated are "less random" so will be discarded */
#define RNG_WARMUP_COUNT 0x40000
How was this magic value derived? Why are the initial (quarter million?) values "less random"? Where's a datasheet that describes this thing's operation?