system.h 517 B

1234567891011121314151617181920212223242526
  1. /*
  2. * arch/arm/mach-ep93xx/include/mach/system.h
  3. */
  4. #include <mach/hardware.h>
  5. static inline void arch_idle(void)
  6. {
  7. cpu_do_idle();
  8. }
  9. static inline void arch_reset(char mode)
  10. {
  11. u32 devicecfg;
  12. local_irq_disable();
  13. devicecfg = __raw_readl(EP93XX_SYSCON_DEVICE_CONFIG);
  14. __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
  15. __raw_writel(devicecfg | 0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
  16. __raw_writel(0xaa, EP93XX_SYSCON_SWLOCK);
  17. __raw_writel(devicecfg & ~0x80000000, EP93XX_SYSCON_DEVICE_CONFIG);
  18. while (1)
  19. ;
  20. }