I could be wrong about the open source drivers, but last time I looked into it (about two years ago), the lowest level interface was still a binary blob on top of which the open source driver sat.
As for programming manuals, any of the really low level ones I've seen are about 4 years old now. If you know of any up-to-date ones, I'd love to see them out of personal interest, but I've yet to find any myself.