[PATCH 0/8] LPDDR a new kind of non-volatile memoriy (take 2)

Alexey Korolev akorolev at infradead.org
Mon Oct 20 12:30:12 EDT 2008


Hi,

I'd like to present a set of patches which introduces support of new
kind of non-volatile memory intended to work on devices with LPDDR bus.
LPDDR non voliatile memories behavior is described in standard
http://www.jedec.org/Home/press/press_release/07-NV1-Brelease11-29-07.pdf

LPDDR non volatile memory interface is intended to solve the same tasks
as CFI for platforms with LPDDR bus.
The main difference between original CFI chips and non-CFI LPDDR chips
is related to existence of the overlay window (PFOW). All commands,
device
information, chip status should be transfered/recieved through the PFOW.

For eaxmple if we are doing erase operation chip will be in
read array mode (no in status mode) and chip status can be recieved by
reading the particular field inside the PFOW. It should bring nice
features in future; as well as grouped and well extendable device
capabilities list based on new standard of quinfo records.

The only serious disadvantage of having overlay window is related to
platform dependency as PFOW could be opened or closed by LPDDR memory 
controller which implementation depends on platform.

Our primary goal was to develop platform independed code. So we decided
to place place memory controller configuration and setting up PFOW
window 
on shoulders of bootloader.

In other aspects LPDDR implementation is close to NOR flash chips.
LPDDR memory performs similar functions as CFI chips. As legacy CFI
flashes LPDDR chips needs to be mapped into memory region.

Special thanks to
Roman Borisov for intial enabling,
Vasilliy Leonenko for help in development and validation
Jared Hulbert for code reviews and good advices

 drivers/mtd/Kconfig         |    2 ++
 drivers/mtd/Makefile        |    2 +-
 drivers/mtd/maps/Kconfig    |    4 ++--
 drivers/mtd/maps/physmap.c  |    8 +++++++-
 include/linux/mtd/map.h     |    1 +
 include/linux/mtd/physmap.h |    1 +
 drivers/mtd/lpddr/Kconfig       |   22 ++
 drivers/mtd/lpddr/Makefile      |    6 +
 drivers/mtd/lpddr/lpddr_cmds.c  |  796 +++++++++++++++++++++++++++++++++++++++
 drivers/mtd/lpddr/qinfo_probe.c |  255 +++++++++++++
 include/linux/mtd/pfow.h        |  159 ++++++++
 include/linux/mtd/qinfo.h       |   91 +++++
 12 files changed, 1343 insertions(+), 4 deletions(-)

This is a second post of these patches.
The following changes were made comparing to
previous version:
1. Fixed ifdef issue 
2. Fixed patch order
3. Removed physmap compat mode support for PFOW base. It make sense to do stand 
   alone patch if this feature is really necessary for Linux users. 

Thanks,
Alexey



More information about the linux-mtd mailing list