2823a4c8 |
1 | #if !defined(_CPUCTRL_) |
2 | #define _CPUCTRL_ |
3 | |
4 | void cpuctrl_init(); // call this at first |
5 | |
6 | void save_system_regs(); // save some registers |
7 | void load_system_regs(); |
8 | |
9 | void set_FCLK(unsigned MHZ); // adjust the clock frequency (in Mhz units) |
10 | void set_add_ULCDCLK(int addclock); |
11 | void set_add_FLCDCLK(int addclock); |
12 | |
13 | unsigned get_FCLK(); |
14 | unsigned get_freq_UCLK(); |
15 | unsigned get_freq_ACLK(); |
16 | unsigned get_freq_920_CLK(); |
17 | unsigned get_freq_940_CLK(); |
18 | unsigned get_freq_DCLK(); |
19 | unsigned get_LCDClk(); |
20 | char get_Clkgen(); |
21 | unsigned get_state940(); |
22 | |
23 | void set_920_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */ |
24 | unsigned short get_920_Div(); |
25 | |
26 | void set_940_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */ |
27 | unsigned short get_940_Div(); |
28 | |
29 | void set_DCLK_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */ |
30 | unsigned short get_DCLK_Div(); |
31 | |
32 | unsigned short Disable_Int_920(); |
33 | unsigned short Disable_Int_940(); |
34 | |
35 | void Enable_Int_920(unsigned short flag); |
36 | void Enable_Int_940(unsigned short flag); |
37 | |
38 | void Disable_940(); // 940t down |
39 | |
40 | extern volatile unsigned *arm940code; // memory address of 940t code |
41 | |
42 | void Load_940_code(unsigned *code,int size); // enable 940t, load 940t code and clock 940t off |
43 | |
44 | void clock_940_off(); // 940t stops |
45 | void clock_940_on(); // 940t running |
46 | |
47 | //Memory Timings |
48 | unsigned get_CAS(); //CAS Latency |
49 | unsigned get_tRC(); //ACTIVE to ACTIVE /AUTOREFRESH command delay |
50 | unsigned get_tRAS(); //ACTIVE to PRECHARGE delay |
51 | unsigned get_tWR(); //Write recovery time |
52 | unsigned get_tMRD(); //LOAD MODE REGISTER command cycle time |
53 | unsigned get_tRFC(); //AUTO REFRESH command period |
54 | unsigned get_tRP(); //PRECHARGE command period |
55 | unsigned get_tRCD(); //RAS to CAS Delay |
56 | unsigned get_REFPERD();//Refresh Period |
57 | |
58 | void set_CAS(); |
59 | void set_tRC(); |
60 | void set_tRAS(); |
61 | void set_tWR(); |
62 | void set_tMRD(); |
63 | void set_tRFC(); |
64 | void set_tRP(); |
65 | void set_tRCD(); |
66 | void set_REFPERD(); |
67 | |
68 | void set_gamma(float gamma); |
69 | |
70 | unsigned get_YBNKLVL(); |
71 | void set_YBNKLVL(unsigned short val); |
72 | #endif |