summaryrefslogtreecommitdiff
path: root/gp2x/cpuctrl.h
diff options
context:
space:
mode:
authornotaz2009-05-21 18:48:31 +0300
committernotaz2009-05-21 18:48:31 +0300
commit2823a4c8196a02da86ee180cf55586d4e8c91a2f (patch)
tree7e9b3f35b55af9917b3a05dd32de14be9a8c3f3c /gp2x/cpuctrl.h
downloadpicogpsp-2823a4c8196a02da86ee180cf55586d4e8c91a2f.tar.gz
picogpsp-2823a4c8196a02da86ee180cf55586d4e8c91a2f.tar.bz2
picogpsp-2823a4c8196a02da86ee180cf55586d4e8c91a2f.zip
original source from gpsp09-2xb_src.tar.bz2
Diffstat (limited to 'gp2x/cpuctrl.h')
-rw-r--r--gp2x/cpuctrl.h72
1 files changed, 72 insertions, 0 deletions
diff --git a/gp2x/cpuctrl.h b/gp2x/cpuctrl.h
new file mode 100644
index 0000000..13ffa26
--- /dev/null
+++ b/gp2x/cpuctrl.h
@@ -0,0 +1,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