[PATCH 1/4] spi: imx5: allow CSPI to work

Lucas Stach l.stach at pengutronix.de
Fri Feb 7 04:50:24 EST 2014


Am Freitag, den 07.02.2014, 08:23 +0100 schrieb Sascha Hauer:
> On Thu, Feb 06, 2014 at 04:37:07PM +0100, Lucas Stach wrote:
> > 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
> 
> Are the ifdefs needed?

As long as we want to keep them in the rest of the driver, yes. If we
are willing to trade a little code size we could just remove them from
the whole driver.

Regards,
Lucas

-- 
Pengutronix e.K.                           | Lucas Stach                 |
Industrial Linux Solutions                 | http://www.pengutronix.de/  |
Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-5076 |
Amtsgericht Hildesheim, HRA 2686           | Fax:   +49-5121-206917-5555 |




More information about the barebox mailing list