96861480335756d6f5a0b29051e04483078804ea
[picodrive.git] / platform / gp2x / soc.h
1 typedef enum {
2         SOCID_MMSP2 = 1,
3         SOCID_POLLUX,
4 } gp2x_soc_t;
5
6 gp2x_soc_t soc_detect(void);
7
8 void mmsp2_init(void);
9 void mmsp2_finish(void);
10
11 void pollux_init(void);
12 void pollux_finish(void);
13
14 void dummy_init(void);
15 void dummy_finish(void);
16
17 /* SoC specific functions */
18 extern void (*gp2x_video_flip)(void);
19 extern void (*gp2x_video_flip2)(void);
20 /* negative bpp means rotated mode (for Wiz) */
21 extern void (*gp2x_video_changemode_ll)(int bpp);
22 extern void (*gp2x_video_setpalette)(int *pal, int len);
23 extern void (*gp2x_video_RGB_setscaling)(int ln_offs, int W, int H);
24 extern void (*gp2x_video_wait_vsync)(void);
25
26 extern void (*gp2x_set_cpuclk)(unsigned int mhz);
27
28 extern void (*set_lcd_custom_rate)(int is_pal);
29 extern void (*unset_lcd_custom_rate)(void);
30 extern void (*set_lcd_gamma)(int g100, int A_SNs_curve);
31
32 extern void (*set_ram_timings)(void);
33 extern void (*unset_ram_timings)(void);
34 extern int  (*gp2x_read_battery)(void);
35
36 /* gettimeofday is not suitable for Wiz, at least fw 1.1 or lower */
37 extern unsigned int (*gp2x_get_ticks_ms)(void);
38 extern unsigned int (*gp2x_get_ticks_us)(void);