forked from Minki/linux
667f390bee
The set_vpp() method provided by physmap passes a map_info back to the platform code, which has little relevance as far as the platform is concerned (this parameter is completely unused). Instead, pass the platform_device, which can be used in the pismo driver to retrieve some important information in a nicer way, instead of the hack that was in place. The empty set_vpp function in board-at572d940hf_ek.c is left untouched, as the board/SoC is scheduled for removal. Cc: Andrew Victor <linux@maxim.org.za> Cc: Nicolas Ferre <nicolas.ferre@atmel.com> Acked-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Cc: Philipp Zabel <philipp.zabel@gmail.com> Cc: Eric Miao <eric.y.miao@gmail.com> Cc: Ben Dooks <ben-linux@fluff.org> Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com> Acked-by: David Woodhouse <dwmw2@infradead.org> Signed-off-by: Marc Zyngier <marc.zyngier@arm.com> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
35 lines
724 B
C
35 lines
724 B
C
/*
|
|
* Flash support for OMAP1
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License version 2 as
|
|
* published by the Free Software Foundation.
|
|
*/
|
|
|
|
#include <linux/mtd/mtd.h>
|
|
#include <linux/mtd/map.h>
|
|
|
|
#include <plat/io.h>
|
|
#include <plat/tc.h>
|
|
#include <plat/flash.h>
|
|
|
|
void omap1_set_vpp(struct platform_device *pdev, int enable)
|
|
{
|
|
static int count;
|
|
u32 l;
|
|
|
|
if (enable) {
|
|
if (count++ == 0) {
|
|
l = omap_readl(EMIFS_CONFIG);
|
|
l |= OMAP_EMIFS_CONFIG_WP;
|
|
omap_writel(l, EMIFS_CONFIG);
|
|
}
|
|
} else {
|
|
if (count && (--count == 0)) {
|
|
l = omap_readl(EMIFS_CONFIG);
|
|
l &= ~OMAP_EMIFS_CONFIG_WP;
|
|
omap_writel(l, EMIFS_CONFIG);
|
|
}
|
|
}
|
|
}
|