added spi_init()