• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 /*
2  * include/asm-blackfin/dpmc.h -  Miscellaneous IOCTL commands for Dynamic Power
3  *   			 	Management Controller Driver.
4  * Copyright (C) 2004-2008 Analog Device Inc.
5  *
6  */
7 #ifndef _BLACKFIN_DPMC_H_
8 #define _BLACKFIN_DPMC_H_
9 
10 #ifdef __KERNEL__
11 #ifndef __ASSEMBLY__
12 
13 void sleep_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
14 void hibernate_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
15 void sleep_deeper(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
16 void do_hibernate(int wakeup);
17 void set_dram_srfs(void);
18 void unset_dram_srfs(void);
19 
20 #define VRPAIR(vlev, freq) (((vlev) << 16) | ((freq) >> 16))
21 
22 struct bfin_dpmc_platform_data {
23 	const unsigned int *tuple_tab;
24 	unsigned short tabsize;
25 	unsigned short vr_settling_time; /* in us */
26 };
27 
28 #else
29 
30 #define PM_PUSH(x) \
31 	R0 = [P0 + (x - SRAM_BASE_ADDRESS)];\
32 	[--SP] =  R0;\
33 
34 #define PM_POP(x) \
35 	R0 = [SP++];\
36 	[P0 + (x - SRAM_BASE_ADDRESS)] = R0;\
37 
38 #define PM_SYS_PUSH(x) \
39 	R0 = [P0 + (x - PLL_CTL)];\
40 	[--SP] =  R0;\
41 
42 #define PM_SYS_POP(x) \
43 	R0 = [SP++];\
44 	[P0 + (x - PLL_CTL)] = R0;\
45 
46 #define PM_SYS_PUSH16(x) \
47 	R0 = w[P0 + (x - PLL_CTL)];\
48 	[--SP] =  R0;\
49 
50 #define PM_SYS_POP16(x) \
51 	R0 = [SP++];\
52 	w[P0 + (x - PLL_CTL)] = R0;\
53 
54 #endif
55 #endif	/* __KERNEL__ */
56 
57 #endif	/*_BLACKFIN_DPMC_H_*/
58