Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

spi: dw: Add support for Intel Thunder Bay SPI controller

Add support for Intel Thunder Bay SPI controller, which uses DesignWare
DWC_ssi core and also add common init function for both Keem Bay and
Thunder Bay.

Signed-off-by: Nandhini Srikandan <nandhini.srikandan@intel.com>
Acked-by: Serge Semin <fancer.lancer@gmail.com>
Link: https://lore.kernel.org/r/20220713042223.1458-5-nandhini.srikandan@intel.com
Signed-off-by: Mark Brown <broonie@kernel.org>

authored by

Nandhini Srikandan and committed by
Mark Brown
dc4e6d9f 51e41dc2

+5 -6
+4 -4
drivers/spi/spi-dw-mmio.c
··· 214 214 return 0; 215 215 } 216 216 217 - static int dw_spi_keembay_init(struct platform_device *pdev, 218 - struct dw_spi_mmio *dwsmmio) 217 + static int dw_spi_intel_init(struct platform_device *pdev, 218 + struct dw_spi_mmio *dwsmmio) 219 219 { 220 220 dwsmmio->dws.ip = DW_HSSI_ID; 221 - dwsmmio->dws.caps = DW_SPI_CAP_KEEMBAY_MST; 222 221 223 222 return 0; 224 223 } ··· 348 349 { .compatible = "amazon,alpine-dw-apb-ssi", .data = dw_spi_alpine_init}, 349 350 { .compatible = "renesas,rzn1-spi", .data = dw_spi_pssi_init}, 350 351 { .compatible = "snps,dwc-ssi-1.01a", .data = dw_spi_hssi_init}, 351 - { .compatible = "intel,keembay-ssi", .data = dw_spi_keembay_init}, 352 + { .compatible = "intel,keembay-ssi", .data = dw_spi_intel_init}, 353 + { .compatible = "intel,thunderbay-ssi", .data = dw_spi_intel_init}, 352 354 { .compatible = "microchip,sparx5-spi", dw_spi_mscc_sparx5_init}, 353 355 { .compatible = "canaan,k210-spi", dw_spi_canaan_k210_init}, 354 356 { /* end of table */}
+1 -2
drivers/spi/spi-dw.h
··· 31 31 32 32 /* DW SPI controller capabilities */ 33 33 #define DW_SPI_CAP_CS_OVERRIDE BIT(0) 34 - #define DW_SPI_CAP_KEEMBAY_MST BIT(1) 35 - #define DW_SPI_CAP_DFS32 BIT(2) 34 + #define DW_SPI_CAP_DFS32 BIT(1) 36 35 37 36 /* Register offsets (Generic for both DWC APB SSI and DWC SSI IP-cores) */ 38 37 #define DW_SPI_CTRLR0 0x00