1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859 |
- /*
- * Miscellaneous IOCTL commands for Dynamic Power Management Controller Driver
- *
- * Copyright (C) 2004-2008 Analog Device Inc.
- *
- * Licensed under the GPL-2
- */
- #ifndef _BLACKFIN_DPMC_H_
- #define _BLACKFIN_DPMC_H_
- #ifdef __KERNEL__
- #ifndef __ASSEMBLY__
- void sleep_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
- void hibernate_mode(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
- void sleep_deeper(u32 sic_iwr0, u32 sic_iwr1, u32 sic_iwr2);
- void do_hibernate(int wakeup);
- void set_dram_srfs(void);
- void unset_dram_srfs(void);
- #define VRPAIR(vlev, freq) (((vlev) << 16) | ((freq) >> 16))
- struct bfin_dpmc_platform_data {
- const unsigned int *tuple_tab;
- unsigned short tabsize;
- unsigned short vr_settling_time; /* in us */
- };
- #else
- #define PM_PUSH(x) \
- R0 = [P0 + (x - SRAM_BASE_ADDRESS)];\
- [--SP] = R0;\
- #define PM_POP(x) \
- R0 = [SP++];\
- [P0 + (x - SRAM_BASE_ADDRESS)] = R0;\
- #define PM_SYS_PUSH(x) \
- R0 = [P0 + (x - PLL_CTL)];\
- [--SP] = R0;\
- #define PM_SYS_POP(x) \
- R0 = [SP++];\
- [P0 + (x - PLL_CTL)] = R0;\
- #define PM_SYS_PUSH16(x) \
- R0 = w[P0 + (x - PLL_CTL)];\
- [--SP] = R0;\
- #define PM_SYS_POP16(x) \
- R0 = [SP++];\
- w[P0 + (x - PLL_CTL)] = R0;\
- #endif
- #endif /* __KERNEL__ */
- #endif /*_BLACKFIN_DPMC_H_*/
|