summaryrefslogtreecommitdiff
path: root/gp2x/cpuctrl.h
blob: 13ffa265075f5dc79b574e1cd3e76bc0d1b9edc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
#if !defined(_CPUCTRL_)
#define _CPUCTRL_

void cpuctrl_init(); // call this at first

void save_system_regs(); // save some registers
void load_system_regs();

void set_FCLK(unsigned MHZ); // adjust the clock frequency (in Mhz units)
void set_add_ULCDCLK(int addclock);
void set_add_FLCDCLK(int addclock);

unsigned get_FCLK();
unsigned get_freq_UCLK();
unsigned get_freq_ACLK();
unsigned get_freq_920_CLK();
unsigned get_freq_940_CLK();
unsigned get_freq_DCLK();
unsigned get_LCDClk();
char get_Clkgen();
unsigned get_state940();

void set_920_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */
unsigned short get_920_Div();

void set_940_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */
unsigned short get_940_Div();

void set_DCLK_Div(unsigned short div); /* 0 to 7 divider (freq=FCLK/(1+div)) */
unsigned short get_DCLK_Div();

unsigned short Disable_Int_920();
unsigned short Disable_Int_940();

void Enable_Int_920(unsigned short flag);
void Enable_Int_940(unsigned short flag);

void Disable_940(); // 940t down

extern volatile unsigned  *arm940code; // memory address of 940t code

void Load_940_code(unsigned *code,int size); // enable 940t, load 940t code  and clock 940t off

void clock_940_off(); // 940t stops
void clock_940_on();  // 940t running

//Memory Timings
unsigned get_CAS();    //CAS Latency
unsigned get_tRC();    //ACTIVE to ACTIVE /AUTOREFRESH command delay
unsigned get_tRAS();   //ACTIVE to PRECHARGE delay
unsigned get_tWR();    //Write recovery time
unsigned get_tMRD();   //LOAD MODE REGISTER command cycle time
unsigned get_tRFC();   //AUTO REFRESH command period
unsigned get_tRP();    //PRECHARGE command period
unsigned get_tRCD();   //RAS to CAS Delay
unsigned get_REFPERD();//Refresh Period

void set_CAS();
void set_tRC();
void set_tRAS();
void set_tWR();
void set_tMRD();
void set_tRFC();
void set_tRP();
void set_tRCD();
void set_REFPERD();

void set_gamma(float gamma);

unsigned get_YBNKLVL();
void set_YBNKLVL(unsigned short val);
#endif