diff options
author | Archit Taneja <archit@ti.com> | 2012-06-25 02:46:22 -0400 |
---|---|---|
committer | Tomi Valkeinen <tomi.valkeinen@ti.com> | 2012-06-29 03:15:48 -0400 |
commit | a9105cb5c25aa335b11088549927a8aa9eaa7ef2 (patch) | |
tree | 1d0ee292217e68c572e33b267271bca18178f706 | |
parent | d21f43bc392911acf01b7f2090615df4ca09ac7d (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>
-rw-r--r-- | drivers/video/omap2/displays/panel-generic-dpi.c | 23 | ||||
-rw-r--r-- | drivers/video/omap2/displays/panel-picodlp.c | 1 | ||||
-rw-r--r-- | drivers/video/omap2/displays/panel-sharp-ls037v7dw01.c | 1 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dispc.c | 14 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dpi.c | 3 | ||||
-rw-r--r-- | drivers/video/omap2/dss/dss.h | 2 | ||||
-rw-r--r-- | drivers/video/omap2/dss/sdi.c | 3 |
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 @@ | |||
40 | struct panel_config { | 40 | struct 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 | ||
3119 | static void _dispc_mgr_set_pol_freq(enum omap_channel channel, bool onoff, | 3119 | static 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 | ||
3140 | void dispc_mgr_set_pol_freq(enum omap_channel channel, | 3137 | void 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); | |||
424 | void dispc_mgr_set_timings(enum omap_channel channel, | 424 | void dispc_mgr_set_timings(enum omap_channel channel, |
425 | struct omap_video_timings *timings); | 425 | struct omap_video_timings *timings); |
426 | void dispc_mgr_set_pol_freq(enum omap_channel channel, | 426 | void 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); |
428 | unsigned long dispc_mgr_lclk_rate(enum omap_channel channel); | 428 | unsigned long dispc_mgr_lclk_rate(enum omap_channel channel); |
429 | unsigned long dispc_mgr_pclk_rate(enum omap_channel channel); | 429 | unsigned long dispc_mgr_pclk_rate(enum omap_channel channel); |
430 | unsigned long dispc_core_clk_rate(void); | 430 | unsigned 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) |