xref: /linux/arch/arm/mach-omap1/flash.c (revision d39d0ed196aa1685bb24771e92f78633c66ac9cb)
1 /*
2  * Flash support for OMAP1
3  *
4  * This program is free software; you can redistribute it and/or modify
5  * it under the terms of the GNU General Public License version 2 as
6  * published by the Free Software Foundation.
7  */
8 
9 #include <linux/mtd/mtd.h>
10 #include <linux/mtd/map.h>
11 
12 #include <plat/io.h>
13 #include <plat/tc.h>
14 
15 void omap1_set_vpp(struct map_info *map, int enable)
16 {
17 	static int count;
18 	u32 l;
19 
20 	if (enable) {
21 		if (count++ == 0) {
22 			l = omap_readl(EMIFS_CONFIG);
23 			l |= OMAP_EMIFS_CONFIG_WP;
24 			omap_writel(l, EMIFS_CONFIG);
25 		}
26 	} else {
27 		if (count && (--count == 0)) {
28 			l = omap_readl(EMIFS_CONFIG);
29 			l &= ~OMAP_EMIFS_CONFIG_WP;
30 			omap_writel(l, EMIFS_CONFIG);
31 		}
32 	}
33 }
34