5 ms·
> I can't see any other compelling reasons for coming up with a completely different interface for such basic and existing devices. I don't know enough about t
by culturestate 10y ago
> I can't see any other compelling reasons for coming up with a completely different interface for such basic and existing devices.
I don't know enough about the implementation to speak to why they made this choice, but for what it's worth, SPI is a standard[1] - and a quite old one. I suspect, were we to follow this down the rabbit hole, that we'd find it's related to power management.
1. https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bus https://en.wikipedia.org/wiki/Serial_Peripheral_Interface_Bu...
- chillingeffect 10y agothat's a good guess. I would agree. SPI is not connection-oriented and "comes up and goes down" (to the extent that it goes up and comes down at all) very fast with very little active memory needed to support the communication.
- userbinator 10y agoNeither is PS/2, which also being a synchronous serial interface with very low overhead, does share many characteristics with SPI at the physical layer: https://en.wikipedia.org/wiki/PS/2_port#Legacy_port_status_and_USB https://en.wikipedia.org/wiki/PS/2_port#Legacy_port_status_a... The PS/2 interface saves power due to its interrupt-driven nature compared to USB which requires periodic polling, so it is a popular interface for laptops' internal keyboards and pointing devices The major difference is that PS/2 is a de-facto standard up to the application layer/software interface, while the MacBook SPI protocol is unique to Apple.
- mjg59 10y agoPS/2 isn't high enough bandwidth to support decent multitouch, which is why most modern PC touchpads come up in PS/2 mode and then transition to SPI.
- ust 10y agoThat well may be (regarding the power management), but while SPI as standard is old, the use of SPI is not standard. I've implemented quite a few SPIs (mostly FPGA) to interface with various commercial devices and virtually all of them had a different protocol, i.e. 8bit vs 7bit words, different bits to denote write or read, etc. Some of them didn't even use SS signal. I wouldn't really called them standard, and I say that with regret. More hardware could be used in a more standard manner.
- friendzis 10y agoYou are right that SPI is a standard, although like RS232 it only exists in hardware and data layers, while USB is up to application layer. You argument in this case is very similar to defending use of custom TCP protocol for web browsing. While TCP is standard, there is nothing standard about it to browse the web, we have HTTP for that