reset.c 473 B

123456789101112131415161718192021222324
  1. /*
  2. * OMAP1 reset support
  3. */
  4. #include <linux/kernel.h>
  5. #include <linux/io.h>
  6. #include <plat/prcm.h>
  7. #include <mach/hardware.h>
  8. void omap1_restart(char mode, const char *cmd)
  9. {
  10. /*
  11. * Workaround for 5912/1611b bug mentioned in sprz209d.pdf p. 28
  12. * "Global Software Reset Affects Traffic Controller Frequency".
  13. */
  14. if (cpu_is_omap5912()) {
  15. omap_writew(omap_readw(DPLL_CTL) & ~(1 << 4), DPLL_CTL);
  16. omap_writew(0x8, ARM_RSTCT1);
  17. }
  18. omap_writew(1, ARM_RSTCT1);
  19. }