root/drivers/gpu/drm/omapdrm/dss/dispc.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


DEFINITIONS

This source file includes following definitions.
  1. DISPC_DEFAULT_COLOR
  2. DISPC_TRANS_COLOR
  3. DISPC_TIMING_H
  4. DISPC_TIMING_V
  5. DISPC_POL_FREQ
  6. DISPC_DIVISORo
  7. DISPC_SIZE_MGR
  8. DISPC_DATA_CYCLE1
  9. DISPC_DATA_CYCLE2
  10. DISPC_DATA_CYCLE3
  11. DISPC_CPR_COEF_R
  12. DISPC_CPR_COEF_G
  13. DISPC_CPR_COEF_B
  14. DISPC_OVL_BASE
  15. DISPC_BA0_OFFSET
  16. DISPC_BA1_OFFSET
  17. DISPC_BA0_UV_OFFSET
  18. DISPC_BA1_UV_OFFSET
  19. DISPC_POS_OFFSET
  20. DISPC_SIZE_OFFSET
  21. DISPC_ATTR_OFFSET
  22. DISPC_ATTR2_OFFSET
  23. DISPC_FIFO_THRESH_OFFSET
  24. DISPC_FIFO_SIZE_STATUS_OFFSET
  25. DISPC_ROW_INC_OFFSET
  26. DISPC_PIX_INC_OFFSET
  27. DISPC_WINDOW_SKIP_OFFSET
  28. DISPC_TABLE_BA_OFFSET
  29. DISPC_FIR_OFFSET
  30. DISPC_FIR2_OFFSET
  31. DISPC_PIC_SIZE_OFFSET
  32. DISPC_ACCU0_OFFSET
  33. DISPC_ACCU2_0_OFFSET
  34. DISPC_ACCU1_OFFSET
  35. DISPC_ACCU2_1_OFFSET
  36. DISPC_FIR_COEF_H_OFFSET
  37. DISPC_FIR_COEF_H2_OFFSET
  38. DISPC_FIR_COEF_HV_OFFSET
  39. DISPC_FIR_COEF_HV2_OFFSET
  40. DISPC_CONV_COEF_OFFSET
  41. DISPC_FIR_COEF_V_OFFSET
  42. DISPC_FIR_COEF_V2_OFFSET
  43. DISPC_PRELOAD_OFFSET
  44. DISPC_MFLAG_THRESHOLD_OFFSET

   1 /* SPDX-License-Identifier: GPL-2.0-only */
   2 /*
   3  * Copyright (C) 2011 Texas Instruments Incorporated - http://www.ti.com/
   4  * Author: Archit Taneja <archit@ti.com>
   5  */
   6 
   7 #ifndef __OMAP2_DISPC_REG_H
   8 #define __OMAP2_DISPC_REG_H
   9 
  10 /* DISPC common registers */
  11 #define DISPC_REVISION                  0x0000
  12 #define DISPC_SYSCONFIG                 0x0010
  13 #define DISPC_SYSSTATUS                 0x0014
  14 #define DISPC_IRQSTATUS                 0x0018
  15 #define DISPC_IRQENABLE                 0x001C
  16 #define DISPC_CONTROL                   0x0040
  17 #define DISPC_CONFIG                    0x0044
  18 #define DISPC_CAPABLE                   0x0048
  19 #define DISPC_LINE_STATUS               0x005C
  20 #define DISPC_LINE_NUMBER               0x0060
  21 #define DISPC_GLOBAL_ALPHA              0x0074
  22 #define DISPC_CONTROL2                  0x0238
  23 #define DISPC_CONFIG2                   0x0620
  24 #define DISPC_DIVISOR                   0x0804
  25 #define DISPC_GLOBAL_BUFFER             0x0800
  26 #define DISPC_CONTROL3                  0x0848
  27 #define DISPC_CONFIG3                   0x084C
  28 #define DISPC_MSTANDBY_CTRL             0x0858
  29 #define DISPC_GLOBAL_MFLAG_ATTRIBUTE    0x085C
  30 
  31 #define DISPC_GAMMA_TABLE0              0x0630
  32 #define DISPC_GAMMA_TABLE1              0x0634
  33 #define DISPC_GAMMA_TABLE2              0x0638
  34 #define DISPC_GAMMA_TABLE3              0x0850
  35 
  36 /* DISPC overlay registers */
  37 #define DISPC_OVL_BA0(n)                (DISPC_OVL_BASE(n) + \
  38                                         DISPC_BA0_OFFSET(n))
  39 #define DISPC_OVL_BA1(n)                (DISPC_OVL_BASE(n) + \
  40                                         DISPC_BA1_OFFSET(n))
  41 #define DISPC_OVL_BA0_UV(n)             (DISPC_OVL_BASE(n) + \
  42                                         DISPC_BA0_UV_OFFSET(n))
  43 #define DISPC_OVL_BA1_UV(n)             (DISPC_OVL_BASE(n) + \
  44                                         DISPC_BA1_UV_OFFSET(n))
  45 #define DISPC_OVL_POSITION(n)           (DISPC_OVL_BASE(n) + \
  46                                         DISPC_POS_OFFSET(n))
  47 #define DISPC_OVL_SIZE(n)               (DISPC_OVL_BASE(n) + \
  48                                         DISPC_SIZE_OFFSET(n))
  49 #define DISPC_OVL_ATTRIBUTES(n)         (DISPC_OVL_BASE(n) + \
  50                                         DISPC_ATTR_OFFSET(n))
  51 #define DISPC_OVL_ATTRIBUTES2(n)        (DISPC_OVL_BASE(n) + \
  52                                         DISPC_ATTR2_OFFSET(n))
  53 #define DISPC_OVL_FIFO_THRESHOLD(n)     (DISPC_OVL_BASE(n) + \
  54                                         DISPC_FIFO_THRESH_OFFSET(n))
  55 #define DISPC_OVL_FIFO_SIZE_STATUS(n)   (DISPC_OVL_BASE(n) + \
  56                                         DISPC_FIFO_SIZE_STATUS_OFFSET(n))
  57 #define DISPC_OVL_ROW_INC(n)            (DISPC_OVL_BASE(n) + \
  58                                         DISPC_ROW_INC_OFFSET(n))
  59 #define DISPC_OVL_PIXEL_INC(n)          (DISPC_OVL_BASE(n) + \
  60                                         DISPC_PIX_INC_OFFSET(n))
  61 #define DISPC_OVL_WINDOW_SKIP(n)        (DISPC_OVL_BASE(n) + \
  62                                         DISPC_WINDOW_SKIP_OFFSET(n))
  63 #define DISPC_OVL_TABLE_BA(n)           (DISPC_OVL_BASE(n) + \
  64                                         DISPC_TABLE_BA_OFFSET(n))
  65 #define DISPC_OVL_FIR(n)                (DISPC_OVL_BASE(n) + \
  66                                         DISPC_FIR_OFFSET(n))
  67 #define DISPC_OVL_FIR2(n)               (DISPC_OVL_BASE(n) + \
  68                                         DISPC_FIR2_OFFSET(n))
  69 #define DISPC_OVL_PICTURE_SIZE(n)       (DISPC_OVL_BASE(n) + \
  70                                         DISPC_PIC_SIZE_OFFSET(n))
  71 #define DISPC_OVL_ACCU0(n)              (DISPC_OVL_BASE(n) + \
  72                                         DISPC_ACCU0_OFFSET(n))
  73 #define DISPC_OVL_ACCU1(n)              (DISPC_OVL_BASE(n) + \
  74                                         DISPC_ACCU1_OFFSET(n))
  75 #define DISPC_OVL_ACCU2_0(n)            (DISPC_OVL_BASE(n) + \
  76                                         DISPC_ACCU2_0_OFFSET(n))
  77 #define DISPC_OVL_ACCU2_1(n)            (DISPC_OVL_BASE(n) + \
  78                                         DISPC_ACCU2_1_OFFSET(n))
  79 #define DISPC_OVL_FIR_COEF_H(n, i)      (DISPC_OVL_BASE(n) + \
  80                                         DISPC_FIR_COEF_H_OFFSET(n, i))
  81 #define DISPC_OVL_FIR_COEF_HV(n, i)     (DISPC_OVL_BASE(n) + \
  82                                         DISPC_FIR_COEF_HV_OFFSET(n, i))
  83 #define DISPC_OVL_FIR_COEF_H2(n, i)     (DISPC_OVL_BASE(n) + \
  84                                         DISPC_FIR_COEF_H2_OFFSET(n, i))
  85 #define DISPC_OVL_FIR_COEF_HV2(n, i)    (DISPC_OVL_BASE(n) + \
  86                                         DISPC_FIR_COEF_HV2_OFFSET(n, i))
  87 #define DISPC_OVL_CONV_COEF(n, i)       (DISPC_OVL_BASE(n) + \
  88                                         DISPC_CONV_COEF_OFFSET(n, i))
  89 #define DISPC_OVL_FIR_COEF_V(n, i)      (DISPC_OVL_BASE(n) + \
  90                                         DISPC_FIR_COEF_V_OFFSET(n, i))
  91 #define DISPC_OVL_FIR_COEF_V2(n, i)     (DISPC_OVL_BASE(n) + \
  92                                         DISPC_FIR_COEF_V2_OFFSET(n, i))
  93 #define DISPC_OVL_PRELOAD(n)            (DISPC_OVL_BASE(n) + \
  94                                         DISPC_PRELOAD_OFFSET(n))
  95 #define DISPC_OVL_MFLAG_THRESHOLD(n)    DISPC_MFLAG_THRESHOLD_OFFSET(n)
  96 
  97 /* DISPC up/downsampling FIR filter coefficient structure */
  98 struct dispc_coef {
  99         s8 hc4_vc22;
 100         s8 hc3_vc2;
 101         u8 hc2_vc1;
 102         s8 hc1_vc0;
 103         s8 hc0_vc00;
 104 };
 105 
 106 const struct dispc_coef *dispc_ovl_get_scale_coef(int inc, int five_taps);
 107 
 108 /* DISPC manager/channel specific registers */
 109 static inline u16 DISPC_DEFAULT_COLOR(enum omap_channel channel)
 110 {
 111         switch (channel) {
 112         case OMAP_DSS_CHANNEL_LCD:
 113                 return 0x004C;
 114         case OMAP_DSS_CHANNEL_DIGIT:
 115                 return 0x0050;
 116         case OMAP_DSS_CHANNEL_LCD2:
 117                 return 0x03AC;
 118         case OMAP_DSS_CHANNEL_LCD3:
 119                 return 0x0814;
 120         default:
 121                 BUG();
 122                 return 0;
 123         }
 124 }
 125 
 126 static inline u16 DISPC_TRANS_COLOR(enum omap_channel channel)
 127 {
 128         switch (channel) {
 129         case OMAP_DSS_CHANNEL_LCD:
 130                 return 0x0054;
 131         case OMAP_DSS_CHANNEL_DIGIT:
 132                 return 0x0058;
 133         case OMAP_DSS_CHANNEL_LCD2:
 134                 return 0x03B0;
 135         case OMAP_DSS_CHANNEL_LCD3:
 136                 return 0x0818;
 137         default:
 138                 BUG();
 139                 return 0;
 140         }
 141 }
 142 
 143 static inline u16 DISPC_TIMING_H(enum omap_channel channel)
 144 {
 145         switch (channel) {
 146         case OMAP_DSS_CHANNEL_LCD:
 147                 return 0x0064;
 148         case OMAP_DSS_CHANNEL_DIGIT:
 149                 BUG();
 150                 return 0;
 151         case OMAP_DSS_CHANNEL_LCD2:
 152                 return 0x0400;
 153         case OMAP_DSS_CHANNEL_LCD3:
 154                 return 0x0840;
 155         default:
 156                 BUG();
 157                 return 0;
 158         }
 159 }
 160 
 161 static inline u16 DISPC_TIMING_V(enum omap_channel channel)
 162 {
 163         switch (channel) {
 164         case OMAP_DSS_CHANNEL_LCD:
 165                 return 0x0068;
 166         case OMAP_DSS_CHANNEL_DIGIT:
 167                 BUG();
 168                 return 0;
 169         case OMAP_DSS_CHANNEL_LCD2:
 170                 return 0x0404;
 171         case OMAP_DSS_CHANNEL_LCD3:
 172                 return 0x0844;
 173         default:
 174                 BUG();
 175                 return 0;
 176         }
 177 }
 178 
 179 static inline u16 DISPC_POL_FREQ(enum omap_channel channel)
 180 {
 181         switch (channel) {
 182         case OMAP_DSS_CHANNEL_LCD:
 183                 return 0x006C;
 184         case OMAP_DSS_CHANNEL_DIGIT:
 185                 BUG();
 186                 return 0;
 187         case OMAP_DSS_CHANNEL_LCD2:
 188                 return 0x0408;
 189         case OMAP_DSS_CHANNEL_LCD3:
 190                 return 0x083C;
 191         default:
 192                 BUG();
 193                 return 0;
 194         }
 195 }
 196 
 197 static inline u16 DISPC_DIVISORo(enum omap_channel channel)
 198 {
 199         switch (channel) {
 200         case OMAP_DSS_CHANNEL_LCD:
 201                 return 0x0070;
 202         case OMAP_DSS_CHANNEL_DIGIT:
 203                 BUG();
 204                 return 0;
 205         case OMAP_DSS_CHANNEL_LCD2:
 206                 return 0x040C;
 207         case OMAP_DSS_CHANNEL_LCD3:
 208                 return 0x0838;
 209         default:
 210                 BUG();
 211                 return 0;
 212         }
 213 }
 214 
 215 /* Named as DISPC_SIZE_LCD, DISPC_SIZE_DIGIT and DISPC_SIZE_LCD2 in TRM */
 216 static inline u16 DISPC_SIZE_MGR(enum omap_channel channel)
 217 {
 218         switch (channel) {
 219         case OMAP_DSS_CHANNEL_LCD:
 220                 return 0x007C;
 221         case OMAP_DSS_CHANNEL_DIGIT:
 222                 return 0x0078;
 223         case OMAP_DSS_CHANNEL_LCD2:
 224                 return 0x03CC;
 225         case OMAP_DSS_CHANNEL_LCD3:
 226                 return 0x0834;
 227         default:
 228                 BUG();
 229                 return 0;
 230         }
 231 }
 232 
 233 static inline u16 DISPC_DATA_CYCLE1(enum omap_channel channel)
 234 {
 235         switch (channel) {
 236         case OMAP_DSS_CHANNEL_LCD:
 237                 return 0x01D4;
 238         case OMAP_DSS_CHANNEL_DIGIT:
 239                 BUG();
 240                 return 0;
 241         case OMAP_DSS_CHANNEL_LCD2:
 242                 return 0x03C0;
 243         case OMAP_DSS_CHANNEL_LCD3:
 244                 return 0x0828;
 245         default:
 246                 BUG();
 247                 return 0;
 248         }
 249 }
 250 
 251 static inline u16 DISPC_DATA_CYCLE2(enum omap_channel channel)
 252 {
 253         switch (channel) {
 254         case OMAP_DSS_CHANNEL_LCD:
 255                 return 0x01D8;
 256         case OMAP_DSS_CHANNEL_DIGIT:
 257                 BUG();
 258                 return 0;
 259         case OMAP_DSS_CHANNEL_LCD2:
 260                 return 0x03C4;
 261         case OMAP_DSS_CHANNEL_LCD3:
 262                 return 0x082C;
 263         default:
 264                 BUG();
 265                 return 0;
 266         }
 267 }
 268 
 269 static inline u16 DISPC_DATA_CYCLE3(enum omap_channel channel)
 270 {
 271         switch (channel) {
 272         case OMAP_DSS_CHANNEL_LCD:
 273                 return 0x01DC;
 274         case OMAP_DSS_CHANNEL_DIGIT:
 275                 BUG();
 276                 return 0;
 277         case OMAP_DSS_CHANNEL_LCD2:
 278                 return 0x03C8;
 279         case OMAP_DSS_CHANNEL_LCD3:
 280                 return 0x0830;
 281         default:
 282                 BUG();
 283                 return 0;
 284         }
 285 }
 286 
 287 static inline u16 DISPC_CPR_COEF_R(enum omap_channel channel)
 288 {
 289         switch (channel) {
 290         case OMAP_DSS_CHANNEL_LCD:
 291                 return 0x0220;
 292         case OMAP_DSS_CHANNEL_DIGIT:
 293                 BUG();
 294                 return 0;
 295         case OMAP_DSS_CHANNEL_LCD2:
 296                 return 0x03BC;
 297         case OMAP_DSS_CHANNEL_LCD3:
 298                 return 0x0824;
 299         default:
 300                 BUG();
 301                 return 0;
 302         }
 303 }
 304 
 305 static inline u16 DISPC_CPR_COEF_G(enum omap_channel channel)
 306 {
 307         switch (channel) {
 308         case OMAP_DSS_CHANNEL_LCD:
 309                 return 0x0224;
 310         case OMAP_DSS_CHANNEL_DIGIT:
 311                 BUG();
 312                 return 0;
 313         case OMAP_DSS_CHANNEL_LCD2:
 314                 return 0x03B8;
 315         case OMAP_DSS_CHANNEL_LCD3:
 316                 return 0x0820;
 317         default:
 318                 BUG();
 319                 return 0;
 320         }
 321 }
 322 
 323 static inline u16 DISPC_CPR_COEF_B(enum omap_channel channel)
 324 {
 325         switch (channel) {
 326         case OMAP_DSS_CHANNEL_LCD:
 327                 return 0x0228;
 328         case OMAP_DSS_CHANNEL_DIGIT:
 329                 BUG();
 330                 return 0;
 331         case OMAP_DSS_CHANNEL_LCD2:
 332                 return 0x03B4;
 333         case OMAP_DSS_CHANNEL_LCD3:
 334                 return 0x081C;
 335         default:
 336                 BUG();
 337                 return 0;
 338         }
 339 }
 340 
 341 /* DISPC overlay register base addresses */
 342 static inline u16 DISPC_OVL_BASE(enum omap_plane_id plane)
 343 {
 344         switch (plane) {
 345         case OMAP_DSS_GFX:
 346                 return 0x0080;
 347         case OMAP_DSS_VIDEO1:
 348                 return 0x00BC;
 349         case OMAP_DSS_VIDEO2:
 350                 return 0x014C;
 351         case OMAP_DSS_VIDEO3:
 352                 return 0x0300;
 353         case OMAP_DSS_WB:
 354                 return 0x0500;
 355         default:
 356                 BUG();
 357                 return 0;
 358         }
 359 }
 360 
 361 /* DISPC overlay register offsets */
 362 static inline u16 DISPC_BA0_OFFSET(enum omap_plane_id plane)
 363 {
 364         switch (plane) {
 365         case OMAP_DSS_GFX:
 366         case OMAP_DSS_VIDEO1:
 367         case OMAP_DSS_VIDEO2:
 368                 return 0x0000;
 369         case OMAP_DSS_VIDEO3:
 370         case OMAP_DSS_WB:
 371                 return 0x0008;
 372         default:
 373                 BUG();
 374                 return 0;
 375         }
 376 }
 377 
 378 static inline u16 DISPC_BA1_OFFSET(enum omap_plane_id plane)
 379 {
 380         switch (plane) {
 381         case OMAP_DSS_GFX:
 382         case OMAP_DSS_VIDEO1:
 383         case OMAP_DSS_VIDEO2:
 384                 return 0x0004;
 385         case OMAP_DSS_VIDEO3:
 386         case OMAP_DSS_WB:
 387                 return 0x000C;
 388         default:
 389                 BUG();
 390                 return 0;
 391         }
 392 }
 393 
 394 static inline u16 DISPC_BA0_UV_OFFSET(enum omap_plane_id plane)
 395 {
 396         switch (plane) {
 397         case OMAP_DSS_GFX:
 398                 BUG();
 399                 return 0;
 400         case OMAP_DSS_VIDEO1:
 401                 return 0x0544;
 402         case OMAP_DSS_VIDEO2:
 403                 return 0x04BC;
 404         case OMAP_DSS_VIDEO3:
 405                 return 0x0310;
 406         case OMAP_DSS_WB:
 407                 return 0x0118;
 408         default:
 409                 BUG();
 410                 return 0;
 411         }
 412 }
 413 
 414 static inline u16 DISPC_BA1_UV_OFFSET(enum omap_plane_id plane)
 415 {
 416         switch (plane) {
 417         case OMAP_DSS_GFX:
 418                 BUG();
 419                 return 0;
 420         case OMAP_DSS_VIDEO1:
 421                 return 0x0548;
 422         case OMAP_DSS_VIDEO2:
 423                 return 0x04C0;
 424         case OMAP_DSS_VIDEO3:
 425                 return 0x0314;
 426         case OMAP_DSS_WB:
 427                 return 0x011C;
 428         default:
 429                 BUG();
 430                 return 0;
 431         }
 432 }
 433 
 434 static inline u16 DISPC_POS_OFFSET(enum omap_plane_id plane)
 435 {
 436         switch (plane) {
 437         case OMAP_DSS_GFX:
 438         case OMAP_DSS_VIDEO1:
 439         case OMAP_DSS_VIDEO2:
 440                 return 0x0008;
 441         case OMAP_DSS_VIDEO3:
 442                 return 0x009C;
 443         default:
 444                 BUG();
 445                 return 0;
 446         }
 447 }
 448 
 449 static inline u16 DISPC_SIZE_OFFSET(enum omap_plane_id plane)
 450 {
 451         switch (plane) {
 452         case OMAP_DSS_GFX:
 453         case OMAP_DSS_VIDEO1:
 454         case OMAP_DSS_VIDEO2:
 455                 return 0x000C;
 456         case OMAP_DSS_VIDEO3:
 457         case OMAP_DSS_WB:
 458                 return 0x00A8;
 459         default:
 460                 BUG();
 461                 return 0;
 462         }
 463 }
 464 
 465 static inline u16 DISPC_ATTR_OFFSET(enum omap_plane_id plane)
 466 {
 467         switch (plane) {
 468         case OMAP_DSS_GFX:
 469                 return 0x0020;
 470         case OMAP_DSS_VIDEO1:
 471         case OMAP_DSS_VIDEO2:
 472                 return 0x0010;
 473         case OMAP_DSS_VIDEO3:
 474         case OMAP_DSS_WB:
 475                 return 0x0070;
 476         default:
 477                 BUG();
 478                 return 0;
 479         }
 480 }
 481 
 482 static inline u16 DISPC_ATTR2_OFFSET(enum omap_plane_id plane)
 483 {
 484         switch (plane) {
 485         case OMAP_DSS_GFX:
 486                 BUG();
 487                 return 0;
 488         case OMAP_DSS_VIDEO1:
 489                 return 0x0568;
 490         case OMAP_DSS_VIDEO2:
 491                 return 0x04DC;
 492         case OMAP_DSS_VIDEO3:
 493                 return 0x032C;
 494         case OMAP_DSS_WB:
 495                 return 0x0310;
 496         default:
 497                 BUG();
 498                 return 0;
 499         }
 500 }
 501 
 502 static inline u16 DISPC_FIFO_THRESH_OFFSET(enum omap_plane_id plane)
 503 {
 504         switch (plane) {
 505         case OMAP_DSS_GFX:
 506                 return 0x0024;
 507         case OMAP_DSS_VIDEO1:
 508         case OMAP_DSS_VIDEO2:
 509                 return 0x0014;
 510         case OMAP_DSS_VIDEO3:
 511         case OMAP_DSS_WB:
 512                 return 0x008C;
 513         default:
 514                 BUG();
 515                 return 0;
 516         }
 517 }
 518 
 519 static inline u16 DISPC_FIFO_SIZE_STATUS_OFFSET(enum omap_plane_id plane)
 520 {
 521         switch (plane) {
 522         case OMAP_DSS_GFX:
 523                 return 0x0028;
 524         case OMAP_DSS_VIDEO1:
 525         case OMAP_DSS_VIDEO2:
 526                 return 0x0018;
 527         case OMAP_DSS_VIDEO3:
 528         case OMAP_DSS_WB:
 529                 return 0x0088;
 530         default:
 531                 BUG();
 532                 return 0;
 533         }
 534 }
 535 
 536 static inline u16 DISPC_ROW_INC_OFFSET(enum omap_plane_id plane)
 537 {
 538         switch (plane) {
 539         case OMAP_DSS_GFX:
 540                 return 0x002C;
 541         case OMAP_DSS_VIDEO1:
 542         case OMAP_DSS_VIDEO2:
 543                 return 0x001C;
 544         case OMAP_DSS_VIDEO3:
 545         case OMAP_DSS_WB:
 546                 return 0x00A4;
 547         default:
 548                 BUG();
 549                 return 0;
 550         }
 551 }
 552 
 553 static inline u16 DISPC_PIX_INC_OFFSET(enum omap_plane_id plane)
 554 {
 555         switch (plane) {
 556         case OMAP_DSS_GFX:
 557                 return 0x0030;
 558         case OMAP_DSS_VIDEO1:
 559         case OMAP_DSS_VIDEO2:
 560                 return 0x0020;
 561         case OMAP_DSS_VIDEO3:
 562         case OMAP_DSS_WB:
 563                 return 0x0098;
 564         default:
 565                 BUG();
 566                 return 0;
 567         }
 568 }
 569 
 570 static inline u16 DISPC_WINDOW_SKIP_OFFSET(enum omap_plane_id plane)
 571 {
 572         switch (plane) {
 573         case OMAP_DSS_GFX:
 574                 return 0x0034;
 575         case OMAP_DSS_VIDEO1:
 576         case OMAP_DSS_VIDEO2:
 577         case OMAP_DSS_VIDEO3:
 578                 BUG();
 579                 return 0;
 580         default:
 581                 BUG();
 582                 return 0;
 583         }
 584 }
 585 
 586 static inline u16 DISPC_TABLE_BA_OFFSET(enum omap_plane_id plane)
 587 {
 588         switch (plane) {
 589         case OMAP_DSS_GFX:
 590                 return 0x0038;
 591         case OMAP_DSS_VIDEO1:
 592         case OMAP_DSS_VIDEO2:
 593         case OMAP_DSS_VIDEO3:
 594                 BUG();
 595                 return 0;
 596         default:
 597                 BUG();
 598                 return 0;
 599         }
 600 }
 601 
 602 static inline u16 DISPC_FIR_OFFSET(enum omap_plane_id plane)
 603 {
 604         switch (plane) {
 605         case OMAP_DSS_GFX:
 606                 BUG();
 607                 return 0;
 608         case OMAP_DSS_VIDEO1:
 609         case OMAP_DSS_VIDEO2:
 610                 return 0x0024;
 611         case OMAP_DSS_VIDEO3:
 612         case OMAP_DSS_WB:
 613                 return 0x0090;
 614         default:
 615                 BUG();
 616                 return 0;
 617         }
 618 }
 619 
 620 static inline u16 DISPC_FIR2_OFFSET(enum omap_plane_id plane)
 621 {
 622         switch (plane) {
 623         case OMAP_DSS_GFX:
 624                 BUG();
 625                 return 0;
 626         case OMAP_DSS_VIDEO1:
 627                 return 0x0580;
 628         case OMAP_DSS_VIDEO2:
 629                 return 0x055C;
 630         case OMAP_DSS_VIDEO3:
 631                 return 0x0424;
 632         case OMAP_DSS_WB:
 633                 return 0x290;
 634         default:
 635                 BUG();
 636                 return 0;
 637         }
 638 }
 639 
 640 static inline u16 DISPC_PIC_SIZE_OFFSET(enum omap_plane_id plane)
 641 {
 642         switch (plane) {
 643         case OMAP_DSS_GFX:
 644                 BUG();
 645                 return 0;
 646         case OMAP_DSS_VIDEO1:
 647         case OMAP_DSS_VIDEO2:
 648                 return 0x0028;
 649         case OMAP_DSS_VIDEO3:
 650         case OMAP_DSS_WB:
 651                 return 0x0094;
 652         default:
 653                 BUG();
 654                 return 0;
 655         }
 656 }
 657 
 658 
 659 static inline u16 DISPC_ACCU0_OFFSET(enum omap_plane_id plane)
 660 {
 661         switch (plane) {
 662         case OMAP_DSS_GFX:
 663                 BUG();
 664                 return 0;
 665         case OMAP_DSS_VIDEO1:
 666         case OMAP_DSS_VIDEO2:
 667                 return 0x002C;
 668         case OMAP_DSS_VIDEO3:
 669         case OMAP_DSS_WB:
 670                 return 0x0000;
 671         default:
 672                 BUG();
 673                 return 0;
 674         }
 675 }
 676 
 677 static inline u16 DISPC_ACCU2_0_OFFSET(enum omap_plane_id plane)
 678 {
 679         switch (plane) {
 680         case OMAP_DSS_GFX:
 681                 BUG();
 682                 return 0;
 683         case OMAP_DSS_VIDEO1:
 684                 return 0x0584;
 685         case OMAP_DSS_VIDEO2:
 686                 return 0x0560;
 687         case OMAP_DSS_VIDEO3:
 688                 return 0x0428;
 689         case OMAP_DSS_WB:
 690                 return 0x0294;
 691         default:
 692                 BUG();
 693                 return 0;
 694         }
 695 }
 696 
 697 static inline u16 DISPC_ACCU1_OFFSET(enum omap_plane_id plane)
 698 {
 699         switch (plane) {
 700         case OMAP_DSS_GFX:
 701                 BUG();
 702                 return 0;
 703         case OMAP_DSS_VIDEO1:
 704         case OMAP_DSS_VIDEO2:
 705                 return 0x0030;
 706         case OMAP_DSS_VIDEO3:
 707         case OMAP_DSS_WB:
 708                 return 0x0004;
 709         default:
 710                 BUG();
 711                 return 0;
 712         }
 713 }
 714 
 715 static inline u16 DISPC_ACCU2_1_OFFSET(enum omap_plane_id plane)
 716 {
 717         switch (plane) {
 718         case OMAP_DSS_GFX:
 719                 BUG();
 720                 return 0;
 721         case OMAP_DSS_VIDEO1:
 722                 return 0x0588;
 723         case OMAP_DSS_VIDEO2:
 724                 return 0x0564;
 725         case OMAP_DSS_VIDEO3:
 726                 return 0x042C;
 727         case OMAP_DSS_WB:
 728                 return 0x0298;
 729         default:
 730                 BUG();
 731                 return 0;
 732         }
 733 }
 734 
 735 /* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
 736 static inline u16 DISPC_FIR_COEF_H_OFFSET(enum omap_plane_id plane, u16 i)
 737 {
 738         switch (plane) {
 739         case OMAP_DSS_GFX:
 740                 BUG();
 741                 return 0;
 742         case OMAP_DSS_VIDEO1:
 743         case OMAP_DSS_VIDEO2:
 744                 return 0x0034 + i * 0x8;
 745         case OMAP_DSS_VIDEO3:
 746         case OMAP_DSS_WB:
 747                 return 0x0010 + i * 0x8;
 748         default:
 749                 BUG();
 750                 return 0;
 751         }
 752 }
 753 
 754 /* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
 755 static inline u16 DISPC_FIR_COEF_H2_OFFSET(enum omap_plane_id plane, u16 i)
 756 {
 757         switch (plane) {
 758         case OMAP_DSS_GFX:
 759                 BUG();
 760                 return 0;
 761         case OMAP_DSS_VIDEO1:
 762                 return 0x058C + i * 0x8;
 763         case OMAP_DSS_VIDEO2:
 764                 return 0x0568 + i * 0x8;
 765         case OMAP_DSS_VIDEO3:
 766                 return 0x0430 + i * 0x8;
 767         case OMAP_DSS_WB:
 768                 return 0x02A0 + i * 0x8;
 769         default:
 770                 BUG();
 771                 return 0;
 772         }
 773 }
 774 
 775 /* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
 776 static inline u16 DISPC_FIR_COEF_HV_OFFSET(enum omap_plane_id plane, u16 i)
 777 {
 778         switch (plane) {
 779         case OMAP_DSS_GFX:
 780                 BUG();
 781                 return 0;
 782         case OMAP_DSS_VIDEO1:
 783         case OMAP_DSS_VIDEO2:
 784                 return 0x0038 + i * 0x8;
 785         case OMAP_DSS_VIDEO3:
 786         case OMAP_DSS_WB:
 787                 return 0x0014 + i * 0x8;
 788         default:
 789                 BUG();
 790                 return 0;
 791         }
 792 }
 793 
 794 /* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
 795 static inline u16 DISPC_FIR_COEF_HV2_OFFSET(enum omap_plane_id plane, u16 i)
 796 {
 797         switch (plane) {
 798         case OMAP_DSS_GFX:
 799                 BUG();
 800                 return 0;
 801         case OMAP_DSS_VIDEO1:
 802                 return 0x0590 + i * 8;
 803         case OMAP_DSS_VIDEO2:
 804                 return 0x056C + i * 0x8;
 805         case OMAP_DSS_VIDEO3:
 806                 return 0x0434 + i * 0x8;
 807         case OMAP_DSS_WB:
 808                 return 0x02A4 + i * 0x8;
 809         default:
 810                 BUG();
 811                 return 0;
 812         }
 813 }
 814 
 815 /* coef index i = {0, 1, 2, 3, 4,} */
 816 static inline u16 DISPC_CONV_COEF_OFFSET(enum omap_plane_id plane, u16 i)
 817 {
 818         switch (plane) {
 819         case OMAP_DSS_GFX:
 820                 BUG();
 821                 return 0;
 822         case OMAP_DSS_VIDEO1:
 823         case OMAP_DSS_VIDEO2:
 824         case OMAP_DSS_VIDEO3:
 825         case OMAP_DSS_WB:
 826                 return 0x0074 + i * 0x4;
 827         default:
 828                 BUG();
 829                 return 0;
 830         }
 831 }
 832 
 833 /* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
 834 static inline u16 DISPC_FIR_COEF_V_OFFSET(enum omap_plane_id plane, u16 i)
 835 {
 836         switch (plane) {
 837         case OMAP_DSS_GFX:
 838                 BUG();
 839                 return 0;
 840         case OMAP_DSS_VIDEO1:
 841                 return 0x0124 + i * 0x4;
 842         case OMAP_DSS_VIDEO2:
 843                 return 0x00B4 + i * 0x4;
 844         case OMAP_DSS_VIDEO3:
 845         case OMAP_DSS_WB:
 846                 return 0x0050 + i * 0x4;
 847         default:
 848                 BUG();
 849                 return 0;
 850         }
 851 }
 852 
 853 /* coef index i = {0, 1, 2, 3, 4, 5, 6, 7} */
 854 static inline u16 DISPC_FIR_COEF_V2_OFFSET(enum omap_plane_id plane, u16 i)
 855 {
 856         switch (plane) {
 857         case OMAP_DSS_GFX:
 858                 BUG();
 859                 return 0;
 860         case OMAP_DSS_VIDEO1:
 861                 return 0x05CC + i * 0x4;
 862         case OMAP_DSS_VIDEO2:
 863                 return 0x05A8 + i * 0x4;
 864         case OMAP_DSS_VIDEO3:
 865                 return 0x0470 + i * 0x4;
 866         case OMAP_DSS_WB:
 867                 return 0x02E0 + i * 0x4;
 868         default:
 869                 BUG();
 870                 return 0;
 871         }
 872 }
 873 
 874 static inline u16 DISPC_PRELOAD_OFFSET(enum omap_plane_id plane)
 875 {
 876         switch (plane) {
 877         case OMAP_DSS_GFX:
 878                 return 0x01AC;
 879         case OMAP_DSS_VIDEO1:
 880                 return 0x0174;
 881         case OMAP_DSS_VIDEO2:
 882                 return 0x00E8;
 883         case OMAP_DSS_VIDEO3:
 884                 return 0x00A0;
 885         default:
 886                 BUG();
 887                 return 0;
 888         }
 889 }
 890 
 891 static inline u16 DISPC_MFLAG_THRESHOLD_OFFSET(enum omap_plane_id plane)
 892 {
 893         switch (plane) {
 894         case OMAP_DSS_GFX:
 895                 return 0x0860;
 896         case OMAP_DSS_VIDEO1:
 897                 return 0x0864;
 898         case OMAP_DSS_VIDEO2:
 899                 return 0x0868;
 900         case OMAP_DSS_VIDEO3:
 901                 return 0x086c;
 902         case OMAP_DSS_WB:
 903                 return 0x0870;
 904         default:
 905                 BUG();
 906                 return 0;
 907         }
 908 }
 909 #endif

/* [<][>][^][v][top][bottom][index][help] */