pm-core.h 1.7 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. __raw_writel(exynos_get_eint_wake_mask(), S5P_EINT_WAKEUP_MASK);
  33. __raw_writel(s3c_irqwake_intmask & ~(1 << 31), S5P_WAKEUP_MASK);
  34. }
  35. static inline void s3c_pm_arch_stop_clocks(void)
  36. {
  37. /* nothing here yet */
  38. }
  39. static inline void s3c_pm_arch_show_resume_irqs(void)
  40. {
  41. /* nothing here yet */
  42. }
  43. static inline void s3c_pm_arch_update_uart(void __iomem *regs,
  44. struct pm_uart_save *save)
  45. {
  46. /* nothing here yet */
  47. }
  48. static inline void s3c_pm_restored_gpios(void)
  49. {
  50. /* nothing here yet */
  51. }
  52. static inline void samsung_pm_saved_gpios(void)
  53. {
  54. /* nothing here yet */
  55. }
  56. /* Compatibility definitions to make plat-samsung/pm.c compile */
  57. #define IRQ_EINT_BIT(x) 1
  58. #define s3c_irqwake_intallow 0
  59. #define s3c_irqwake_eintallow 0
  60. #endif /* __ASM_ARCH_PM_CORE_H */