I'm not convinced what you suggest is actually possible. By far the best approach (so far - open to other suggestions) would be that suggested above. The HW would be much simpler, and the amount of driver work similar to what you suggest - maybe even less.
I agree it's cheaper and simpler, but you would have to spend a lot of time on it. On the other hand, if the FPGA option means even more driver work like you say, then that is no good either.
I'm not sure what you mean by wire protocol, but I assume you mean the CSI-2 spec, and the I2C spec for control? CSI-2 is a physical standard, but doesnt cover ththe format of the transmission, and there are all sorts of commands for different cameras.
Yes, the camera specific part, i.e the values one sees on the I2C bus when the Pi requests a frame from the camera or (ideally) the start/stop commands for a video stream. Also, the transmission format used on the the high-speed channel, for the mode the camera has been configured with.
Just one known-good mode is fine. Then it is easy to tell that any problem that crops up is not on the Pi-side.
Even if you can't do any driver development at all, this information is still useful for making a generic high-speed input.
@Gordon: Awesome, thank you!