You could open a case about misrepresentation, and probably should anyhow. You may or may not prevail.
Thing is that I2C and SPI can 'technically' run on the same bus if a few conditions are met:
1) Clock speeds used are compatible with both.
2) Data transfer to / from the device can be handled with one signal wire.
3) Data sent to or from an SPI device doesn't inadvertently broadcast a valid I2C device ID: this would cause an I2C device to act on subsequent data on the bus.
This site gives some minimal details about sharing I2C and SPI on one bus.
You might be able to get away with a pair of transistors, one NPN and the other PNP, and a spare GPIO pin to select which "bus" is in effect at that moment. I.e. if GPIO is high, SCL/SCLK (or whatever) is connected to I2C devices and if it's low, SPI devices get the clock. Think of it like a "bus select" pin?
You might even be able to parallel it with the SPI chip select(s) to have it go to SPI devices if SPI is active:
Code: Select all
CS1 >---->|----\
CS2 >---->|----->---- transistor network switches clock to SPI bus or I2C, or vice-versa
CS3 >---->|----/
You can lead the horticulture but you can't make them think.