Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 1b719265 authored by Josh Wu's avatar Josh Wu Committed by David Woodhouse
Browse files

mtd: atmel_nand: add a new dt binding item for nand dma support



This patch will set the nand dma support in dts. Since we will not use
cpu_is_xxx() in nand driver. We needn't include the mach/cpu.h any more.

Signed-off-by: default avatarJosh Wu <josh.wu@atmel.com>
Signed-off-by: default avatarArtem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent 71b94e2e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -15,6 +15,7 @@ Required properties:
  optional gpio and may be set to 0 if not present.

Optional properties:
- atmel,nand-has-dma : boolean to support dma transfer for nand read/write.
- nand-ecc-mode : String, operation mode of the NAND ecc mode, soft by default.
  Supported values are: "none", "soft", "hw", "hw_syndrome", "hw_oob_first",
  "soft_bch".
+3 −8
Original line number Diff line number Diff line
@@ -43,8 +43,6 @@
#include <linux/platform_data/atmel.h>
#include <linux/pinctrl/consumer.h>

#include <mach/cpu.h>

static int use_dma = 1;
module_param(use_dma, int, 0);

@@ -128,11 +126,6 @@ struct atmel_nand_host {

static struct nand_ecclayout atmel_pmecc_oobinfo;

static int cpu_has_dma(void)
{
	return cpu_is_at91sam9rl() || cpu_is_at91sam9g45();
}

/*
 * Enable NAND.
 */
@@ -1336,6 +1329,8 @@ static int atmel_of_init_port(struct atmel_nand_host *host,

	board->on_flash_bbt = of_get_nand_on_flash_bbt(np);

	board->has_dma = of_property_read_bool(np, "atmel,nand-has-dma");

	if (of_get_nand_bus_width(np) == 16)
		board->bus_width_16 = 1;

@@ -1600,7 +1595,7 @@ static int __init atmel_nand_probe(struct platform_device *pdev)
		nand_chip->bbt_options |= NAND_BBT_USE_FLASH;
	}

	if (!cpu_has_dma())
	if (!host->board.has_dma)
		use_dma = 0;

	if (use_dma) {
+1 −0
Original line number Diff line number Diff line
@@ -71,6 +71,7 @@ struct atmel_nand_data {
	u8		on_flash_bbt;		/* bbt on flash */
	struct mtd_partition *parts;
	unsigned int	num_parts;
	bool		has_dma;		/* support dma transfer */

	/* default is false, only for at32ap7000 chip is true */
	bool		need_reset_workaround;