diff options
author | Raphaël Poggi <poggi.raph@gmail.com> | 2014-09-01 14:27:33 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2014-09-02 09:02:40 +0200 |
commit | af8e7d3a6e765f4c318feac1197abf079e4c3719 (patch) | |
tree | 6366d6e11522ae79059a22c5fa2fa0611223e5fb | |
parent | a4f0146e0ee3d729b78c1223375d913bb42dde78 (diff) | |
download | barebox-af8e7d3a6e765f4c318feac1197abf079e4c3719.tar.gz barebox-af8e7d3a6e765f4c318feac1197abf079e4c3719.tar.xz |
mtd: nand: add has_pmecc member
By adding this structure member, we can retrieve the pmecc config, through the device tree.
Signed-off-by: Raphaël Poggi <poggi.raph@gmail.com>
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
-rw-r--r-- | arch/arm/boards/at91sam9n12ek/init.c | 1 | ||||
-rw-r--r-- | arch/arm/boards/at91sam9x5ek/init.c | 1 | ||||
-rw-r--r-- | arch/arm/boards/sama5d3_xplained/init.c | 1 | ||||
-rw-r--r-- | arch/arm/boards/sama5d3xek/init.c | 1 | ||||
-rw-r--r-- | arch/arm/mach-at91/include/mach/board.h | 1 | ||||
-rw-r--r-- | drivers/mtd/nand/atmel_nand.c | 2 |
6 files changed, 6 insertions, 1 deletions
diff --git a/arch/arm/boards/at91sam9n12ek/init.c b/arch/arm/boards/at91sam9n12ek/init.c index a206d6b731..818a598907 100644 --- a/arch/arm/boards/at91sam9n12ek/init.c +++ b/arch/arm/boards/at91sam9n12ek/init.c @@ -47,6 +47,7 @@ static struct atmel_nand_data nand_pdata = { .det_pin = -EINVAL, .rdy_pin = AT91_PIN_PD5, .enable_pin = AT91_PIN_PD4, + .has_pmecc = 1, .ecc_mode = NAND_ECC_HW, .pmecc_sector_size = 512, .pmecc_corr_cap = 2, diff --git a/arch/arm/boards/at91sam9x5ek/init.c b/arch/arm/boards/at91sam9x5ek/init.c index 62e56521ef..183ddc7052 100644 --- a/arch/arm/boards/at91sam9x5ek/init.c +++ b/arch/arm/boards/at91sam9x5ek/init.c @@ -57,6 +57,7 @@ static struct atmel_nand_data nand_pdata = { .det_pin = -EINVAL, .rdy_pin = AT91_PIN_PD5, .enable_pin = AT91_PIN_PD4, + .has_pmecc = 1, .ecc_mode = NAND_ECC_HW, .pmecc_sector_size = 512, .pmecc_corr_cap = 2, diff --git a/arch/arm/boards/sama5d3_xplained/init.c b/arch/arm/boards/sama5d3_xplained/init.c index ae84209cbb..7dfebe8e89 100644 --- a/arch/arm/boards/sama5d3_xplained/init.c +++ b/arch/arm/boards/sama5d3_xplained/init.c @@ -48,6 +48,7 @@ static struct atmel_nand_data nand_pdata = { .rdy_pin = -EINVAL, .enable_pin = -EINVAL, .ecc_mode = NAND_ECC_HW, + .has_pmecc = 1, .pmecc_sector_size = 512, .pmecc_corr_cap = 4, #if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16) diff --git a/arch/arm/boards/sama5d3xek/init.c b/arch/arm/boards/sama5d3xek/init.c index 743197fe47..49d2b371f5 100644 --- a/arch/arm/boards/sama5d3xek/init.c +++ b/arch/arm/boards/sama5d3xek/init.c @@ -63,6 +63,7 @@ static struct atmel_nand_data nand_pdata = { .rdy_pin = -EINVAL, .enable_pin = -EINVAL, .ecc_mode = NAND_ECC_HW, + .has_pmecc = 1, .pmecc_sector_size = 512, .pmecc_corr_cap = 4, #if defined(CONFIG_MTD_NAND_ATMEL_BUSWIDTH_16) diff --git a/arch/arm/mach-at91/include/mach/board.h b/arch/arm/mach-at91/include/mach/board.h index aa0fdae141..e2307ed8e6 100644 --- a/arch/arm/mach-at91/include/mach/board.h +++ b/arch/arm/mach-at91/include/mach/board.h @@ -63,6 +63,7 @@ struct atmel_nand_data { u8 bus_width_16; /* buswidth is 16 bit */ u8 ecc_mode; /* NAND_ECC_* */ u8 on_flash_bbt; /* Use flash based bbt */ + u8 has_pmecc; /* Use PMECC */ u8 bus_on_d0; u8 pmecc_corr_cap; diff --git a/drivers/mtd/nand/atmel_nand.c b/drivers/mtd/nand/atmel_nand.c index 337e2256e3..220ec5ca9d 100644 --- a/drivers/mtd/nand/atmel_nand.c +++ b/drivers/mtd/nand/atmel_nand.c @@ -1219,7 +1219,7 @@ static int __init atmel_nand_probe(struct device_d *dev) if (IS_ENABLED(CONFIG_NAND_ECC_HW) && nand_chip->ecc.mode == NAND_ECC_HW) { - if (IS_ENABLED(CONFIG_NAND_ATMEL_PMECC)) + if (IS_ENABLED(CONFIG_NAND_ATMEL_PMECC) && pdata->has_pmecc) res = atmel_pmecc_nand_init_params(dev, host); else res = atmel_hw_nand_init_params(dev, host); |