Exemple #1
0
int s3cfb_set_color_value(s3c_fb_info_t *fbi, s3c_color_val_info_t colval_info)
{
	unsigned int colval = 0;

	int win_num =  fbi->win_id;

	if (win_num == 0) {
		printk("WIN0 do not support color key value\n");
		return -1;
	}

	win_num--;

	if (fbi->fb.var.bits_per_pixel == S3C_FB_PIXEL_BPP_16) {
		/* RGB 5-6-5 mode */
		colval  = (((colval_info.colval_red   & 0x1f) << 19) | 0x70000);
		colval |= (((colval_info.colval_green & 0x3f) << 10) | 0x300);
		colval |= (((colval_info.colval_blue  & 0x1f)  << 3 )| 0x7);
	} else if (fbi->fb.var.bits_per_pixel == S3C_FB_PIXEL_BPP_24) {
		/* currently RGB 8-8-8 mode  */
		colval  = ((colval_info.colval_red  & 0xff) << 16);
		colval |= ((colval_info.colval_green & 0xff) << 8);
		colval |= ((colval_info.colval_blue  & 0xff) << 0);
	} else
		printk("Invalid BPP has been given!\n");

	writel(S3C_WxKEYCON1_COLVAL(colval), S3C_W1KEYCON1 + (0x08 * win_num));

	return 0;
}
Exemple #2
0
			| S3C_VIDINTCON0_FRAMESEL1_NONE
			| S3C_VIDINTCON0_INTFRMEN_DISABLE
			| S3C_VIDINTCON0_FIFOSEL_WIN0
			| S3C_VIDINTCON0_FIFOLEVEL_25
			| S3C_VIDINTCON0_INTFIFOEN_DISABLE
			| S3C_VIDINTCON0_INTEN_ENABLE,
	.vidintcon1	= 0,

	.xoffset	= 0,
	.yoffset	= 0,

	.w1keycon0	= S3C_WxKEYCON0_KEYBLEN_DISABLE
			| S3C_WxKEYCON0_KEYEN_F_DISABLE
			| S3C_WxKEYCON0_DIRCON_MATCH_FG_IMAGE
			| S3C_WxKEYCON0_COMPKEY(0x0),
	.w1keycon1	= S3C_WxKEYCON1_COLVAL(0xffffff),
	.w2keycon0	= S3C_WxKEYCON0_KEYBLEN_DISABLE
			| S3C_WxKEYCON0_KEYEN_F_DISABLE
			| S3C_WxKEYCON0_DIRCON_MATCH_FG_IMAGE
			| S3C_WxKEYCON0_COMPKEY(0x0),
	.w2keycon1	= S3C_WxKEYCON1_COLVAL(0xffffff),
	.w3keycon0	= S3C_WxKEYCON0_KEYBLEN_DISABLE
			| S3C_WxKEYCON0_KEYEN_F_DISABLE
			| S3C_WxKEYCON0_DIRCON_MATCH_FG_IMAGE
			| S3C_WxKEYCON0_COMPKEY(0x0),
	.w3keycon1	= S3C_WxKEYCON1_COLVAL(0xffffff),
	.w4keycon0	= S3C_WxKEYCON0_KEYBLEN_DISABLE
			| S3C_WxKEYCON0_KEYEN_F_DISABLE
			| S3C_WxKEYCON0_DIRCON_MATCH_FG_IMAGE
			| S3C_WxKEYCON0_COMPKEY(0x0),
	.w4keycon1	= S3C_WxKEYCON1_COLVAL(0xffffff),