| 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 |