diff options
author | Sascha Hauer <s.hauer@pengutronix.de> | 2014-10-17 14:46:11 +0200 |
---|---|---|
committer | Sascha Hauer <s.hauer@pengutronix.de> | 2015-08-26 15:14:00 +0200 |
commit | 3e1adbf832b8f420906e6d5cbf5bec7617545c7e (patch) | |
tree | 28f7de3e43ee9021c312e05209e8b1b060b86a60 /drivers/mtd/devices/m25p80.c | |
parent | f38ba32965c5686c062884fab2e9f505015af82a (diff) | |
download | barebox-3e1adbf832b8f420906e6d5cbf5bec7617545c7e.tar.gz barebox-3e1adbf832b8f420906e6d5cbf5bec7617545c7e.tar.xz |
mtd: m25p80: make it possible to use large blocks if desired
Some SPI NOR flashes support 4K erase blocks. 4K erase blocks do not
work with UBIFS which needs a minimum erase block size of 15360 bytes.
Also bigger sectors are faster to erase. This patch adds a device tree
option to use the bigger blocks instead of the default 4K blocks.
Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
Diffstat (limited to 'drivers/mtd/devices/m25p80.c')
-rw-r--r-- | drivers/mtd/devices/m25p80.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/mtd/devices/m25p80.c b/drivers/mtd/devices/m25p80.c index 794c9dbd82..d627690080 100644 --- a/drivers/mtd/devices/m25p80.c +++ b/drivers/mtd/devices/m25p80.c @@ -235,6 +235,7 @@ static int m25p_probe(struct device_d *dev) enum read_mode mode = SPI_NOR_NORMAL; const char *flash_name = NULL; int device_id; + bool use_large_blocks; int ret; data = dev->platform_data; @@ -272,7 +273,10 @@ static int m25p_probe(struct device_d *dev) else flash_name = NULL; /* auto-detect */ - ret = spi_nor_scan(nor, flash_name, mode); + use_large_blocks = of_property_read_bool(dev->device_node, + "use-large-blocks"); + + ret = spi_nor_scan(nor, flash_name, mode, use_large_blocks); if (ret) return ret; |