
Provides "hands-on" information on writing device drivers for the Linux system, with particular focus on the features of the 2.4 kernel and its implementation.
Operating Systems: Three Easy Pieces + Linux Device Drivers 3rd: All the cool tech in my opinion is made with systems-programming. Game-engines, Risk/Pricing Engines, Radar/GPS, Compilers, VM's, OS's, probably also Apples AR goggles are made with systems languages, so likely/sadly C and C++. These two books are real and practical. The Linux one is outdated, but it worked for me.
Oppenheimers books on Signals and Systems: Because signal-processing. And the Fourier-Transformation is the most unintuitive AND useful piece of mathematics I have used/seen. (Stochastic Integrals is a close second)
Differential Equations. ODE's, SDE's, PDE's. I don't really have a good book here sadly, but Differential Equations describe the world.
Don't mind the document's age, the principles have largely remained unchanged. Besides, it's probably a better fit since you're targeting a device from 2007
I understand this may be kind of non-specific to what you were expecting, but it's the most rewarding way of achieving what you want and coming up much faster with a driver for an obscure device next time.
Operating Systems: Three Easy Pieces (free online) - Arpaci-Dusseau
Linux Device Drivers, 3rd ed (o'Reilly) - Jonathan Corbet
The Linux Programming Interface - Michael Kerrisk
The Design and Implementation of the FreeBSD Operating System (2nd ed) - McKusick, McKusick, Watson
Solaris Internals - McDougall, Richard, Mauro
There are books such as "Linux Device Drivers", which are great resources, and there is a lot of existing code out there to read too.
The person who asks "How do I do x?" without having appeared to carry out the minimum of self-searching themselves is often impossible to help in any detail anyway.