|
@@ -1140,6 +1140,9 @@ static int spi_imx_probe(struct platform_device *pdev)
|
|
|
spi_imx = spi_master_get_devdata(master);
|
|
|
spi_imx->bitbang.master = master;
|
|
|
|
|
|
+ spi_imx->devtype_data = of_id ? of_id->data :
|
|
|
+ (struct spi_imx_devtype_data *)pdev->id_entry->driver_data;
|
|
|
+
|
|
|
for (i = 0; i < master->num_chipselect; i++) {
|
|
|
int cs_gpio = of_get_named_gpio(np, "cs-gpios", i);
|
|
|
if (!gpio_is_valid(cs_gpio) && mxc_platform_info)
|
|
@@ -1164,14 +1167,12 @@ static int spi_imx_probe(struct platform_device *pdev)
|
|
|
spi_imx->bitbang.master->cleanup = spi_imx_cleanup;
|
|
|
spi_imx->bitbang.master->prepare_message = spi_imx_prepare_message;
|
|
|
spi_imx->bitbang.master->unprepare_message = spi_imx_unprepare_message;
|
|
|
- spi_imx->bitbang.master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH |
|
|
|
- SPI_LOOP;
|
|
|
+ spi_imx->bitbang.master->mode_bits = SPI_CPOL | SPI_CPHA | SPI_CS_HIGH;
|
|
|
+ if (is_imx51_ecspi(spi_imx))
|
|
|
+ spi_imx->bitbang.master->mode_bits |= SPI_LOOP;
|
|
|
|
|
|
init_completion(&spi_imx->xfer_done);
|
|
|
|
|
|
- spi_imx->devtype_data = of_id ? of_id->data :
|
|
|
- (struct spi_imx_devtype_data *) pdev->id_entry->driver_data;
|
|
|
-
|
|
|
res = platform_get_resource(pdev, IORESOURCE_MEM, 0);
|
|
|
spi_imx->base = devm_ioremap_resource(&pdev->dev, res);
|
|
|
if (IS_ERR(spi_imx->base)) {
|