aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data
diff options
context:
space:
mode:
authorMiquel Raynal <miquel.raynal@bootlin.com>2018-02-19 17:35:54 -0500
committerBoris Brezillon <boris.brezillon@bootlin.com>2018-03-02 15:51:41 -0500
commit7576594c8e69f5a9e08c5b952d5139bb43574bbc (patch)
tree4f4c96fa0e3d17908f268e43e8bdb529bbc1681d /include/linux/platform_data
parentcc396436c24de8ae28b3c0bee795a19bffea815b (diff)
mtd: nand: remove useless fields from pxa3xx NAND platform data
The "enable arbiter" bit is available only for pxa3xx based platforms but it was experimentally shown that even if this bit is reserved, some Marvell platforms (64-bit) actually need it to be set. The driver always set this bit regardless of this property, which is harmless. Then this property is not needed. The "num_cs" field is always 1 and for a good reason, the old driver (pxa3xx_nand.c) could only handle one. The new driver that replaces it (marvell_nand.c) can handle more, but better use device tree for such description. As there is only one available chip select, there is no need for an array of partitions neither an array of partition numbers. Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Boris Brezillon <boris.brezillon@bootlin.com>
Diffstat (limited to 'include/linux/platform_data')
-rw-r--r--include/linux/platform_data/mtd-nand-pxa3xx.h43
1 files changed, 12 insertions, 31 deletions
diff --git a/include/linux/platform_data/mtd-nand-pxa3xx.h b/include/linux/platform_data/mtd-nand-pxa3xx.h
index b42ad83cbc20..4fd0f592a2d2 100644
--- a/include/linux/platform_data/mtd-nand-pxa3xx.h
+++ b/include/linux/platform_data/mtd-nand-pxa3xx.h
@@ -6,41 +6,22 @@
6#include <linux/mtd/partitions.h> 6#include <linux/mtd/partitions.h>
7 7
8/* 8/*
9 * Current pxa3xx_nand controller has two chip select which 9 * Current pxa3xx_nand controller has two chip select which both be workable but
10 * both be workable. 10 * historically all platforms remaining on platform data used only one. Switch
11 * 11 * to device tree if you need more.
12 * Notice should be taken that:
13 * When you want to use this feature, you should not enable the
14 * keep configuration feature, for two chip select could be
15 * attached with different nand chip. The different page size
16 * and timing requirement make the keep configuration impossible.
17 */ 12 */
18
19/* The max num of chip select current support */
20#define NUM_CHIP_SELECT (2)
21struct pxa3xx_nand_platform_data { 13struct pxa3xx_nand_platform_data {
22 14 /* Keep OBM/bootloader NFC timing configuration */
23 /* the data flash bus is shared between the Static Memory 15 bool keep_config;
24 * Controller and the Data Flash Controller, the arbiter 16 /* Use a flash-based bad block table */
25 * controls the ownership of the bus 17 bool flash_bbt;
26 */ 18 /* Requested ECC strength and ECC step size */
27 int enable_arbiter;
28
29 /* allow platform code to keep OBM/bootloader defined NFC config */
30 int keep_config;
31
32 /* indicate how many chip selects will be used */
33 int num_cs;
34
35 /* use an flash-based bad block table */
36 bool flash_bbt;
37
38 /* requested ECC strength and ECC step size */
39 int ecc_strength, ecc_step_size; 19 int ecc_strength, ecc_step_size;
40 20 /* Partitions */
41 const struct mtd_partition *parts[NUM_CHIP_SELECT]; 21 const struct mtd_partition *parts;
42 unsigned int nr_parts[NUM_CHIP_SELECT]; 22 unsigned int nr_parts;
43}; 23};
44 24
45extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info); 25extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info);
26
46#endif /* __ASM_ARCH_PXA3XX_NAND_H */ 27#endif /* __ASM_ARCH_PXA3XX_NAND_H */