[MTD] LPDDR extended physmap driver to support LPDDR flash

Linux-MTD Mailing List linux-mtd at lists.infradead.org
Mon Jan 5 11:59:02 EST 2009


Gitweb:     http://git.infradead.org/?p=mtd-2.6.git;a=commit;h=d81408304b06a71c28417445202af9cd6673168d
Commit:     d81408304b06a71c28417445202af9cd6673168d
Parent:     d13e51e747fee301b404dffcf4a7e1bdc558969b
Author:     Alexey Korolev <akorolev at infradead.org>
AuthorDate: Tue Dec 16 18:22:39 2008 +0000
Committer:  David Woodhouse <David.Woodhouse at intel.com>
CommitDate: Mon Jan 5 13:57:28 2009 +0100

    [MTD] LPDDR extended physmap driver to support LPDDR flash
    
    Physmap is a generic map driver for different platforms and flash types.
    We added support of LPDDR to physmap.
    All changes here are related to introduction of new pfow_base parameter.
    This parameter is valid in case of LPDDR chips only.
    
    Signed-off-by: Alexey Korolev <akorolev at infradead.org>
    Acked-by: Jared Hulbert <jaredeh at gmail.com>
    Signed-off-by: David Woodhouse <David.Woodhouse at intel.com>
---
 drivers/mtd/maps/Kconfig    |    4 ++--
 drivers/mtd/maps/physmap.c  |    8 +++++++-
 include/linux/mtd/physmap.h |    1 +
 3 files changed, 10 insertions(+), 3 deletions(-)

diff --git a/drivers/mtd/maps/Kconfig b/drivers/mtd/maps/Kconfig
index 3788a54..0225cbb 100644
--- a/drivers/mtd/maps/Kconfig
+++ b/drivers/mtd/maps/Kconfig
@@ -10,8 +10,8 @@ config MTD_COMPLEX_MAPPINGS
 	  paged mappings of flash chips.
 
 config MTD_PHYSMAP
-	tristate "CFI Flash device in physical memory map"
-	depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM
+	tristate "Flash device in physical memory map"
+	depends on MTD_CFI || MTD_JEDECPROBE || MTD_ROM || MTD_LPDDR
 	help
 	  This provides a 'mapping' driver which allows the NOR Flash and
 	  ROM driver code to communicate with chips which are mapped
diff --git a/drivers/mtd/maps/physmap.c b/drivers/mtd/maps/physmap.c
index d3a2acc..8774366 100644
--- a/drivers/mtd/maps/physmap.c
+++ b/drivers/mtd/maps/physmap.c
@@ -68,7 +68,12 @@ static int physmap_flash_remove(struct platform_device *dev)
 	return 0;
 }
 
-static const char *rom_probe_types[] = { "cfi_probe", "jedec_probe", "map_rom", NULL };
+static const char *rom_probe_types[] = {
+					"cfi_probe",
+					"jedec_probe",
+					"qinfo_probe",
+					"map_rom",
+					NULL };
 #ifdef CONFIG_MTD_PARTITIONS
 static const char *part_probe_types[] = { "cmdlinepart", "RedBoot", NULL };
 #endif
@@ -117,6 +122,7 @@ static int physmap_flash_probe(struct platform_device *dev)
 		info->map[i].size = dev->resource[i].end - dev->resource[i].start + 1;
 		info->map[i].bankwidth = physmap_data->width;
 		info->map[i].set_vpp = physmap_data->set_vpp;
+		info->map[i].pfow_base = physmap_data->pfow_base;
 
 		info->map[i].virt = devm_ioremap(&dev->dev, info->map[i].phys,
 						 info->map[i].size);
diff --git a/include/linux/mtd/physmap.h b/include/linux/mtd/physmap.h
index c8e63a5..76f7cab 100644
--- a/include/linux/mtd/physmap.h
+++ b/include/linux/mtd/physmap.h
@@ -24,6 +24,7 @@ struct physmap_flash_data {
 	unsigned int		width;
 	void			(*set_vpp)(struct map_info *, int);
 	unsigned int		nr_parts;
+	unsigned int		pfow_base;
 	struct mtd_partition	*parts;
 };
 



More information about the linux-mtd-cvs mailing list