Merge git://git.infradead.org/battery-2.6
[pandora-kernel.git] / arch / arm / mach-omap1 / reset.c
1 /*
2  * OMAP1 reset support
3  */
4 #include <linux/kernel.h>
5 #include <linux/io.h>
6
7 #include <mach/hardware.h>
8 #include <mach/system.h>
9 #include <plat/prcm.h>
10
11 void omap1_arch_reset(char mode, const char *cmd)
12 {
13         /*
14          * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28
15          * "Global Software Reset Affects Traffic Controller Frequency".
16          */
17         if (cpu_is_omap5912()) {
18                 omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4), DPLL_CTL);
19                 omap_writew(0x8, ARM_RSTCT1);
20         }
21
22         omap_writew(1, ARM_RSTCT1);
23 }
24
25 void (*arch_reset)(char, const char *) = omap1_arch_reset;