diff --git a/drivers/spi/spi_dw.c b/drivers/spi/spi_dw.c index 56e11e129e5..bd10447e442 100644 --- a/drivers/spi/spi_dw.c +++ b/drivers/spi/spi_dw.c @@ -566,6 +566,12 @@ int spi_dw_init(const struct device *dev) write_imr(dev, DW_SPI_IMR_MASK); clear_bit_ssienr(dev); + /* SSI component version */ + spi->version = read_ssi_comp_version(dev); + LOG_DBG("Version: %c.%c%c%c", (spi->version >> 24) & 0xff, + (spi->version >> 16) & 0xff, (spi->version >> 8) & 0xff, + spi->version & 0xff); + LOG_DBG("Designware SPI driver initialized on device: %p", dev); err = spi_context_cs_configure_all(&spi->ctx); diff --git a/drivers/spi/spi_dw.h b/drivers/spi/spi_dw.h index 55e28777cc4..55a25804664 100644 --- a/drivers/spi/spi_dw.h +++ b/drivers/spi/spi_dw.h @@ -48,6 +48,7 @@ struct spi_dw_config { struct spi_dw_data { DEVICE_MMIO_RAM; struct spi_context ctx; + uint32_t version; /* ssi comp version */ uint8_t dfs; /* dfs in bytes: 1,2 or 4 */ uint8_t fifo_diff; /* cannot be bigger than FIFO depth */ };