root/arch/arm/plat-samsung/include/plat/pm.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. s3c_pm_init
  2. s3c64xx_pm_init
  3. s3c_pm_debug_smdkled
  4. samsung_pm_restore_gpios
  5. samsung_pm_save_gpios

   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 /*
   3  * Copyright (c) 2004 Simtec Electronics
   4  *      http://armlinux.simtec.co.uk/
   5  *      Written by Ben Dooks, <ben@simtec.co.uk>
   6  */
   7 
   8 /* s3c_pm_init
   9  *
  10  * called from board at initialisation time to setup the power
  11  * management
  12 */
  13 
  14 #include <plat/pm-common.h>
  15 
  16 struct device;
  17 
  18 #ifdef CONFIG_SAMSUNG_PM
  19 
  20 extern __init int s3c_pm_init(void);
  21 extern __init int s3c64xx_pm_init(void);
  22 
  23 #else
  24 
  25 static inline int s3c_pm_init(void)
  26 {
  27         return 0;
  28 }
  29 
  30 static inline int s3c64xx_pm_init(void)
  31 {
  32         return 0;
  33 }
  34 #endif
  35 
  36 /* configuration for the IRQ mask over sleep */
  37 extern unsigned long s3c_irqwake_intmask;
  38 extern unsigned long s3c_irqwake_eintmask;
  39 
  40 /* per-cpu sleep functions */
  41 
  42 extern void (*pm_cpu_prep)(void);
  43 extern int (*pm_cpu_sleep)(unsigned long);
  44 
  45 /* Flags for PM Control */
  46 
  47 extern unsigned long s3c_pm_flags;
  48 
  49 /* from sleep.S */
  50 
  51 extern int s3c2410_cpu_suspend(unsigned long);
  52 
  53 #ifdef CONFIG_PM_SLEEP
  54 extern int s3c_irq_wake(struct irq_data *data, unsigned int state);
  55 extern void s3c_cpu_resume(void);
  56 #else
  57 #define s3c_irq_wake NULL
  58 #define s3c_cpu_resume NULL
  59 #endif
  60 
  61 #ifdef CONFIG_SAMSUNG_PM
  62 extern int s3c_irqext_wake(struct irq_data *data, unsigned int state);
  63 #else
  64 #define s3c_irqext_wake NULL
  65 #endif
  66 
  67 #ifdef CONFIG_S3C_PM_DEBUG_LED_SMDK
  68 /**
  69  * s3c_pm_debug_smdkled() - Debug PM suspend/resume via SMDK Board LEDs
  70  * @set: set bits for the state of the LEDs
  71  * @clear: clear bits for the state of the LEDs.
  72  */
  73 extern void s3c_pm_debug_smdkled(u32 set, u32 clear);
  74 
  75 #else
  76 static inline void s3c_pm_debug_smdkled(u32 set, u32 clear) { }
  77 #endif /* CONFIG_S3C_PM_DEBUG_LED_SMDK */
  78 
  79 /**
  80  * s3c_pm_configure_extint() - ensure pins are correctly set for IRQ
  81  *
  82  * Setup all the necessary GPIO pins for waking the system on external
  83  * interrupt.
  84  */
  85 extern void s3c_pm_configure_extint(void);
  86 
  87 #ifdef CONFIG_GPIO_SAMSUNG
  88 /**
  89  * samsung_pm_restore_gpios() - restore the state of the gpios after sleep.
  90  *
  91  * Restore the state of the GPIO pins after sleep, which may involve ensuring
  92  * that we do not glitch the state of the pins from that the bootloader's
  93  * resume code has done.
  94 */
  95 extern void samsung_pm_restore_gpios(void);
  96 
  97 /**
  98  * samsung_pm_save_gpios() - save the state of the GPIOs for restoring after sleep.
  99  *
 100  * Save the GPIO states for resotration on resume. See samsung_pm_restore_gpios().
 101  */
 102 extern void samsung_pm_save_gpios(void);
 103 #else
 104 static inline void samsung_pm_restore_gpios(void) {}
 105 static inline void samsung_pm_save_gpios(void) {}
 106 #endif
 107 
 108 extern void s3c_pm_save_core(void);
 109 extern void s3c_pm_restore_core(void);

/* [<][>][^][v][top][bottom][index][help] */