diff options
Diffstat (limited to 'drivers/video/omap3_dss.c')
| -rw-r--r-- | drivers/video/omap3_dss.c | 33 | 
1 files changed, 13 insertions, 20 deletions
| diff --git a/drivers/video/omap3_dss.c b/drivers/video/omap3_dss.c index dfe61b348..6686718b0 100644 --- a/drivers/video/omap3_dss.c +++ b/drivers/video/omap3_dss.c @@ -30,9 +30,7 @@  #include <asm/arch/dss.h>  #include <video_fb.h> -/* - * Configure VENC for a given Mode (NTSC / PAL) - */ +/* Configure VENC for a given Mode (NTSC / PAL) */  void omap3_dss_venc_config(const struct venc_regs *venc_cfg,  				u32 height, u32 width)  { @@ -65,10 +63,8 @@ void omap3_dss_venc_config(const struct venc_regs *venc_cfg,  	writel(venc_cfg->savid__eavid, &venc->savid__eavid);  	writel(venc_cfg->flen__fal, &venc->flen__fal);  	writel(venc_cfg->lal__phase_reset, &venc->lal__phase_reset); -	writel(venc_cfg->hs_int_start_stop_x, -				&venc->hs_int_start_stop_x); -	writel(venc_cfg->hs_ext_start_stop_x, -				&venc->hs_ext_start_stop_x); +	writel(venc_cfg->hs_int_start_stop_x, &venc->hs_int_start_stop_x); +	writel(venc_cfg->hs_ext_start_stop_x, &venc->hs_ext_start_stop_x);  	writel(venc_cfg->vs_int_start_x, &venc->vs_int_start_x);  	writel(venc_cfg->vs_int_stop_x__vs_int_start_y,  			&venc->vs_int_stop_x__vs_int_start_y); @@ -94,15 +90,14 @@ void omap3_dss_venc_config(const struct venc_regs *venc_cfg,  	writel(venc_cfg->dac_b__dac_c, &venc->dac_b__dac_c);  	/* Configure DSS for VENC Settings */ -	writel(VENC_DSS_CONFIG, &dss->control); +	writel(VENC_CLK_ENABLE | DAC_DEMEN | DAC_POWERDN | VENC_OUT_SEL, +			&dss->control);  	/* Configure height and width for Digital out */ -	writel(((height << DIG_LPP_SHIFT) | width), &dispc->size_dig); +	writel(height << DIG_LPP_SHIFT | width, &dispc->size_dig);  } -/* - * Configure Panel Specific Parameters - */ +/* Configure Panel Specific Parameters */  void omap3_dss_panel_config(const struct panel_config *panel_cfg)  {  	struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE; @@ -117,9 +112,9 @@ void omap3_dss_panel_config(const struct panel_config *panel_cfg)  	writel(panel_cfg->pol_freq, &dispc->pol_freq);  	writel(panel_cfg->divisor, &dispc->divisor);  	writel(panel_cfg->lcd_size, &dispc->size_lcd); -	writel((panel_cfg->load_mode << FRAME_MODE_SHIFT), &dispc->config); -	writel(((panel_cfg->panel_type << TFTSTN_SHIFT) | -		(panel_cfg->data_lines << DATALINES_SHIFT)), &dispc->control); +	writel(panel_cfg->load_mode << FRAME_MODE_SHIFT, &dispc->config); +	writel(panel_cfg->panel_type << TFTSTN_SHIFT | +		panel_cfg->data_lines << DATALINES_SHIFT, &dispc->control);  	writel(panel_cfg->panel_color, &dispc->default_color0);  	writel((u32) panel_cfg->frame_buffer, &dispc->gfx_ba0); @@ -133,16 +128,14 @@ void omap3_dss_panel_config(const struct panel_config *panel_cfg)  	writel(panel_cfg->lcd_size, &dispc->gfx_size);  } -/* - * Enable LCD and DIGITAL OUT in DSS - */ +/* Enable LCD and DIGITAL OUT in DSS */  void omap3_dss_enable(void)  {  	struct dispc_regs *dispc = (struct dispc_regs *) OMAP3_DISPC_BASE; -	u32 l = 0; +	u32 l;  	l = readl(&dispc->control); -	l |= DISPC_ENABLE; +	l |= LCD_ENABLE | GO_LCD | DIG_ENABLE | GO_DIG | GP_OUT0 | GP_OUT1;  	writel(l, &dispc->control);  } |