pm-core.h 1.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. /* linux/arch/arm/mach-exynos4/include/mach/pm-core.h
  2. *
  3. * Copyright (c) 2011 Samsung Electronics Co., Ltd.
  4. * http://www.samsung.com
  5. *
  6. * Based on arch/arm/mach-s3c2410/include/mach/pm-core.h,
  7. * Copyright 2008 Simtec Electronics
  8. * Ben Dooks <ben@simtec.co.uk>
  9. * http://armlinux.simtec.co.uk/
  10. *
  11. * EXYNOS4210 - PM core support for arch/arm/plat-s5p/pm.c
  12. *
  13. * This program is free software; you can redistribute it and/or modify
  14. * it under the terms of the GNU General Public License version 2 as
  15. * published by the Free Software Foundation.
  16. */
  17. #ifndef __ASM_ARCH_PM_CORE_H
  18. #define __ASM_ARCH_PM_CORE_H __FILE__
  19. #include <linux/of.h>
  20. #include <mach/regs-pmu.h>
  21. #ifdef CONFIG_PINCTRL_EXYNOS
  22. extern u32 exynos_get_eint_wake_mask(void);
  23. #else
  24. static inline u32 exynos_get_eint_wake_mask(void) { return 0xffffffff; }
  25. #endif
  26. static inline void s3c_pm_debug_init_uart(void)
  27. {
  28. /* nothing here yet */
  29. }
  30. static inline void s3c_pm_arch_prepare_irqs(void)
  31. {
  32. u32 eintmask = s3c_irqwake_eintmask;
  33. if (of_have_populated_dt())
  34. eintmask = exynos_get_eint_wake_mask();
  35. __raw_writel(eintmask, S5P_EINT_WAKEUP_MASK);
  36. __raw_writel(s3c_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK);
  37. }
  38. static inline void s3c_pm_arch_stop_clocks(void)
  39. {
  40. /* nothing here yet */
  41. }
  42. static inline void s3c_pm_arch_show_resume_irqs(void)
  43. {
  44. /* nothing here yet */
  45. }
  46. static inline void s3c_pm_arch_update_uart(void __iomem *regs,
  47. struct pm_uart_save *save)
  48. {
  49. /* nothing here yet */
  50. }
  51. static inline void s3c_pm_restored_gpios(void)
  52. {
  53. /* nothing here yet */
  54. }
  55. static inline void samsung_pm_saved_gpios(void)
  56. {
  57. /* nothing here yet */
  58. }
  59. #endif /* __ASM_ARCH_PM_CORE_H */