Linux Kernel
3.7.1
Main Page
Related Pages
Modules
Namespaces
Data Structures
Files
File List
Globals
All
Data Structures
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Macros
Groups
Pages
drivers
staging
tidspbridge
include
dspbridge
pwr.h
Go to the documentation of this file.
1
/*
2
* pwr.h
3
*
4
* DSP-BIOS Bridge driver support functions for TI OMAP processors.
5
*
6
* Copyright (C) 2005-2006 Texas Instruments, Inc.
7
*
8
* This package is free software; you can redistribute it and/or modify
9
* it under the terms of the GNU General Public License version 2 as
10
* published by the Free Software Foundation.
11
*
12
* THIS PACKAGE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
13
* IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
14
* WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
15
*/
16
17
#ifndef PWR_
18
#define PWR_
19
20
#include <
dspbridge/dbdefs.h
>
21
#include <
dspbridge/mbx_sh.h
>
22
23
/* valid sleep command codes that can be sent by GPP via mailbox: */
24
#define PWR_DEEPSLEEP MBX_PM_DSPIDLE
25
#define PWR_EMERGENCYDEEPSLEEP MBX_PM_EMERGENCYSLEEP
26
#define PWR_WAKEUP MBX_PM_DSPWAKEUP
27
28
29
/*
30
* ======== pwr_sleep_dsp ========
31
* Signal the DSP to go to sleep.
32
*
33
* Parameters:
34
* sleep_code: New sleep state for DSP. (Initially, valid codes
35
* are PWR_DEEPSLEEP or PWR_EMERGENCYDEEPSLEEP; both of
36
* these codes will simply put the DSP in deep sleep.)
37
*
38
* timeout: Maximum time (msec) that PWR should wait for
39
* confirmation that the DSP sleep state has been
40
* reached. If PWR should simply send the command to
41
* the DSP to go to sleep and then return (i.e.,
42
* asynchrounous sleep), the timeout should be
43
* specified as zero.
44
*
45
* Returns:
46
* 0: Success.
47
* 0: Success, but the DSP was already asleep.
48
* -EINVAL: The specified sleep_code is not supported.
49
* -ETIME: A timeout occurred while waiting for DSP sleep
50
* confirmation.
51
* -EPERM: General failure, unable to send sleep command to
52
* the DSP.
53
*/
54
extern
int
pwr_sleep_dsp
(
const
u32
sleep_code,
const
u32
timeout
);
55
56
/*
57
* ======== pwr_wake_dsp ========
58
* Signal the DSP to wake from sleep.
59
*
60
* Parameters:
61
* timeout: Maximum time (msec) that PWR should wait for
62
* confirmation that the DSP is awake. If PWR should
63
* simply send a command to the DSP to wake and then
64
* return (i.e., asynchrounous wake), timeout should
65
* be specified as zero.
66
*
67
* Returns:
68
* 0: Success.
69
* 0: Success, but the DSP was already awake.
70
* -ETIME: A timeout occurred while waiting for wake
71
* confirmation.
72
* -EPERM: General failure, unable to send wake command to
73
* the DSP.
74
*/
75
extern
int
pwr_wake_dsp
(
const
u32
timeout
);
76
77
/*
78
* ======== pwr_pm_pre_scale ========
79
* Prescale notification to DSP.
80
*
81
* Parameters:
82
* voltage_domain: The voltage domain for which notification is sent
83
* level: The level of voltage domain
84
*
85
* Returns:
86
* 0: Success.
87
* 0: Success, but the DSP was already awake.
88
* -ETIME: A timeout occurred while waiting for wake
89
* confirmation.
90
* -EPERM: General failure, unable to send wake command to
91
* the DSP.
92
*/
93
extern
int
pwr_pm_pre_scale
(
u16
voltage_domain,
u32
level
);
94
95
/*
96
* ======== pwr_pm_post_scale ========
97
* PostScale notification to DSP.
98
*
99
* Parameters:
100
* voltage_domain: The voltage domain for which notification is sent
101
* level: The level of voltage domain
102
*
103
* Returns:
104
* 0: Success.
105
* 0: Success, but the DSP was already awake.
106
* -ETIME: A timeout occurred while waiting for wake
107
* confirmation.
108
* -EPERM: General failure, unable to send wake command to
109
* the DSP.
110
*/
111
extern
int
pwr_pm_post_scale
(
u16
voltage_domain,
u32
level
);
112
113
#endif
/* PWR_ */
Generated on Thu Jan 10 2013 14:32:05 for Linux Kernel by
1.8.2