pflash: fix erase command when using mtd backend

The libflash mtd backend lacked support for full-chip erase so it did
not work.  This patch adds that support to libflash. Patch is on it's
way upstream[1].

Note: the old MMIO access method could perform a wole-chip
erase on SPI NOR parts that supported it. This was sometimes a fraction
faster than erasing each page one-by-one when re-flashing the entire
chip.

The mtd API does not (yet) provide a userspace API for that, so libflash
always erases the flash one page at a time. This means you are better
off using the -e command over -E.

Fixes: openbmc/openbmc#747

[1] http://patchwork.ozlabs.org/patch/691765/

Change-Id: I20cf50e70a8487edc8cd77d41e73832913237b1b
Signed-off-by: Joel Stanley <joel@jms.id.au>
2 files changed
tree: 5f0a5f64bb89743c02c119da13f8cd1c4f70ba7e
  1. import-layers/
  2. meta-openbmc-bsp/
  3. meta-openbmc-machines/
  4. meta-phosphor/
  5. .gitignore
  6. .gitreview
  7. .templateconf
  8. openbmc-env
  9. README.md
README.md

OpenBMC

Build Status

Building

OpenBMC uses Yocto/Open-Embedded for a build system, which supports an out-of-tree build. It is recommended that you create an empty directory somewhere to hold the build. This directory will get big.

On Ubuntu 14.04 the following packages are required to build the default target

sudo apt-get install -y git build-essential libsdl1.2-dev texinfo gawk chrpath diffstat

On Fedora 23 the following packages are required to build the default target:

sudo dnf install -y git patch diffstat texinfo chrpath SDL-devel bitbake
sudo dnf groupinstall "C Development Tools and Libraries"

To start a build:

cd <builddir>
. <repodir>/openbmc-env
bitbake obmc-phosphor-image