aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/video/omap2/dss
diff options
context:
space:
mode:
authorArchit Taneja <archit@ti.com>2012-06-25 02:46:22 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-06-29 03:15:48 -0400
commita9105cb5c25aa335b11088549927a8aa9eaa7ef2 (patch)
tree1d0ee292217e68c572e33b267271bca18178f706 /drivers/video/omap2/dss
parentd21f43bc392911acf01b7f2090615df4ca09ac7d (diff)
OMAPDSS: Remove passive matrix LCD support (part 4)
Remove configuration of Ac-bias pins Ac-bias pins need to be configured only for passive matrix displays. Remove acbi and acb fields in omap_dss_device and their configuration in panel drivers. Don't program these fields in DISP_POL_FREQo register any more. The panel driver for sharp-ls037v7dw01, and the panel config for Innolux AT070TN8 in generic dpi panel driver set acb to a non zero value. This is most likely carried over from the old omapfb driver which supported passive matrix displays. Cc: Thomas Weber <weber@corscience.de> Signed-off-by: Archit Taneja <archit@ti.com>
Diffstat (limited to 'drivers/video/omap2/dss')
-rw-r--r--drivers/video/omap2/dss/dispc.c14
-rw-r--r--drivers/video/omap2/dss/dpi.c3
-rw-r--r--drivers/video/omap2/dss/dss.h2
-rw-r--r--drivers/video/omap2/dss/sdi.c3
4 files changed, 8 insertions, 14 deletions
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index c017d22cad48..311e689409de 100644
--- a/drivers/video/omap2/dss/dispc.c
+++ b/drivers/video/omap2/dss/dispc.c
@@ -3117,13 +3117,12 @@ static void dispc_dump_regs(struct seq_file *s)
3117} 3117}
3118 3118
3119static void _dispc_mgr_set_pol_freq(enum omap_channel channel, bool onoff, 3119static void _dispc_mgr_set_pol_freq(enum omap_channel channel, bool onoff,
3120 bool rf, bool ieo, bool ipc, bool ihs, bool ivs, u8 acbi, 3120 bool rf, bool ieo, bool ipc, bool ihs, bool ivs)
3121 u8 acb)
3122{ 3121{
3123 u32 l = 0; 3122 u32 l = 0;
3124 3123
3125 DSSDBG("onoff %d rf %d ieo %d ipc %d ihs %d ivs %d acbi %d acb %d\n", 3124 DSSDBG("onoff %d rf %d ieo %d ipc %d ihs %d ivs %d\n",
3126 onoff, rf, ieo, ipc, ihs, ivs, acbi, acb); 3125 onoff, rf, ieo, ipc, ihs, ivs);
3127 3126
3128 l |= FLD_VAL(onoff, 17, 17); 3127 l |= FLD_VAL(onoff, 17, 17);
3129 l |= FLD_VAL(rf, 16, 16); 3128 l |= FLD_VAL(rf, 16, 16);
@@ -3131,22 +3130,19 @@ static void _dispc_mgr_set_pol_freq(enum omap_channel channel, bool onoff,
3131 l |= FLD_VAL(ipc, 14, 14); 3130 l |= FLD_VAL(ipc, 14, 14);
3132 l |= FLD_VAL(ihs, 13, 13); 3131 l |= FLD_VAL(ihs, 13, 13);
3133 l |= FLD_VAL(ivs, 12, 12); 3132 l |= FLD_VAL(ivs, 12, 12);
3134 l |= FLD_VAL(acbi, 11, 8);
3135 l |= FLD_VAL(acb, 7, 0);
3136 3133
3137 dispc_write_reg(DISPC_POL_FREQ(channel), l); 3134 dispc_write_reg(DISPC_POL_FREQ(channel), l);
3138} 3135}
3139 3136
3140void dispc_mgr_set_pol_freq(enum omap_channel channel, 3137void dispc_mgr_set_pol_freq(enum omap_channel channel,
3141 enum omap_panel_config config, u8 acbi, u8 acb) 3138 enum omap_panel_config config)
3142{ 3139{
3143 _dispc_mgr_set_pol_freq(channel, (config & OMAP_DSS_LCD_ONOFF) != 0, 3140 _dispc_mgr_set_pol_freq(channel, (config & OMAP_DSS_LCD_ONOFF) != 0,
3144 (config & OMAP_DSS_LCD_RF) != 0, 3141 (config & OMAP_DSS_LCD_RF) != 0,
3145 (config & OMAP_DSS_LCD_IEO) != 0, 3142 (config & OMAP_DSS_LCD_IEO) != 0,
3146 (config & OMAP_DSS_LCD_IPC) != 0, 3143 (config & OMAP_DSS_LCD_IPC) != 0,
3147 (config & OMAP_DSS_LCD_IHS) != 0, 3144 (config & OMAP_DSS_LCD_IHS) != 0,
3148 (config & OMAP_DSS_LCD_IVS) != 0, 3145 (config & OMAP_DSS_LCD_IVS) != 0);
3149 acbi, acb);
3150} 3146}
3151 3147
3152/* with fck as input clock rate, find dispc dividers that produce req_pck */ 3148/* with fck as input clock rate, find dispc dividers that produce req_pck */
diff --git a/drivers/video/omap2/dss/dpi.c b/drivers/video/omap2/dss/dpi.c
index 45fb1a673a2a..bf57f319fc2f 100644
--- a/drivers/video/omap2/dss/dpi.c
+++ b/drivers/video/omap2/dss/dpi.c
@@ -131,8 +131,7 @@ static int dpi_set_mode(struct omap_dss_device *dssdev)
131 unsigned long pck; 131 unsigned long pck;
132 int r = 0; 132 int r = 0;
133 133
134 dispc_mgr_set_pol_freq(dssdev->manager->id, dssdev->panel.config, 134 dispc_mgr_set_pol_freq(dssdev->manager->id, dssdev->panel.config);
135 dssdev->panel.acbi, dssdev->panel.acb);
136 135
137 if (dpi_use_dsi_pll(dssdev)) 136 if (dpi_use_dsi_pll(dssdev))
138 r = dpi_set_dsi_clk(dssdev, t->pixel_clock * 1000, &fck, 137 r = dpi_set_dsi_clk(dssdev, t->pixel_clock * 1000, &fck,
diff --git a/drivers/video/omap2/dss/dss.h b/drivers/video/omap2/dss/dss.h
index 692d6501b4e8..3ca3d065b650 100644
--- a/drivers/video/omap2/dss/dss.h
+++ b/drivers/video/omap2/dss/dss.h
@@ -424,7 +424,7 @@ void dispc_mgr_set_lcd_type_tft(enum omap_channel channel);
424void dispc_mgr_set_timings(enum omap_channel channel, 424void dispc_mgr_set_timings(enum omap_channel channel,
425 struct omap_video_timings *timings); 425 struct omap_video_timings *timings);
426void dispc_mgr_set_pol_freq(enum omap_channel channel, 426void dispc_mgr_set_pol_freq(enum omap_channel channel,
427 enum omap_panel_config config, u8 acbi, u8 acb); 427 enum omap_panel_config config);
428unsigned long dispc_mgr_lclk_rate(enum omap_channel channel); 428unsigned long dispc_mgr_lclk_rate(enum omap_channel channel);
429unsigned long dispc_mgr_pclk_rate(enum omap_channel channel); 429unsigned long dispc_mgr_pclk_rate(enum omap_channel channel);
430unsigned long dispc_core_clk_rate(void); 430unsigned long dispc_core_clk_rate(void);
diff --git a/drivers/video/omap2/dss/sdi.c b/drivers/video/omap2/dss/sdi.c
index 1a369decad38..5268fdba955d 100644
--- a/drivers/video/omap2/dss/sdi.c
+++ b/drivers/video/omap2/dss/sdi.c
@@ -80,8 +80,7 @@ int omapdss_sdi_display_enable(struct omap_dss_device *dssdev)
80 /* 15.5.9.1.2 */ 80 /* 15.5.9.1.2 */
81 dssdev->panel.config |= OMAP_DSS_LCD_RF | OMAP_DSS_LCD_ONOFF; 81 dssdev->panel.config |= OMAP_DSS_LCD_RF | OMAP_DSS_LCD_ONOFF;
82 82
83 dispc_mgr_set_pol_freq(dssdev->manager->id, dssdev->panel.config, 83 dispc_mgr_set_pol_freq(dssdev->manager->id, dssdev->panel.config);
84 dssdev->panel.acbi, dssdev->panel.acb);
85 84
86 r = dss_calc_clock_div(t->pixel_clock * 1000, &dss_cinfo, &dispc_cinfo); 85 r = dss_calc_clock_div(t->pixel_clock * 1000, &dss_cinfo, &dispc_cinfo);
87 if (r) 86 if (r)