add SPI support