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