Commit | Line | Data |
---|---|---|
1394f032 BW |
1 | /* |
2 | * include/asm-blackfin/dpmc.h - Miscellaneous IOCTL commands for Dynamic Power | |
3 | * Management Controller Driver. | |
4 | * Copyright (C) 2004 Analog Device Inc. | |
5 | * | |
6 | */ | |
7 | #ifndef _BLACKFIN_DPMC_H_ | |
8 | #define _BLACKFIN_DPMC_H_ | |
9 | ||
10 | #define SLEEP_MODE 1 | |
11 | #define DEEP_SLEEP_MODE 2 | |
12 | #define ACTIVE_PLL_DISABLED 3 | |
13 | #define FULLON_MODE 4 | |
14 | #define ACTIVE_PLL_ENABLED 5 | |
15 | #define HIBERNATE_MODE 6 | |
16 | ||
17 | #define IOCTL_FULL_ON_MODE _IO('s', 0xA0) | |
18 | #define IOCTL_ACTIVE_MODE _IO('s', 0xA1) | |
19 | #define IOCTL_SLEEP_MODE _IO('s', 0xA2) | |
20 | #define IOCTL_DEEP_SLEEP_MODE _IO('s', 0xA3) | |
21 | #define IOCTL_HIBERNATE_MODE _IO('s', 0xA4) | |
22 | #define IOCTL_CHANGE_FREQUENCY _IOW('s', 0xA5, unsigned long) | |
23 | #define IOCTL_CHANGE_VOLTAGE _IOW('s', 0xA6, unsigned long) | |
24 | #define IOCTL_SET_CCLK _IOW('s', 0xA7, unsigned long) | |
25 | #define IOCTL_SET_SCLK _IOW('s', 0xA8, unsigned long) | |
26 | #define IOCTL_GET_PLLSTATUS _IOW('s', 0xA9, unsigned long) | |
27 | #define IOCTL_GET_CORECLOCK _IOW('s', 0xAA, unsigned long) | |
28 | #define IOCTL_GET_SYSTEMCLOCK _IOW('s', 0xAB, unsigned long) | |
29 | #define IOCTL_GET_VCO _IOW('s', 0xAC, unsigned long) | |
30 | #define IOCTL_DISABLE_WDOG_TIMER _IO('s', 0xAD) | |
31 | #define IOCTL_UNMASK_WDOG_WAKEUP_EVENT _IO('s',0xAE) | |
32 | #define IOCTL_PROGRAM_WDOG_TIMER _IOW('s',0xAF,unsigned long) | |
33 | #define IOCTL_CLEAR_WDOG_WAKEUP_EVENT _IO('s',0xB0) | |
34 | #define IOCTL_SLEEP_DEEPER_MODE _IO('s',0xB1) | |
35 | ||
36 | #define DPMC_MINOR 254 | |
37 | ||
38 | #define ON 0 | |
39 | #define OFF 1 | |
40 | ||
41 | #ifdef __KERNEL__ | |
42 | ||
43 | unsigned long calc_volt(void); | |
44 | int calc_vlev(int vlt); | |
45 | unsigned long change_voltage(unsigned long volt); | |
46 | int calc_msel(int vco_hz); | |
47 | unsigned long change_frequency(unsigned long vco_mhz); | |
48 | int set_pll_div(unsigned short sel, unsigned char flag); | |
49 | int get_vco(void); | |
50 | unsigned long change_system_clock(unsigned long clock); | |
51 | unsigned long change_core_clock(unsigned long clock); | |
52 | unsigned long get_pll_status(void); | |
53 | void change_baud(int baud); | |
54 | void fullon_mode(void); | |
55 | void active_mode(void); | |
56 | void sleep_mode(u32 sic_iwr); | |
57 | void deep_sleep(u32 sic_iwr); | |
58 | void hibernate_mode(u32 sic_iwr); | |
59 | void sleep_deeper(u32 sic_iwr); | |
60 | void program_wdog_timer(unsigned long); | |
61 | void unmask_wdog_wakeup_evt(void); | |
62 | void clear_wdog_wakeup_evt(void); | |
63 | void disable_wdog_timer(void); | |
64 | ||
65 | extern unsigned long get_cclk(void); | |
66 | extern unsigned long get_sclk(void); | |
67 | ||
68 | #endif /* __KERNEL__ */ | |
69 | ||
70 | #endif /*_BLACKFIN_DPMC_H_*/ |