mtd: pxa3xx_nand: Remove unused platform-data flash specification
The driver supports board files specificating the flash device, by passing a pxa3xx_nand_flash struct (with flash parameters) in the platform data struct. Currently this support is not being used by any board file. Moreover, we'd like to deprecate such usage in favor of using the device table in nand_ids.c. So let's remove the ad-hoc flash specification. Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar> Acked-by: Robert Jarzmik <robert.jarzmik@free.fr> Signed-off-by: Brian Norris <computersforpeace@gmail.com>
This commit is contained in:
parent
e747dbe75e
commit
a9cadf72bf
|
@ -252,6 +252,30 @@ static bool use_dma = 1;
|
||||||
module_param(use_dma, bool, 0444);
|
module_param(use_dma, bool, 0444);
|
||||||
MODULE_PARM_DESC(use_dma, "enable DMA for data transferring to/from NAND HW");
|
MODULE_PARM_DESC(use_dma, "enable DMA for data transferring to/from NAND HW");
|
||||||
|
|
||||||
|
struct pxa3xx_nand_timing {
|
||||||
|
unsigned int tCH; /* Enable signal hold time */
|
||||||
|
unsigned int tCS; /* Enable signal setup time */
|
||||||
|
unsigned int tWH; /* ND_nWE high duration */
|
||||||
|
unsigned int tWP; /* ND_nWE pulse time */
|
||||||
|
unsigned int tRH; /* ND_nRE high duration */
|
||||||
|
unsigned int tRP; /* ND_nRE pulse width */
|
||||||
|
unsigned int tR; /* ND_nWE high to ND_nRE low for read */
|
||||||
|
unsigned int tWHR; /* ND_nWE high to ND_nRE low for status read */
|
||||||
|
unsigned int tAR; /* ND_ALE low to ND_nRE low delay */
|
||||||
|
};
|
||||||
|
|
||||||
|
struct pxa3xx_nand_flash {
|
||||||
|
char *name;
|
||||||
|
uint32_t chip_id;
|
||||||
|
unsigned int page_per_block; /* Pages per block (PG_PER_BLK) */
|
||||||
|
unsigned int page_size; /* Page size in bytes (PAGE_SZ) */
|
||||||
|
unsigned int flash_width; /* Width of Flash memory (DWIDTH_M) */
|
||||||
|
unsigned int dfc_width; /* Width of flash controller(DWIDTH_C) */
|
||||||
|
unsigned int num_blocks; /* Number of physical blocks in Flash */
|
||||||
|
|
||||||
|
struct pxa3xx_nand_timing *timing; /* NAND Flash timing */
|
||||||
|
};
|
||||||
|
|
||||||
static struct pxa3xx_nand_timing timing[] = {
|
static struct pxa3xx_nand_timing timing[] = {
|
||||||
{ 40, 80, 60, 100, 80, 100, 90000, 400, 40, },
|
{ 40, 80, 60, 100, 80, 100, 90000, 400, 40, },
|
||||||
{ 10, 0, 20, 40, 30, 40, 11123, 110, 10, },
|
{ 10, 0, 20, 40, 30, 40, 11123, 110, 10, },
|
||||||
|
@ -1491,19 +1515,16 @@ static int pxa3xx_nand_scan(struct mtd_info *mtd)
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
num = ARRAY_SIZE(builtin_flash_types) + pdata->num_flash - 1;
|
num = ARRAY_SIZE(builtin_flash_types) - 1;
|
||||||
for (i = 0; i < num; i++) {
|
for (i = 0; i < num; i++) {
|
||||||
if (i < pdata->num_flash)
|
f = &builtin_flash_types[i + 1];
|
||||||
f = pdata->flash + i;
|
|
||||||
else
|
|
||||||
f = &builtin_flash_types[i - pdata->num_flash + 1];
|
|
||||||
|
|
||||||
/* find the chip in default list */
|
/* find the chip in default list */
|
||||||
if (f->chip_id == id)
|
if (f->chip_id == id)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i >= (ARRAY_SIZE(builtin_flash_types) + pdata->num_flash - 1)) {
|
if (i >= (ARRAY_SIZE(builtin_flash_types) - 1)) {
|
||||||
dev_err(&info->pdev->dev, "ERROR!! flash not defined!!!\n");
|
dev_err(&info->pdev->dev, "ERROR!! flash not defined!!!\n");
|
||||||
|
|
||||||
return -EINVAL;
|
return -EINVAL;
|
||||||
|
|
|
@ -4,30 +4,6 @@
|
||||||
#include <linux/mtd/mtd.h>
|
#include <linux/mtd/mtd.h>
|
||||||
#include <linux/mtd/partitions.h>
|
#include <linux/mtd/partitions.h>
|
||||||
|
|
||||||
struct pxa3xx_nand_timing {
|
|
||||||
unsigned int tCH; /* Enable signal hold time */
|
|
||||||
unsigned int tCS; /* Enable signal setup time */
|
|
||||||
unsigned int tWH; /* ND_nWE high duration */
|
|
||||||
unsigned int tWP; /* ND_nWE pulse time */
|
|
||||||
unsigned int tRH; /* ND_nRE high duration */
|
|
||||||
unsigned int tRP; /* ND_nRE pulse width */
|
|
||||||
unsigned int tR; /* ND_nWE high to ND_nRE low for read */
|
|
||||||
unsigned int tWHR; /* ND_nWE high to ND_nRE low for status read */
|
|
||||||
unsigned int tAR; /* ND_ALE low to ND_nRE low delay */
|
|
||||||
};
|
|
||||||
|
|
||||||
struct pxa3xx_nand_flash {
|
|
||||||
char *name;
|
|
||||||
uint32_t chip_id;
|
|
||||||
unsigned int page_per_block; /* Pages per block (PG_PER_BLK) */
|
|
||||||
unsigned int page_size; /* Page size in bytes (PAGE_SZ) */
|
|
||||||
unsigned int flash_width; /* Width of Flash memory (DWIDTH_M) */
|
|
||||||
unsigned int dfc_width; /* Width of flash controller(DWIDTH_C) */
|
|
||||||
unsigned int num_blocks; /* Number of physical blocks in Flash */
|
|
||||||
|
|
||||||
struct pxa3xx_nand_timing *timing; /* NAND Flash timing */
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Current pxa3xx_nand controller has two chip select which
|
* Current pxa3xx_nand controller has two chip select which
|
||||||
* both be workable.
|
* both be workable.
|
||||||
|
@ -63,9 +39,6 @@ struct pxa3xx_nand_platform_data {
|
||||||
|
|
||||||
const struct mtd_partition *parts[NUM_CHIP_SELECT];
|
const struct mtd_partition *parts[NUM_CHIP_SELECT];
|
||||||
unsigned int nr_parts[NUM_CHIP_SELECT];
|
unsigned int nr_parts[NUM_CHIP_SELECT];
|
||||||
|
|
||||||
const struct pxa3xx_nand_flash * flash;
|
|
||||||
size_t num_flash;
|
|
||||||
};
|
};
|
||||||
|
|
||||||
extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info);
|
extern void pxa3xx_set_nand_info(struct pxa3xx_nand_platform_data *info);
|
||||||
|
|
Loading…
Reference in a new issue