| Electronic Components Datasheet Search |
|
UM0851 Datasheet(PDF) 228 Page - STMicroelectronics |
|
|
|||||||||||||||||||||||||||||
UM0851 Datasheet(HTML) 228 Page - STMicroelectronics |
|
228 / 245 page ![]() Power management section UM0851 228/245 Doc ID 16604 Rev 2 The architecture specific code puts the system into low power mode. The architecture specific code uses the following algorithm. ● Register SPEAr Architecture Specific driver PM framework. The Architecture layer provides the functions for entering suspend-to-RAM state and then waking-up from sleep. ● Each device's driver is asked to suspend the device by putting it into a state compatible with the target system state. ● The DDR is put into self-refresh mode. The system enters a low power state, depending on the mode. ● Wake-up-enabled devices usually stay partly functional in order to wake the system. ● The wake-up is normally triggered by a GPIO/Ethernet/RTC interrupt. This trigger generates the interrupt to wake up the system. The DDR is then moved back from Self Refresh mode and the system is put back into Normal mode. ● When the system leaves this low power state, the device's driver is asked to resume. ● The suspend and resume operations always go together, and both are multi-phase operations. ● The SPEAr architecture driver (arch/arm/mach-spearxxx/pm.c) registers into the kernel PM framework using the suspend_set_ops() call. The arch code provides the function pointers to a set of suspend resume operations to be performed by the SPEAr-specific code. The data structure used for the this is: struct platform_suspend_ops { int (*valid)(suspend_state_t state); int (*begin)(suspend_state_t state); int (*prepare)(void); int (*enter)(suspend_state_t state); void (*finish)(void); void (*end)(void); } /*Below is a section of the code demonstrating the registration into the PM framework from the architecture specific driver */ static int __init spear_pm_init(void) { … suspend_pm_ops(&spear_pm_ops); … } /* The device driver which need to act as wakeup source should set up the wakeup event via following system calls*/ int set_irq_wake(irq, state); int disable_irq_wake(unsigned int irq) /* refer drivers/net/arm/spr_eth_syn.c for details */ 10.3.2 Clock framework API The Linux 2.6 kernel provides a clock framework to be used by the drivers in the kernel space. |
|
Link URL |
| Does ALLDATASHEET help your business so far? [ DONATE ] |
About Alldatasheet | Advertisement | Contact us | Privacy Policy | Link to Datasheet | Link Exchange | Manufacturer List All Rights Reserved©Alldatasheet.com |
| Russian : Alldatasheetru.com | Korean : Alldatasheet.co.kr | Spanish : Alldatasheet.es | French : Alldatasheet.fr | Italian : Alldatasheetit.com Portuguese : Alldatasheetpt.com | Polish : Alldatasheet.pl | Vietnamese : Alldatasheet.vn Indian : Alldatasheet.in | Mexican : Alldatasheet.com.mx | British : Alldatasheet.co.uk | New Zealand : Alldatasheet.co.nz |
|
Family Site : ic2ic.com |
icmetro.com |