34 lines
692 B
C
34 lines
692 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>
|
||
|
|
||
|
void omap1_set_vpp(struct map_info *map, 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);
|
||
|
}
|
||
|
}
|
||
|
}
|