blob: f278080e1063f2a92b102b0157ab80396bfe095d [file] [log] [blame]
Archit Taneja9b372c22011-05-06 11:45:49 +05301/*
2 * linux/drivers/video/omap2/dss/dispc.h
3 *
4 * Copyright (C) 2011 Texas Instruments
5 * Author: Archit Taneja <archit@ti.com>
6 *
7 *
8 * This program is free software; you can redistribute it and/or modify it
9 * under the terms of the GNU General Public License version 2 as published by
10 * the Free Software Foundation.
11 *
12 * This program is distributed in the hope that it will be useful, but WITHOUT
13 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
14 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
15 * more details.
16 *
17 * You should have received a copy of the GNU General Public License along with
18 * this program. If not, see <http://www.gnu.org/licenses/>.
19 */
20
21#ifndef __OMAP2_DISPC_REG_H
22#define __OMAP2_DISPC_REG_H
23
Archit Taneja702d1442011-05-06 11:45:50 +053024/* DISPC common registers */
Archit Taneja55978cc2011-05-06 11:45:51 +053025#define DISPC_REVISION 0x0000
26#define DISPC_SYSCONFIG 0x0010
27#define DISPC_SYSSTATUS 0x0014
28#define DISPC_IRQSTATUS 0x0018
29#define DISPC_IRQENABLE 0x001C
30#define DISPC_CONTROL 0x0040
31#define DISPC_CONFIG 0x0044
32#define DISPC_CAPABLE 0x0048
33#define DISPC_LINE_STATUS 0x005C
34#define DISPC_LINE_NUMBER 0x0060
35#define DISPC_GLOBAL_ALPHA 0x0074
36#define DISPC_CONTROL2 0x0238
37#define DISPC_CONFIG2 0x0620
38#define DISPC_DIVISOR 0x0804
Archit Taneja9b372c22011-05-06 11:45:49 +053039
40/* DISPC overlay registers */
Archit Taneja55978cc2011-05-06 11:45:51 +053041#define DISPC_OVL_BA0(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053042 DISPC_BA0_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053043#define DISPC_OVL_BA1(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053044 DISPC_BA1_OFFSET(n))
Amber Jainab5ca072011-05-19 19:47:53 +053045#define DISPC_OVL_BA0_UV(n) (DISPC_OVL_BASE(n) + \
46 DISPC_BA0_UV_OFFSET(n))
47#define DISPC_OVL_BA1_UV(n) (DISPC_OVL_BASE(n) + \
48 DISPC_BA1_UV_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053049#define DISPC_OVL_POSITION(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053050 DISPC_POS_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053051#define DISPC_OVL_SIZE(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053052 DISPC_SIZE_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053053#define DISPC_OVL_ATTRIBUTES(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053054 DISPC_ATTR_OFFSET(n))
Amber Jainab5ca072011-05-19 19:47:53 +053055#define DISPC_OVL_ATTRIBUTES2(n) (DISPC_OVL_BASE(n) + \
56 DISPC_ATTR2_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053057#define DISPC_OVL_FIFO_THRESHOLD(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053058 DISPC_FIFO_THRESH_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053059#define DISPC_OVL_FIFO_SIZE_STATUS(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053060 DISPC_FIFO_SIZE_STATUS_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053061#define DISPC_OVL_ROW_INC(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053062 DISPC_ROW_INC_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053063#define DISPC_OVL_PIXEL_INC(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053064 DISPC_PIX_INC_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053065#define DISPC_OVL_WINDOW_SKIP(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053066 DISPC_WINDOW_SKIP_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053067#define DISPC_OVL_TABLE_BA(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053068 DISPC_TABLE_BA_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053069#define DISPC_OVL_FIR(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053070 DISPC_FIR_OFFSET(n))
Amber Jainab5ca072011-05-19 19:47:53 +053071#define DISPC_OVL_FIR2(n) (DISPC_OVL_BASE(n) + \
72 DISPC_FIR2_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053073#define DISPC_OVL_PICTURE_SIZE(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053074 DISPC_PIC_SIZE_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053075#define DISPC_OVL_ACCU0(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053076 DISPC_ACCU0_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053077#define DISPC_OVL_ACCU1(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053078 DISPC_ACCU1_OFFSET(n))
Amber Jainab5ca072011-05-19 19:47:53 +053079#define DISPC_OVL_ACCU2_0(n) (DISPC_OVL_BASE(n) + \
80 DISPC_ACCU2_0_OFFSET(n))
81#define DISPC_OVL_ACCU2_1(n) (DISPC_OVL_BASE(n) + \
82 DISPC_ACCU2_1_OFFSET(n))
Archit Taneja55978cc2011-05-06 11:45:51 +053083#define DISPC_OVL_FIR_COEF_H(n, i) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053084 DISPC_FIR_COEF_H_OFFSET(n, i))
Archit Taneja55978cc2011-05-06 11:45:51 +053085#define DISPC_OVL_FIR_COEF_HV(n, i) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053086 DISPC_FIR_COEF_HV_OFFSET(n, i))
Amber Jainab5ca072011-05-19 19:47:53 +053087#define DISPC_OVL_FIR_COEF_H2(n, i) (DISPC_OVL_BASE(n) + \
88 DISPC_FIR_COEF_H2_OFFSET(n, i))
89#define DISPC_OVL_FIR_COEF_HV2(n, i) (DISPC_OVL_BASE(n) + \
90 DISPC_FIR_COEF_HV2_OFFSET(n, i))
Archit Taneja55978cc2011-05-06 11:45:51 +053091#define DISPC_OVL_CONV_COEF(n, i) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053092 DISPC_CONV_COEF_OFFSET(n, i))
Archit Taneja55978cc2011-05-06 11:45:51 +053093#define DISPC_OVL_FIR_COEF_V(n, i) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053094 DISPC_FIR_COEF_V_OFFSET(n, i))
Amber Jainab5ca072011-05-19 19:47:53 +053095#define DISPC_OVL_FIR_COEF_V2(n, i) (DISPC_OVL_BASE(n) + \
96 DISPC_FIR_COEF_V2_OFFSET(n, i))
Archit Taneja55978cc2011-05-06 11:45:51 +053097#define DISPC_OVL_PRELOAD(n) (DISPC_OVL_BASE(n) + \
Archit Taneja9b372c22011-05-06 11:45:49 +053098 DISPC_PRELOAD_OFFSET(n))
99
Chandrabhanu Mahapatradebd9072011-12-19 14:03:44 +0530100/* DISPC up/downsampling FIR filter coefficient structure */
101struct dispc_coef {
102 s8 hc4_vc22;
103 s8 hc3_vc2;
104 u8 hc2_vc1;
105 s8 hc1_vc0;
106 s8 hc0_vc00;
107};
108
109const struct dispc_coef *dispc_ovl_get_scale_coef(int inc, int five_taps);
110
Archit Taneja702d1442011-05-06 11:45:50 +0530111/* DISPC manager/channel specific registers */
Archit Taneja55978cc2011-05-06 11:45:51 +0530112static inline u16 DISPC_DEFAULT_COLOR(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530113{
114 switch (channel) {
115 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530116 return 0x004C;
Archit Taneja702d1442011-05-06 11:45:50 +0530117 case OMAP_DSS_CHANNEL_DIGIT:
Archit Taneja55978cc2011-05-06 11:45:51 +0530118 return 0x0050;
Archit Taneja702d1442011-05-06 11:45:50 +0530119 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530120 return 0x03AC;
Archit Taneja702d1442011-05-06 11:45:50 +0530121 default:
122 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300123 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530124 }
125}
126
Archit Taneja55978cc2011-05-06 11:45:51 +0530127static inline u16 DISPC_TRANS_COLOR(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530128{
129 switch (channel) {
130 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530131 return 0x0054;
Archit Taneja702d1442011-05-06 11:45:50 +0530132 case OMAP_DSS_CHANNEL_DIGIT:
Archit Taneja55978cc2011-05-06 11:45:51 +0530133 return 0x0058;
Archit Taneja702d1442011-05-06 11:45:50 +0530134 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530135 return 0x03B0;
Archit Taneja702d1442011-05-06 11:45:50 +0530136 default:
137 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300138 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530139 }
140}
141
Archit Taneja55978cc2011-05-06 11:45:51 +0530142static inline u16 DISPC_TIMING_H(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530143{
144 switch (channel) {
145 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530146 return 0x0064;
Archit Taneja702d1442011-05-06 11:45:50 +0530147 case OMAP_DSS_CHANNEL_DIGIT:
148 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300149 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530150 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530151 return 0x0400;
Archit Taneja702d1442011-05-06 11:45:50 +0530152 default:
153 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300154 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530155 }
156}
157
Archit Taneja55978cc2011-05-06 11:45:51 +0530158static inline u16 DISPC_TIMING_V(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530159{
160 switch (channel) {
161 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530162 return 0x0068;
Archit Taneja702d1442011-05-06 11:45:50 +0530163 case OMAP_DSS_CHANNEL_DIGIT:
164 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300165 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530166 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530167 return 0x0404;
Archit Taneja702d1442011-05-06 11:45:50 +0530168 default:
169 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300170 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530171 }
172}
173
Archit Taneja55978cc2011-05-06 11:45:51 +0530174static inline u16 DISPC_POL_FREQ(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530175{
176 switch (channel) {
177 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530178 return 0x006C;
Archit Taneja702d1442011-05-06 11:45:50 +0530179 case OMAP_DSS_CHANNEL_DIGIT:
180 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300181 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530182 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530183 return 0x0408;
Archit Taneja702d1442011-05-06 11:45:50 +0530184 default:
185 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300186 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530187 }
188}
189
Archit Taneja55978cc2011-05-06 11:45:51 +0530190static inline u16 DISPC_DIVISORo(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530191{
192 switch (channel) {
193 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530194 return 0x0070;
Archit Taneja702d1442011-05-06 11:45:50 +0530195 case OMAP_DSS_CHANNEL_DIGIT:
196 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300197 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530198 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530199 return 0x040C;
Archit Taneja702d1442011-05-06 11:45:50 +0530200 default:
201 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300202 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530203 }
204}
205
206/* Named as DISPC_SIZE_LCD, DISPC_SIZE_DIGIT and DISPC_SIZE_LCD2 in TRM */
Archit Taneja55978cc2011-05-06 11:45:51 +0530207static inline u16 DISPC_SIZE_MGR(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530208{
209 switch (channel) {
210 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530211 return 0x007C;
Archit Taneja702d1442011-05-06 11:45:50 +0530212 case OMAP_DSS_CHANNEL_DIGIT:
Archit Taneja55978cc2011-05-06 11:45:51 +0530213 return 0x0078;
Archit Taneja702d1442011-05-06 11:45:50 +0530214 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530215 return 0x03CC;
Archit Taneja702d1442011-05-06 11:45:50 +0530216 default:
217 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300218 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530219 }
220}
221
Archit Taneja55978cc2011-05-06 11:45:51 +0530222static inline u16 DISPC_DATA_CYCLE1(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530223{
224 switch (channel) {
225 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530226 return 0x01D4;
Archit Taneja702d1442011-05-06 11:45:50 +0530227 case OMAP_DSS_CHANNEL_DIGIT:
228 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300229 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530230 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530231 return 0x03C0;
Archit Taneja702d1442011-05-06 11:45:50 +0530232 default:
233 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300234 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530235 }
236}
237
Archit Taneja55978cc2011-05-06 11:45:51 +0530238static inline u16 DISPC_DATA_CYCLE2(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530239{
240 switch (channel) {
241 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530242 return 0x01D8;
Archit Taneja702d1442011-05-06 11:45:50 +0530243 case OMAP_DSS_CHANNEL_DIGIT:
244 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300245 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530246 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530247 return 0x03C4;
Archit Taneja702d1442011-05-06 11:45:50 +0530248 default:
249 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300250 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530251 }
252}
253
Archit Taneja55978cc2011-05-06 11:45:51 +0530254static inline u16 DISPC_DATA_CYCLE3(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530255{
256 switch (channel) {
257 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530258 return 0x01DC;
Archit Taneja702d1442011-05-06 11:45:50 +0530259 case OMAP_DSS_CHANNEL_DIGIT:
260 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300261 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530262 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530263 return 0x03C8;
Archit Taneja702d1442011-05-06 11:45:50 +0530264 default:
265 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300266 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530267 }
268}
269
Archit Taneja55978cc2011-05-06 11:45:51 +0530270static inline u16 DISPC_CPR_COEF_R(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530271{
272 switch (channel) {
273 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530274 return 0x0220;
Archit Taneja702d1442011-05-06 11:45:50 +0530275 case OMAP_DSS_CHANNEL_DIGIT:
276 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300277 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530278 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530279 return 0x03BC;
Archit Taneja702d1442011-05-06 11:45:50 +0530280 default:
281 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300282 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530283 }
284}
285
Archit Taneja55978cc2011-05-06 11:45:51 +0530286static inline u16 DISPC_CPR_COEF_G(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530287{
288 switch (channel) {
289 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530290 return 0x0224;
Archit Taneja702d1442011-05-06 11:45:50 +0530291 case OMAP_DSS_CHANNEL_DIGIT:
292 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300293 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530294 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530295 return 0x03B8;
Archit Taneja702d1442011-05-06 11:45:50 +0530296 default:
297 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300298 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530299 }
300}
301
Archit Taneja55978cc2011-05-06 11:45:51 +0530302static inline u16 DISPC_CPR_COEF_B(enum omap_channel channel)
Archit Taneja702d1442011-05-06 11:45:50 +0530303{
304 switch (channel) {
305 case OMAP_DSS_CHANNEL_LCD:
Archit Taneja55978cc2011-05-06 11:45:51 +0530306 return 0x0228;
Archit Taneja702d1442011-05-06 11:45:50 +0530307 case OMAP_DSS_CHANNEL_DIGIT:
308 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300309 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530310 case OMAP_DSS_CHANNEL_LCD2:
Archit Taneja55978cc2011-05-06 11:45:51 +0530311 return 0x03B4;
Archit Taneja702d1442011-05-06 11:45:50 +0530312 default:
313 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300314 return 0;
Archit Taneja702d1442011-05-06 11:45:50 +0530315 }
316}
317
Archit Taneja9b372c22011-05-06 11:45:49 +0530318/* DISPC overlay register base addresses */
319static inline u16 DISPC_OVL_BASE(enum omap_plane plane)
320{
321 switch (plane) {
322 case OMAP_DSS_GFX:
323 return 0x0080;
324 case OMAP_DSS_VIDEO1:
325 return 0x00BC;
326 case OMAP_DSS_VIDEO2:
327 return 0x014C;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530328 case OMAP_DSS_VIDEO3:
329 return 0x0300;
Archit Taneja9b372c22011-05-06 11:45:49 +0530330 default:
331 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300332 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530333 }
334}
335
336/* DISPC overlay register offsets */
337static inline u16 DISPC_BA0_OFFSET(enum omap_plane plane)
338{
339 switch (plane) {
340 case OMAP_DSS_GFX:
341 case OMAP_DSS_VIDEO1:
342 case OMAP_DSS_VIDEO2:
343 return 0x0000;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530344 case OMAP_DSS_VIDEO3:
345 return 0x0008;
Archit Taneja9b372c22011-05-06 11:45:49 +0530346 default:
347 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300348 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530349 }
350}
351
352static inline u16 DISPC_BA1_OFFSET(enum omap_plane plane)
353{
354 switch (plane) {
355 case OMAP_DSS_GFX:
356 case OMAP_DSS_VIDEO1:
357 case OMAP_DSS_VIDEO2:
358 return 0x0004;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530359 case OMAP_DSS_VIDEO3:
360 return 0x000C;
Archit Taneja9b372c22011-05-06 11:45:49 +0530361 default:
362 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300363 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530364 }
365}
366
Amber Jainab5ca072011-05-19 19:47:53 +0530367static inline u16 DISPC_BA0_UV_OFFSET(enum omap_plane plane)
368{
369 switch (plane) {
370 case OMAP_DSS_GFX:
371 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300372 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530373 case OMAP_DSS_VIDEO1:
374 return 0x0544;
375 case OMAP_DSS_VIDEO2:
376 return 0x04BC;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530377 case OMAP_DSS_VIDEO3:
378 return 0x0310;
Amber Jainab5ca072011-05-19 19:47:53 +0530379 default:
380 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300381 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530382 }
383}
384
385static inline u16 DISPC_BA1_UV_OFFSET(enum omap_plane plane)
386{
387 switch (plane) {
388 case OMAP_DSS_GFX:
389 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300390 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530391 case OMAP_DSS_VIDEO1:
392 return 0x0548;
393 case OMAP_DSS_VIDEO2:
394 return 0x04C0;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530395 case OMAP_DSS_VIDEO3:
396 return 0x0314;
Amber Jainab5ca072011-05-19 19:47:53 +0530397 default:
398 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300399 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530400 }
401}
402
Archit Taneja9b372c22011-05-06 11:45:49 +0530403static inline u16 DISPC_POS_OFFSET(enum omap_plane plane)
404{
405 switch (plane) {
406 case OMAP_DSS_GFX:
407 case OMAP_DSS_VIDEO1:
408 case OMAP_DSS_VIDEO2:
409 return 0x0008;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530410 case OMAP_DSS_VIDEO3:
411 return 0x009C;
Archit Taneja9b372c22011-05-06 11:45:49 +0530412 default:
413 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300414 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530415 }
416}
417
418static inline u16 DISPC_SIZE_OFFSET(enum omap_plane plane)
419{
420 switch (plane) {
421 case OMAP_DSS_GFX:
422 case OMAP_DSS_VIDEO1:
423 case OMAP_DSS_VIDEO2:
424 return 0x000C;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530425 case OMAP_DSS_VIDEO3:
426 return 0x00A8;
Archit Taneja9b372c22011-05-06 11:45:49 +0530427 default:
428 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300429 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530430 }
431}
432
433static inline u16 DISPC_ATTR_OFFSET(enum omap_plane plane)
434{
435 switch (plane) {
436 case OMAP_DSS_GFX:
437 return 0x0020;
438 case OMAP_DSS_VIDEO1:
439 case OMAP_DSS_VIDEO2:
440 return 0x0010;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530441 case OMAP_DSS_VIDEO3:
442 return 0x0070;
Archit Taneja9b372c22011-05-06 11:45:49 +0530443 default:
444 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300445 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530446 }
447}
448
Amber Jainab5ca072011-05-19 19:47:53 +0530449static inline u16 DISPC_ATTR2_OFFSET(enum omap_plane plane)
450{
451 switch (plane) {
452 case OMAP_DSS_GFX:
453 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300454 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530455 case OMAP_DSS_VIDEO1:
456 return 0x0568;
457 case OMAP_DSS_VIDEO2:
458 return 0x04DC;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530459 case OMAP_DSS_VIDEO3:
460 return 0x032C;
Amber Jainab5ca072011-05-19 19:47:53 +0530461 default:
462 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300463 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530464 }
465}
466
Archit Taneja9b372c22011-05-06 11:45:49 +0530467static inline u16 DISPC_FIFO_THRESH_OFFSET(enum omap_plane plane)
468{
469 switch (plane) {
470 case OMAP_DSS_GFX:
471 return 0x0024;
472 case OMAP_DSS_VIDEO1:
473 case OMAP_DSS_VIDEO2:
474 return 0x0014;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530475 case OMAP_DSS_VIDEO3:
476 return 0x008C;
Archit Taneja9b372c22011-05-06 11:45:49 +0530477 default:
478 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300479 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530480 }
481}
482
483static inline u16 DISPC_FIFO_SIZE_STATUS_OFFSET(enum omap_plane plane)
484{
485 switch (plane) {
486 case OMAP_DSS_GFX:
487 return 0x0028;
488 case OMAP_DSS_VIDEO1:
489 case OMAP_DSS_VIDEO2:
490 return 0x0018;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530491 case OMAP_DSS_VIDEO3:
492 return 0x0088;
Archit Taneja9b372c22011-05-06 11:45:49 +0530493 default:
494 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300495 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530496 }
497}
498
499static inline u16 DISPC_ROW_INC_OFFSET(enum omap_plane plane)
500{
501 switch (plane) {
502 case OMAP_DSS_GFX:
503 return 0x002C;
504 case OMAP_DSS_VIDEO1:
505 case OMAP_DSS_VIDEO2:
506 return 0x001C;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530507 case OMAP_DSS_VIDEO3:
508 return 0x00A4;
Archit Taneja9b372c22011-05-06 11:45:49 +0530509 default:
510 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300511 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530512 }
513}
514
515static inline u16 DISPC_PIX_INC_OFFSET(enum omap_plane plane)
516{
517 switch (plane) {
518 case OMAP_DSS_GFX:
519 return 0x0030;
520 case OMAP_DSS_VIDEO1:
521 case OMAP_DSS_VIDEO2:
522 return 0x0020;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530523 case OMAP_DSS_VIDEO3:
524 return 0x0098;
Archit Taneja9b372c22011-05-06 11:45:49 +0530525 default:
526 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300527 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530528 }
529}
530
531static inline u16 DISPC_WINDOW_SKIP_OFFSET(enum omap_plane plane)
532{
533 switch (plane) {
534 case OMAP_DSS_GFX:
535 return 0x0034;
536 case OMAP_DSS_VIDEO1:
537 case OMAP_DSS_VIDEO2:
Archit Tanejab8c095b2011-09-13 18:20:33 +0530538 case OMAP_DSS_VIDEO3:
Archit Taneja9b372c22011-05-06 11:45:49 +0530539 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300540 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530541 default:
542 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300543 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530544 }
545}
546
547static inline u16 DISPC_TABLE_BA_OFFSET(enum omap_plane plane)
548{
549 switch (plane) {
550 case OMAP_DSS_GFX:
551 return 0x0038;
552 case OMAP_DSS_VIDEO1:
553 case OMAP_DSS_VIDEO2:
Archit Tanejab8c095b2011-09-13 18:20:33 +0530554 case OMAP_DSS_VIDEO3:
Archit Taneja9b372c22011-05-06 11:45:49 +0530555 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300556 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530557 default:
558 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300559 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530560 }
561}
562
563static inline u16 DISPC_FIR_OFFSET(enum omap_plane plane)
564{
565 switch (plane) {
566 case OMAP_DSS_GFX:
567 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300568 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530569 case OMAP_DSS_VIDEO1:
570 case OMAP_DSS_VIDEO2:
571 return 0x0024;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530572 case OMAP_DSS_VIDEO3:
573 return 0x0090;
Archit Taneja9b372c22011-05-06 11:45:49 +0530574 default:
575 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300576 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530577 }
578}
579
Amber Jainab5ca072011-05-19 19:47:53 +0530580static inline u16 DISPC_FIR2_OFFSET(enum omap_plane plane)
581{
582 switch (plane) {
583 case OMAP_DSS_GFX:
584 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300585 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530586 case OMAP_DSS_VIDEO1:
587 return 0x0580;
588 case OMAP_DSS_VIDEO2:
589 return 0x055C;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530590 case OMAP_DSS_VIDEO3:
591 return 0x0424;
Amber Jainab5ca072011-05-19 19:47:53 +0530592 default:
593 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300594 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530595 }
596}
597
Archit Taneja9b372c22011-05-06 11:45:49 +0530598static inline u16 DISPC_PIC_SIZE_OFFSET(enum omap_plane plane)
599{
600 switch (plane) {
601 case OMAP_DSS_GFX:
602 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300603 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530604 case OMAP_DSS_VIDEO1:
605 case OMAP_DSS_VIDEO2:
606 return 0x0028;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530607 case OMAP_DSS_VIDEO3:
608 return 0x0094;
Archit Taneja9b372c22011-05-06 11:45:49 +0530609 default:
610 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300611 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530612 }
613}
614
615
616static inline u16 DISPC_ACCU0_OFFSET(enum omap_plane plane)
617{
618 switch (plane) {
619 case OMAP_DSS_GFX:
620 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300621 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530622 case OMAP_DSS_VIDEO1:
623 case OMAP_DSS_VIDEO2:
624 return 0x002C;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530625 case OMAP_DSS_VIDEO3:
626 return 0x0000;
Archit Taneja9b372c22011-05-06 11:45:49 +0530627 default:
628 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300629 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530630 }
631}
632
Amber Jainab5ca072011-05-19 19:47:53 +0530633static inline u16 DISPC_ACCU2_0_OFFSET(enum omap_plane plane)
634{
635 switch (plane) {
636 case OMAP_DSS_GFX:
637 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300638 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530639 case OMAP_DSS_VIDEO1:
640 return 0x0584;
641 case OMAP_DSS_VIDEO2:
642 return 0x0560;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530643 case OMAP_DSS_VIDEO3:
644 return 0x0428;
Amber Jainab5ca072011-05-19 19:47:53 +0530645 default:
646 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300647 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530648 }
649}
650
Archit Taneja9b372c22011-05-06 11:45:49 +0530651static inline u16 DISPC_ACCU1_OFFSET(enum omap_plane plane)
652{
653 switch (plane) {
654 case OMAP_DSS_GFX:
655 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300656 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530657 case OMAP_DSS_VIDEO1:
658 case OMAP_DSS_VIDEO2:
659 return 0x0030;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530660 case OMAP_DSS_VIDEO3:
661 return 0x0004;
Archit Taneja9b372c22011-05-06 11:45:49 +0530662 default:
663 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300664 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530665 }
666}
667
Amber Jainab5ca072011-05-19 19:47:53 +0530668static inline u16 DISPC_ACCU2_1_OFFSET(enum omap_plane plane)
669{
670 switch (plane) {
671 case OMAP_DSS_GFX:
672 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300673 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530674 case OMAP_DSS_VIDEO1:
675 return 0x0588;
676 case OMAP_DSS_VIDEO2:
677 return 0x0564;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530678 case OMAP_DSS_VIDEO3:
679 return 0x042C;
Amber Jainab5ca072011-05-19 19:47:53 +0530680 default:
681 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300682 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530683 }
684}
685
Archit Taneja9b372c22011-05-06 11:45:49 +0530686/* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
687static inline u16 DISPC_FIR_COEF_H_OFFSET(enum omap_plane plane, u16 i)
688{
689 switch (plane) {
690 case OMAP_DSS_GFX:
691 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300692 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530693 case OMAP_DSS_VIDEO1:
694 case OMAP_DSS_VIDEO2:
695 return 0x0034 + i * 0x8;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530696 case OMAP_DSS_VIDEO3:
697 return 0x0010 + i * 0x8;
Archit Taneja9b372c22011-05-06 11:45:49 +0530698 default:
699 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300700 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530701 }
702}
703
704/* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
Amber Jainab5ca072011-05-19 19:47:53 +0530705static inline u16 DISPC_FIR_COEF_H2_OFFSET(enum omap_plane plane, u16 i)
706{
707 switch (plane) {
708 case OMAP_DSS_GFX:
709 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300710 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530711 case OMAP_DSS_VIDEO1:
712 return 0x058C + i * 0x8;
713 case OMAP_DSS_VIDEO2:
714 return 0x0568 + i * 0x8;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530715 case OMAP_DSS_VIDEO3:
716 return 0x0430 + i * 0x8;
Amber Jainab5ca072011-05-19 19:47:53 +0530717 default:
718 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300719 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530720 }
721}
722
723/* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
Archit Taneja9b372c22011-05-06 11:45:49 +0530724static inline u16 DISPC_FIR_COEF_HV_OFFSET(enum omap_plane plane, u16 i)
725{
726 switch (plane) {
727 case OMAP_DSS_GFX:
728 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300729 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530730 case OMAP_DSS_VIDEO1:
731 case OMAP_DSS_VIDEO2:
732 return 0x0038 + i * 0x8;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530733 case OMAP_DSS_VIDEO3:
734 return 0x0014 + i * 0x8;
Archit Taneja9b372c22011-05-06 11:45:49 +0530735 default:
736 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300737 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530738 }
739}
740
Amber Jainab5ca072011-05-19 19:47:53 +0530741/* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
742static inline u16 DISPC_FIR_COEF_HV2_OFFSET(enum omap_plane plane, u16 i)
743{
744 switch (plane) {
745 case OMAP_DSS_GFX:
746 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300747 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530748 case OMAP_DSS_VIDEO1:
749 return 0x0590 + i * 8;
750 case OMAP_DSS_VIDEO2:
751 return 0x056C + i * 0x8;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530752 case OMAP_DSS_VIDEO3:
753 return 0x0434 + i * 0x8;
Amber Jainab5ca072011-05-19 19:47:53 +0530754 default:
755 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300756 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530757 }
758}
759
Archit Taneja9b372c22011-05-06 11:45:49 +0530760/* coef index i = {0, 1, 2, 3, 4,} */
761static inline u16 DISPC_CONV_COEF_OFFSET(enum omap_plane plane, u16 i)
762{
763 switch (plane) {
764 case OMAP_DSS_GFX:
765 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300766 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530767 case OMAP_DSS_VIDEO1:
768 case OMAP_DSS_VIDEO2:
Archit Tanejab8c095b2011-09-13 18:20:33 +0530769 case OMAP_DSS_VIDEO3:
Archit Taneja9b372c22011-05-06 11:45:49 +0530770 return 0x0074 + i * 0x4;
771 default:
772 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300773 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530774 }
775}
776
777/* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
778static inline u16 DISPC_FIR_COEF_V_OFFSET(enum omap_plane plane, u16 i)
779{
780 switch (plane) {
781 case OMAP_DSS_GFX:
782 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300783 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530784 case OMAP_DSS_VIDEO1:
785 return 0x0124 + i * 0x4;
786 case OMAP_DSS_VIDEO2:
787 return 0x00B4 + i * 0x4;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530788 case OMAP_DSS_VIDEO3:
789 return 0x0050 + i * 0x4;
Archit Taneja9b372c22011-05-06 11:45:49 +0530790 default:
791 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300792 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530793 }
794}
795
Amber Jainab5ca072011-05-19 19:47:53 +0530796/* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
797static inline u16 DISPC_FIR_COEF_V2_OFFSET(enum omap_plane plane, u16 i)
798{
799 switch (plane) {
800 case OMAP_DSS_GFX:
801 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300802 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530803 case OMAP_DSS_VIDEO1:
804 return 0x05CC + i * 0x4;
805 case OMAP_DSS_VIDEO2:
806 return 0x05A8 + i * 0x4;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530807 case OMAP_DSS_VIDEO3:
808 return 0x0470 + i * 0x4;
Amber Jainab5ca072011-05-19 19:47:53 +0530809 default:
810 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300811 return 0;
Amber Jainab5ca072011-05-19 19:47:53 +0530812 }
813}
814
Archit Taneja9b372c22011-05-06 11:45:49 +0530815static inline u16 DISPC_PRELOAD_OFFSET(enum omap_plane plane)
816{
817 switch (plane) {
818 case OMAP_DSS_GFX:
819 return 0x01AC;
820 case OMAP_DSS_VIDEO1:
821 return 0x0174;
822 case OMAP_DSS_VIDEO2:
823 return 0x00E8;
Archit Tanejab8c095b2011-09-13 18:20:33 +0530824 case OMAP_DSS_VIDEO3:
825 return 0x00A0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530826 default:
827 BUG();
Tomi Valkeinenc6eee962012-05-18 11:47:02 +0300828 return 0;
Archit Taneja9b372c22011-05-06 11:45:49 +0530829 }
830}
831#endif