@@ -29,6 +29,9 @@
#include "stm_nand_regs.h"
#include "stm_nand_dt.h"
+/* NANDi BCH Controller properties */
+#define NANDI_BCH_SECTOR_SIZE 1024
+
/* Bad Block Table (BBT) */
struct nandi_bbt_info {
uint32_t bbt_size; /* Size of bad-block table */
@@ -921,6 +924,12 @@ static int stm_nand_bch_probe(struct platform_device *pdev)
dev_warn(&pdev->dev, "No timing data available\n");
}
+ if (mtd->writesize < NANDI_BCH_SECTOR_SIZE) {
+ dev_err(nandi->dev,
+ "page size incompatible with BCH ECC sector\n");
+ return -EINVAL;
+ }
+
return 0;
}
Signed-off-by: Lee Jones <lee.jones@linaro.org> --- drivers/mtd/nand/stm_nand_bch.c | 9 +++++++++ 1 file changed, 9 insertions(+)