ARM: tegra: roth: enable dma based spi transfer for Tegra114-A02 and later
Laxman Dewangan [Fri, 15 Feb 2013 09:50:57 +0000 (14:50 +0530)]
Tegra114-A02 and later SoCs have fixed the hw issue of dma based
spi transfer. Hence removing the limitation of not using dma based
transfer.

Change-Id: I622fc826e15ddd08cc07500217235662674b1dea
Signed-off-by: Laxman Dewangan <ldewangan@nvidia.com>
Reviewed-on: http://git-master/r/201098
Reviewed-by: Mandar Padmawar <mpadmawar@nvidia.com>
Tested-by: Mandar Padmawar <mpadmawar@nvidia.com>

arch/arm/mach-tegra/board-roth.c

index 27952d9..264c519 100644 (file)
@@ -46,6 +46,7 @@
 #include <linux/i2c/at24.h>
 #include <linux/of_platform.h>
 #include <asm/hardware/gic.h>
+#include <mach/hardware.h>
 
 #include <mach/clk.h>
 #include <mach/iomap.h>
@@ -619,7 +620,6 @@ struct spi_clk_parent spi_parent_clk_roth[] = {
 };
 
 static struct tegra_spi_platform_data roth_spi_pdata = {
-       .is_dma_based           = false,
        .max_dma_buffer         = 16 * 1024,
        .is_clkon_always        = false,
        .max_rate               = 25000000,
@@ -642,6 +642,8 @@ static void __init roth_spi_init(void)
        }
        roth_spi_pdata.parent_clk_list = spi_parent_clk_roth;
        roth_spi_pdata.parent_clk_count = ARRAY_SIZE(spi_parent_clk_roth);
+       roth_spi_pdata.is_dma_based = (tegra_revision == TEGRA_REVISION_A01) ?
+                                       false : true;
        tegra11_spi_device4.dev.platform_data = &roth_spi_pdata;
        platform_add_devices(roth_spi_devices,
                ARRAY_SIZE(roth_spi_devices));