[PATCH 1/4] spi: imx5: allow CSPI to work
Lucas Stach
l.stach at pengutronix.de
Thu Feb 6 10:37:07 EST 2014
i.MX5 SoCs still have one old i.MX35-style SPI
controller. Allow this one to work side by side
with the new ECSPI controllers.
Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
---
drivers/spi/Kconfig | 2 +-
drivers/spi/imx_spi.c | 13 +++++++++++++
2 files changed, 14 insertions(+), 1 deletion(-)
diff --git a/drivers/spi/Kconfig b/drivers/spi/Kconfig
index 422693ccd5fe..b9f28da7983b 100644
--- a/drivers/spi/Kconfig
+++ b/drivers/spi/Kconfig
@@ -25,7 +25,7 @@ config DRIVER_SPI_IMX_0_0
config DRIVER_SPI_IMX_0_7
bool
- depends on ARCH_IMX25 || ARCH_IMX35
+ depends on ARCH_IMX25 || ARCH_IMX35 || ARCH_IMX51 || ARCH_IMX53
default y
config DRIVER_SPI_IMX_2_3
diff --git a/drivers/spi/imx_spi.c b/drivers/spi/imx_spi.c
index c0c2ed7c49df..e43712e118b3 100644
--- a/drivers/spi/imx_spi.c
+++ b/drivers/spi/imx_spi.c
@@ -564,6 +564,10 @@ static int imx_spi_probe(struct device_d *dev)
if (cpu_is_mx51() || cpu_is_mx53() || cpu_is_mx6())
version = SPI_IMX_VER_2_3;
#endif
+ /* oftree knows best, so use it if it's there */
+ if (dev->of_id_entry)
+ version = dev->of_id_entry->data;
+
imx->chipselect = spi_imx_devtype_data[version].chipselect;
imx->xchg_single = spi_imx_devtype_data[version].xchg_single;
imx->init = spi_imx_devtype_data[version].init;
@@ -584,10 +588,19 @@ err_free:
static __maybe_unused struct of_device_id imx_spi_dt_ids[] = {
{
.compatible = "fsl,imx27-cspi",
+#ifdef CONFIG_DRIVER_SPI_IMX_0_0
+ .data = SPI_IMX_VER_0_0,
+#endif
}, {
.compatible = "fsl,imx35-cspi",
+#ifdef CONFIG_DRIVER_SPI_IMX_0_7
+ .data = SPI_IMX_VER_0_7,
+#endif
}, {
.compatible = "fsl,imx51-ecspi",
+#ifdef CONFIG_DRIVER_SPI_IMX_2_3
+ .data = SPI_IMX_VER_2_3,
+#endif
}, {
/* sentinel */
}
--
1.8.5.3
More information about the barebox
mailing list