pm-s3c6410.h 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /* linux/arch/arm/mach-s3c2413/pm.h
  2. *
  3. * Copyright (c) 2006 Samsung Electronics
  4. * Ryu Euiyoul <steven.ryu@samsung.com>
  5. *
  6. * Copyright (c) 2004 Simtec Electronics
  7. * Written by Ben Dooks, <ben@simtec.co.uk>
  8. *
  9. * This program is free software; you can redistribute it and/or modify
  10. * it under the terms of the GNU General Public License version 2 as
  11. * published by the Free Software Foundation.
  12. */
  13. /* s3c6400_pm_init
  14. *
  15. * called from board at initialisation time to setup the power
  16. * management
  17. */
  18. #ifdef CONFIG_PM
  19. extern __init int s3c6400_pm_init(void);
  20. #else
  21. static inline int s3c6400_pm_init(void)
  22. {
  23. return 0;
  24. }
  25. #endif
  26. #if 0
  27. /* configuration for the IRQ mask over sleep */
  28. extern unsigned long s3c_irqwake_intmask0;
  29. extern unsigned long s3c_irqwake_intmask1;
  30. extern unsigned long s3c_irqwake_eintmask;
  31. /* IRQ masks for IRQs allowed to go to sleep (see irq.c) */
  32. extern unsigned long s3c_irqwake_intallow0;
  33. extern unsigned long s3c_irqwake_intallow1;
  34. extern unsigned long s3c_irqwake_eintallow;
  35. #endif
  36. /* Flags for PM Control */
  37. extern unsigned long s3c_pm_flags;
  38. /* from sleep.S */
  39. extern void s3c6400_cpu_suspend(unsigned long *saveblk);
  40. extern void s3c6400_cpu_resume(void);
  41. extern unsigned long s3c6400_sleep_save_phys;
  42. /* sleep save info */
  43. struct sleep_save {
  44. unsigned long reg;
  45. unsigned long val;
  46. };
  47. #define SAVE_ITEM(x) \
  48. { .reg = (unsigned long)(x) }
  49. extern void s3c6400_pm_do_save(struct sleep_save *ptr, int count);
  50. extern void s3c6400_pm_do_restore(struct sleep_save *ptr, int count);