aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
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
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')
-rw-r--r--drivers/video/omap2/displays/panel-generic-dpi.c23
-rw-r--r--drivers/video/omap2/displays/panel-picodlp.c1
-rw-r--r--drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c1
-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
7 files changed, 8 insertions, 39 deletions
diff --git a/drivers/video/omap2/displays/panel-generic-dpi.c b/drivers/video/omap2/displays/panel-generic-dpi.c
index c17ba743792..0534926dfc7 100644
--- a/drivers/video/omap2/displays/panel-generic-dpi.c
+++ b/drivers/video/omap2/displays/panel-generic-dpi.c
@@ -40,10 +40,6 @@
40struct panel_config { 40struct panel_config {
41 struct omap_video_timings timings; 41 struct omap_video_timings timings;
42 42
43 int acbi; /* ac-bias pin transitions per interrupt */
44 /* Unit: line clocks */
45 int acb; /* ac-bias pin frequency */
46
47 enum omap_panel_config config; 43 enum omap_panel_config config;
48 44
49 int power_on_delay; 45 int power_on_delay;
@@ -74,8 +70,6 @@ static struct panel_config generic_dpi_panels[] = {
74 .vfp = 3, 70 .vfp = 3,
75 .vbp = 2, 71 .vbp = 2,
76 }, 72 },
77 .acbi = 0x0,
78 .acb = 0x0,
79 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 73 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
80 OMAP_DSS_LCD_IEO, 74 OMAP_DSS_LCD_IEO,
81 .power_on_delay = 50, 75 .power_on_delay = 50,
@@ -99,8 +93,6 @@ static struct panel_config generic_dpi_panels[] = {
99 .vfp = 1, 93 .vfp = 1,
100 .vbp = 1, 94 .vbp = 1,
101 }, 95 },
102 .acbi = 0x0,
103 .acb = 0x28,
104 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 96 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
105 .power_on_delay = 50, 97 .power_on_delay = 50,
106 .power_off_delay = 100, 98 .power_off_delay = 100,
@@ -123,8 +115,6 @@ static struct panel_config generic_dpi_panels[] = {
123 .vsw = 2, 115 .vsw = 2,
124 .vbp = 2, 116 .vbp = 2,
125 }, 117 },
126 .acbi = 0x0,
127 .acb = 0x0,
128 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 118 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
129 OMAP_DSS_LCD_IPC | 119 OMAP_DSS_LCD_IPC |
130 OMAP_DSS_LCD_ONOFF, 120 OMAP_DSS_LCD_ONOFF,
@@ -149,8 +139,6 @@ static struct panel_config generic_dpi_panels[] = {
149 .vsw = 10, 139 .vsw = 10,
150 .vbp = 12 - 10, 140 .vbp = 12 - 10,
151 }, 141 },
152 .acbi = 0x0,
153 .acb = 0x0,
154 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 142 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
155 .power_on_delay = 0, 143 .power_on_delay = 0,
156 .power_off_delay = 0, 144 .power_off_delay = 0,
@@ -173,8 +161,6 @@ static struct panel_config generic_dpi_panels[] = {
173 .vfp = 4, 161 .vfp = 4,
174 .vbp = 11, 162 .vbp = 11,
175 }, 163 },
176 .acbi = 0x0,
177 .acb = 0x0,
178 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 164 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
179 .power_on_delay = 0, 165 .power_on_delay = 0,
180 .power_off_delay = 0, 166 .power_off_delay = 0,
@@ -197,8 +183,6 @@ static struct panel_config generic_dpi_panels[] = {
197 .vfp = 2, 183 .vfp = 2,
198 .vbp = 2, 184 .vbp = 2,
199 }, 185 },
200 .acbi = 0x0,
201 .acb = 0x0,
202 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 186 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
203 OMAP_DSS_LCD_IEO, 187 OMAP_DSS_LCD_IEO,
204 .power_on_delay = 0, 188 .power_on_delay = 0,
@@ -222,8 +206,6 @@ static struct panel_config generic_dpi_panels[] = {
222 .vfp = 12, 206 .vfp = 12,
223 .vbp = 25, 207 .vbp = 25,
224 }, 208 },
225 .acbi = 0x0,
226 .acb = 0x28,
227 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS, 209 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS,
228 .power_on_delay = 0, 210 .power_on_delay = 0,
229 .power_off_delay = 0, 211 .power_off_delay = 0,
@@ -325,8 +307,6 @@ static struct panel_config generic_dpi_panels[] = {
325 .vfp = 1, 307 .vfp = 1,
326 .vbp = 1, 308 .vbp = 1,
327 }, 309 },
328 .acbi = 0x0,
329 .acb = 0x0,
330 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 310 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
331 OMAP_DSS_LCD_IPC, 311 OMAP_DSS_LCD_IPC,
332 .power_on_delay = 0, 312 .power_on_delay = 0,
@@ -369,7 +349,6 @@ static struct panel_config generic_dpi_panels[] = {
369 .vfp = 12, 349 .vfp = 12,
370 .vbp = 23, 350 .vbp = 23,
371 }, 351 },
372 .acb = 0x0,
373 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS | 352 .config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS |
374 OMAP_DSS_LCD_IEO, 353 OMAP_DSS_LCD_IEO,
375 354
@@ -562,8 +541,6 @@ static int generic_dpi_panel_probe(struct omap_dss_device *dssdev)
562 541
563 dssdev->panel.config = panel_config->config; 542 dssdev->panel.config = panel_config->config;
564 dssdev->panel.timings = panel_config->timings; 543 dssdev->panel.timings = panel_config->timings;
565 dssdev->panel.acb = panel_config->acb;
566 dssdev->panel.acbi = panel_config->acbi;
567 544
568 drv_data = kzalloc(sizeof(*drv_data), GFP_KERNEL); 545 drv_data = kzalloc(sizeof(*drv_data), GFP_KERNEL);
569 if (!drv_data) 546 if (!drv_data)
diff --git a/drivers/video/omap2/displays/panel-picodlp.c b/drivers/video/omap2/displays/panel-picodlp.c
index 6563d85e00e..118e76b7b44 100644
--- a/drivers/video/omap2/displays/panel-picodlp.c
+++ b/drivers/video/omap2/displays/panel-picodlp.c
@@ -416,7 +416,6 @@ static int picodlp_panel_probe(struct omap_dss_device *dssdev)
416 416
417 dssdev->panel.config = OMAP_DSS_LCD_ONOFF | OMAP_DSS_LCD_IHS | 417 dssdev->panel.config = OMAP_DSS_LCD_ONOFF | OMAP_DSS_LCD_IHS |
418 OMAP_DSS_LCD_IVS; 418 OMAP_DSS_LCD_IVS;
419 dssdev->panel.acb = 0x0;
420 dssdev->panel.timings = pico_ls_timings; 419 dssdev->panel.timings = pico_ls_timings;
421 420
422 picod = kzalloc(sizeof(struct picodlp_data), GFP_KERNEL); 421 picod = kzalloc(sizeof(struct picodlp_data), GFP_KERNEL);
diff --git a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
index d71386a864f..4285849d27b 100644
--- a/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
+++ b/drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c
@@ -87,7 +87,6 @@ static int sharp_ls_panel_probe(struct omap_dss_device *dssdev)
87 int r; 87 int r;
88 88
89 dssdev->panel.config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS; 89 dssdev->panel.config = OMAP_DSS_LCD_IVS | OMAP_DSS_LCD_IHS;
90 dssdev->panel.acb = 0x28;
91 dssdev->panel.timings = sharp_ls_timings; 90 dssdev->panel.timings = sharp_ls_timings;
92 91
93 sd = kzalloc(sizeof(*sd), GFP_KERNEL); 92 sd = kzalloc(sizeof(*sd), GFP_KERNEL);
diff --git a/drivers/video/omap2/dss/dispc.c b/drivers/video/omap2/dss/dispc.c
index c017d22cad4..311e689409d 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 45fb1a673a2..bf57f319fc2 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 692d6501b4e..3ca3d065b65 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 1a369decad3..5268fdba955 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)