aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChandrabhanu Mahapatra <cmahapatra@ti.com>2012-06-19 05:38:16 -0400
committerTomi Valkeinen <tomi.valkeinen@ti.com>2012-06-29 02:41:20 -0400
commitff6331e25e3e02de17deef9a1e96334dad29e097 (patch)
tree7f033db94b940eff750dea73a67f265d09f35a36
parentefa70b3b7da3490f87b18fc3ffef31c4f5e908f2 (diff)
OMAPDSS: Add support for LCD3 channel
OMAP5 Display Subsystem (DSS) architecture comes with a additional LCD3 channel with its own dedicated overlay manager. The current patch adds LCD3 channel and basic register support for LCD3 channel. It adds register addresses for various Display Controller (DISPC) registers like DISPC_DEFAULT_COLOR, DISPC_TIMING_H, DISPC_DIVISORo, etc. Signed-off-by: Chandrabhanu Mahapatra <cmahapatra@ti.com> Signed-off-by: Tomi Valkeinen <tomi.valkeinen@ti.com>
-rw-r--r--drivers/video/omap2/dss/dispc.h26
-rw-r--r--include/video/omapdss.h1
2 files changed, 27 insertions, 0 deletions
diff --git a/drivers/video/omap2/dss/dispc.h b/drivers/video/omap2/dss/dispc.h
index f278080e1063..420c980dcbdd 100644
--- a/drivers/video/omap2/dss/dispc.h
+++ b/drivers/video/omap2/dss/dispc.h
@@ -118,6 +118,8 @@ static inline u16 DISPC_DEFAULT_COLOR(enum omap_channel channel)
118 return 0x0050; 118 return 0x0050;
119 case OMAP_DSS_CHANNEL_LCD2: 119 case OMAP_DSS_CHANNEL_LCD2:
120 return 0x03AC; 120 return 0x03AC;
121 case OMAP_DSS_CHANNEL_LCD3:
122 return 0x0814;
121 default: 123 default:
122 BUG(); 124 BUG();
123 return 0; 125 return 0;
@@ -133,6 +135,8 @@ static inline u16 DISPC_TRANS_COLOR(enum omap_channel channel)
133 return 0x0058; 135 return 0x0058;
134 case OMAP_DSS_CHANNEL_LCD2: 136 case OMAP_DSS_CHANNEL_LCD2:
135 return 0x03B0; 137 return 0x03B0;
138 case OMAP_DSS_CHANNEL_LCD3:
139 return 0x0818;
136 default: 140 default:
137 BUG(); 141 BUG();
138 return 0; 142 return 0;
@@ -149,6 +153,8 @@ static inline u16 DISPC_TIMING_H(enum omap_channel channel)
149 return 0; 153 return 0;
150 case OMAP_DSS_CHANNEL_LCD2: 154 case OMAP_DSS_CHANNEL_LCD2:
151 return 0x0400; 155 return 0x0400;
156 case OMAP_DSS_CHANNEL_LCD3:
157 return 0x0840;
152 default: 158 default:
153 BUG(); 159 BUG();
154 return 0; 160 return 0;
@@ -165,6 +171,8 @@ static inline u16 DISPC_TIMING_V(enum omap_channel channel)
165 return 0; 171 return 0;
166 case OMAP_DSS_CHANNEL_LCD2: 172 case OMAP_DSS_CHANNEL_LCD2:
167 return 0x0404; 173 return 0x0404;
174 case OMAP_DSS_CHANNEL_LCD3:
175 return 0x0844;
168 default: 176 default:
169 BUG(); 177 BUG();
170 return 0; 178 return 0;
@@ -181,6 +189,8 @@ static inline u16 DISPC_POL_FREQ(enum omap_channel channel)
181 return 0; 189 return 0;
182 case OMAP_DSS_CHANNEL_LCD2: 190 case OMAP_DSS_CHANNEL_LCD2:
183 return 0x0408; 191 return 0x0408;
192 case OMAP_DSS_CHANNEL_LCD3:
193 return 0x083C;
184 default: 194 default:
185 BUG(); 195 BUG();
186 return 0; 196 return 0;
@@ -197,6 +207,8 @@ static inline u16 DISPC_DIVISORo(enum omap_channel channel)
197 return 0; 207 return 0;
198 case OMAP_DSS_CHANNEL_LCD2: 208 case OMAP_DSS_CHANNEL_LCD2:
199 return 0x040C; 209 return 0x040C;
210 case OMAP_DSS_CHANNEL_LCD3:
211 return 0x0838;
200 default: 212 default:
201 BUG(); 213 BUG();
202 return 0; 214 return 0;
@@ -213,6 +225,8 @@ static inline u16 DISPC_SIZE_MGR(enum omap_channel channel)
213 return 0x0078; 225 return 0x0078;
214 case OMAP_DSS_CHANNEL_LCD2: 226 case OMAP_DSS_CHANNEL_LCD2:
215 return 0x03CC; 227 return 0x03CC;
228 case OMAP_DSS_CHANNEL_LCD3:
229 return 0x0834;
216 default: 230 default:
217 BUG(); 231 BUG();
218 return 0; 232 return 0;
@@ -229,6 +243,8 @@ static inline u16 DISPC_DATA_CYCLE1(enum omap_channel channel)
229 return 0; 243 return 0;
230 case OMAP_DSS_CHANNEL_LCD2: 244 case OMAP_DSS_CHANNEL_LCD2:
231 return 0x03C0; 245 return 0x03C0;
246 case OMAP_DSS_CHANNEL_LCD3:
247 return 0x0828;
232 default: 248 default:
233 BUG(); 249 BUG();
234 return 0; 250 return 0;
@@ -245,6 +261,8 @@ static inline u16 DISPC_DATA_CYCLE2(enum omap_channel channel)
245 return 0; 261 return 0;
246 case OMAP_DSS_CHANNEL_LCD2: 262 case OMAP_DSS_CHANNEL_LCD2:
247 return 0x03C4; 263 return 0x03C4;
264 case OMAP_DSS_CHANNEL_LCD3:
265 return 0x082C;
248 default: 266 default:
249 BUG(); 267 BUG();
250 return 0; 268 return 0;
@@ -261,6 +279,8 @@ static inline u16 DISPC_DATA_CYCLE3(enum omap_channel channel)
261 return 0; 279 return 0;
262 case OMAP_DSS_CHANNEL_LCD2: 280 case OMAP_DSS_CHANNEL_LCD2:
263 return 0x03C8; 281 return 0x03C8;
282 case OMAP_DSS_CHANNEL_LCD3:
283 return 0x0830;
264 default: 284 default:
265 BUG(); 285 BUG();
266 return 0; 286 return 0;
@@ -277,6 +297,8 @@ static inline u16 DISPC_CPR_COEF_R(enum omap_channel channel)
277 return 0; 297 return 0;
278 case OMAP_DSS_CHANNEL_LCD2: 298 case OMAP_DSS_CHANNEL_LCD2:
279 return 0x03BC; 299 return 0x03BC;
300 case OMAP_DSS_CHANNEL_LCD3:
301 return 0x0824;
280 default: 302 default:
281 BUG(); 303 BUG();
282 return 0; 304 return 0;
@@ -293,6 +315,8 @@ static inline u16 DISPC_CPR_COEF_G(enum omap_channel channel)
293 return 0; 315 return 0;
294 case OMAP_DSS_CHANNEL_LCD2: 316 case OMAP_DSS_CHANNEL_LCD2:
295 return 0x03B8; 317 return 0x03B8;
318 case OMAP_DSS_CHANNEL_LCD3:
319 return 0x0820;
296 default: 320 default:
297 BUG(); 321 BUG();
298 return 0; 322 return 0;
@@ -309,6 +333,8 @@ static inline u16 DISPC_CPR_COEF_B(enum omap_channel channel)
309 return 0; 333 return 0;
310 case OMAP_DSS_CHANNEL_LCD2: 334 case OMAP_DSS_CHANNEL_LCD2:
311 return 0x03B4; 335 return 0x03B4;
336 case OMAP_DSS_CHANNEL_LCD3:
337 return 0x081C;
312 default: 338 default:
313 BUG(); 339 BUG();
314 return 0; 340 return 0;
diff --git a/include/video/omapdss.h b/include/video/omapdss.h
index ae6954836ef3..23887b358a49 100644
--- a/include/video/omapdss.h
+++ b/include/video/omapdss.h
@@ -75,6 +75,7 @@ enum omap_channel {
75 OMAP_DSS_CHANNEL_LCD = 0, 75 OMAP_DSS_CHANNEL_LCD = 0,
76 OMAP_DSS_CHANNEL_DIGIT = 1, 76 OMAP_DSS_CHANNEL_DIGIT = 1,
77 OMAP_DSS_CHANNEL_LCD2 = 2, 77 OMAP_DSS_CHANNEL_LCD2 = 2,
78 OMAP_DSS_CHANNEL_LCD3 = 3,
78}; 79};
79 80
80enum omap_color_mode { 81enum omap_color_mode {