1) At the GPIO level, the RPi actually has kernel-space SPI driver. What I really mean is a driver interface for my program.
2) SPI is a ridiculously simple protocol. I have a background in embedded systems, so it's really not a lot of effort. Particularly compared to the OP, who deconstructed and intercepted the entire HDMI protocol on an FPGA. I'd consider the effort required for that task as quite a bit more.
Linux also offers user space SPI via `spidev` (i.e. the "driver" consists of a registration call, and all communication is done via regular `read()`/`write()` calls).
For low performance applications, it works perfectly.
2) SPI is a ridiculously simple protocol. I have a background in embedded systems, so it's really not a lot of effort. Particularly compared to the OP, who deconstructed and intercepted the entire HDMI protocol on an FPGA. I'd consider the effort required for that task as quite a bit more.