blob: 4fd0f592a2d26c65be6802ff05b25e04a4167490 [file] [log] [blame]
Greg Kroah-Hartmanb2441312017-11-01 15:07:57 +01001/* SPDX-License-Identifier: GPL-2.0 */
eric miaofe69af02008-02-14 15:48:23 +08002#ifndef __ASM_ARCH_PXA3XX_NAND_H
3#define __ASM_ARCH_PXA3XX_NAND_H
4
5#include <linux/mtd/mtd.h>
6#include <linux/mtd/partitions.h>
7
Lei Wenf3c8cfc2011-07-14 20:44:33 -07008/*
Miquel Raynal75765942018-02-19 23:35:54 +01009 * Current pxa3xx_nand controller has two chip select which both be workable but
10 * historically all platforms remaining on platform data used only one. Switch
11 * to device tree if you need more.
Lei Wenf3c8cfc2011-07-14 20:44:33 -070012 */
eric miaofe69af02008-02-14 15:48:23 +080013struct pxa3xx_nand_platform_data {
Miquel Raynal75765942018-02-19 23:35:54 +010014 /* Keep OBM/bootloader NFC timing configuration */
15 bool keep_config;
16 /* Use a flash-based bad block table */
17 bool flash_bbt;
18 /* Requested ECC strength and ECC step size */
Ezequiel Garcia5b3e5072014-05-14 14:58:08 -030019 int ecc_strength, ecc_step_size;
Miquel Raynal75765942018-02-19 23:35:54 +010020 /* Partitions */
21 const struct mtd_partition *parts;
22 unsigned int nr_parts;
eric miaofe69af02008-02-14 15:48:23 +080023};
Eric Miao9ae819a2008-06-02 15:22:03 +080024
25extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info);
Miquel Raynal75765942018-02-19 23:35:54 +010026
eric miaofe69af02008-02-14 15:48:23 +080027#endif /* __ASM_ARCH_PXA3XX_NAND_H */