Commit d8140830 authored by Alexey Korolev's avatar Alexey Korolev Committed by David Woodhouse
Browse files

[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: default avatarAlexey Korolev <akorolev@infradead.org>
Acked-by: default avatarJared Hulbert <jaredeh@gmail.com>
Signed-off-by: default avatarDavid Woodhouse <David.Woodhouse@intel.com>
parent d13e51e7
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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
+7 −1
Original line number Diff line number Diff line
@@ -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);
+1 −0
Original line number Diff line number Diff line
@@ -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;
};