FreeCalypso > hg > fc-selenite
view src/cs/drivers/drv_app/r2d/lcds/c139/r2d_task_init_i.c @ 177:d9926aabf13f
README: project status update
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Sun, 06 Oct 2019 05:23:59 +0000 |
parents | b6a5e36de839 |
children |
line wrap: on
line source
#include "r2d/lcds/c139/colors.h" #define R2D_MB_PRIM_SIZE 2000 extern void c139_lcd_ctrl_cmd(UINT8 cmd, UINT8 param); extern void c139_set_lcd_addr_region(UINT8 xstart, UINT8 xend, UINT8 ystart, UINT8 yend); extern void c139_lcd_send_pix(UINT16 pixval); void uwire_init_lcd(void) { * ( UINT16 *) CNTL_RST &= ~(0x04); // releases reset_out * ( UINT16 *) CNTL_RST |= (0x04); // set reset_out to 0 rvf_delay(RVF_MS_TO_TICKS(5)); // waits for 5 ms * ( UINT16 *) CNTL_RST &= ~(0x04); // releases reset_out * (volatile UINT16 *) SR1 = CS0_FRQ_FINT_2; * (volatile UINT16 *) SR3 = SR3_CLK_EN; // enables the uwire clock * (volatile UINT16 *) CSR = INDEX_CS0; // selects CS0 } static void r2d_refresh_task_init(void) { UINT16 i; uwire_init_lcd(); rvf_delay(RVF_MS_TO_TICKS(5)); // waits for 5 ms /* LCD controller init */ c139_lcd_ctrl_cmd(0x3F, 0x01); c139_lcd_ctrl_cmd(0x20, 0x03); c139_lcd_ctrl_cmd(0x31, 0x03); /* initial hw framebuffer clearing */ c139_set_lcd_addr_region(0, 95, 0, 63); for (i = 0; i < 96 * 64; i++) c139_lcd_send_pix(LCD16_COLOR_BORDER); } static void r2d_refresh_task_kill(void) { } static void r2d_dithering_init(void) { R2D_MALLOC(r2d_mb_id,UINT32,sizeof(UINT32)*4,r2d_g_dithering_matrix); r2d_g_dithering_matrix[0]=0; r2d_g_dithering_matrix[1]=2; r2d_g_dithering_matrix[2]=3; r2d_g_dithering_matrix[3]=1; }