regs-lcd.h
上传用户:szlgq88
上传日期:2009-04-28
资源大小:48287k
文件大小:4k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /* linux/include/asm/arch-s3c2410/regs-lcd.h
  2.  *
  3.  * Copyright (c) 2003 Simtec Electronics <linux@simtec.co.uk>
  4.  *       http://www.simtec.co.uk/products/SWLINUX/
  5.  *
  6.  * This program is free software; you can redistribute it and/or modify
  7.  * it under the terms of the GNU General Public License version 2 as
  8.  * published by the Free Software Foundation.
  9.  *
  10.  *
  11.  *
  12.  *  Changelog:
  13.  *    12-06-2003     BJD     Created file
  14.  *    26-06-2003     BJD     Updated LCDCON register definitions
  15.  *    12-03-2004     BJD     Updated include protection
  16.  *    10-03-2005     LCVR    Changed S3C2410_VA to S3C24XX_VA
  17. */
  18. #ifndef ___ASM_ARCH_REGS_LCD_H
  19. #define ___ASM_ARCH_REGS_LCD_H "$Id: lcd.h,v 1.3 2003/06/26 13:25:06 ben Exp $"
  20. #define S3C2410_LCDREG(x) ((x) + S3C24XX_VA_LCD)
  21. /* LCD control registers */
  22. #define S3C2410_LCDCON1     S3C2410_LCDREG(0x00)
  23. #define S3C2410_LCDCON2     S3C2410_LCDREG(0x04)
  24. #define S3C2410_LCDCON3     S3C2410_LCDREG(0x08)
  25. #define S3C2410_LCDCON4     S3C2410_LCDREG(0x0C)
  26. #define S3C2410_LCDCON5     S3C2410_LCDREG(0x10)
  27. #define S3C2410_LCDCON1_CLKVAL(x)  ((x) << 8)
  28. #define S3C2410_LCDCON1_MMODE    (1<<7)
  29. #define S3C2410_LCDCON1_DSCAN4    (0<<5)
  30. #define S3C2410_LCDCON1_STN4    (1<<5)
  31. #define S3C2410_LCDCON1_STN8    (2<<5)
  32. #define S3C2410_LCDCON1_TFT    (3<<5)
  33. #define S3C2410_LCDCON1_STN1BPP    (0<<1)
  34. #define S3C2410_LCDCON1_STN2GREY   (1<<1)
  35. #define S3C2410_LCDCON1_STN4GREY   (2<<1)
  36. #define S3C2410_LCDCON1_STN8BPP    (3<<1)
  37. #define S3C2410_LCDCON1_STN12BPP   (4<<1)
  38. #define S3C2410_LCDCON1_TFT1BPP    (8<<1)
  39. #define S3C2410_LCDCON1_TFT2BPP    (9<<1)
  40. #define S3C2410_LCDCON1_TFT4BPP    (10<<1)
  41. #define S3C2410_LCDCON1_TFT8BPP    (11<<1)
  42. #define S3C2410_LCDCON1_TFT16BPP   (12<<1)
  43. #define S3C2410_LCDCON1_TFT24BPP   (13<<1)
  44. #define S3C2410_LCDCON1_ENVID    (1)
  45. #define S3C2410_LCDCON1_MODEMASK    0x1E
  46. #define S3C2410_LCDCON2_VBPD(x)     ((x) << 24)
  47. #define S3C2410_LCDCON2_LINEVAL(x)  ((x) << 14)
  48. #define S3C2410_LCDCON2_VFPD(x)     ((x) << 6)
  49. #define S3C2410_LCDCON2_VSPW(x)     ((x) << 0)
  50. #define S3C2410_LCDCON2_GET_VBPD(x) ( ((x) >> 24) & 0xFF)
  51. #define S3C2410_LCDCON2_GET_VFPD(x) ( ((x) >>  6) & 0xFF)
  52. #define S3C2410_LCDCON2_GET_VSPW(x) ( ((x) >>  0) & 0x3F)
  53. #define S3C2410_LCDCON3_HBPD(x)     ((x) << 19)
  54. #define S3C2410_LCDCON3_WDLY(x)     ((x) << 19)
  55. #define S3C2410_LCDCON3_HOZVAL(x)   ((x) << 8)
  56. #define S3C2410_LCDCON3_HFPD(x)     ((x) << 0)
  57. #define S3C2410_LCDCON3_LINEBLANK(x)((x) << 0)
  58. #define S3C2410_LCDCON3_GET_HBPD(x) ( ((x) >> 19) & 0x7F)
  59. #define S3C2410_LCDCON3_GET_HFPD(x) ( ((x) >>  0) & 0xFF)
  60. #define S3C2410_LCDCON4_MVAL(x)     ((x) << 8)
  61. #define S3C2410_LCDCON4_HSPW(x)     ((x) << 0)
  62. #define S3C2410_LCDCON4_WLH(x)     ((x) << 0)
  63. #define S3C2410_LCDCON4_GET_HSPW(x) ( ((x) >>  0) & 0xFF)
  64. #define S3C2410_LCDCON5_BPP24BL     (1<<12)
  65. #define S3C2410_LCDCON5_FRM565     (1<<11)
  66. #define S3C2410_LCDCON5_INVVCLK     (1<<10)
  67. #define S3C2410_LCDCON5_INVVLINE    (1<<9)
  68. #define S3C2410_LCDCON5_INVVFRAME   (1<<8)
  69. #define S3C2410_LCDCON5_INVVD     (1<<7)
  70. #define S3C2410_LCDCON5_INVVDEN     (1<<6)
  71. #define S3C2410_LCDCON5_INVPWREN    (1<<5)
  72. #define S3C2410_LCDCON5_INVLEND     (1<<4)
  73. #define S3C2410_LCDCON5_PWREN     (1<<3)
  74. #define S3C2410_LCDCON5_ENLEND     (1<<2)
  75. #define S3C2410_LCDCON5_BSWP     (1<<1)
  76. #define S3C2410_LCDCON5_HWSWP     (1<<0)
  77. /* framebuffer start addressed */
  78. #define S3C2410_LCDSADDR1   S3C2410_LCDREG(0x14)
  79. #define S3C2410_LCDSADDR2   S3C2410_LCDREG(0x18)
  80. #define S3C2410_LCDSADDR3   S3C2410_LCDREG(0x1C)
  81. #define S3C2410_LCDBANK(x) ((x) << 21)
  82. #define S3C2410_LCDBASEU(x) (x)
  83. #define S3C2410_OFFSIZE(x) ((x) << 11)
  84. #define S3C2410_PAGEWIDTH(x) (x)
  85. /* colour lookup and miscellaneous controls */
  86. #define S3C2410_REDLUT    S3C2410_LCDREG(0x20)
  87. #define S3C2410_GREENLUT   S3C2410_LCDREG(0x24)
  88. #define S3C2410_BLUELUT    S3C2410_LCDREG(0x28)
  89. #define S3C2410_DITHMODE   S3C2410_LCDREG(0x4C)
  90. #define S3C2410_TPAL    S3C2410_LCDREG(0x50)
  91. #define S3C2410_TPAL_EN (1<<24)
  92. /* interrupt info */
  93. #define S3C2410_LCDINTPND  S3C2410_LCDREG(0x54)
  94. #define S3C2410_LCDSRCPND  S3C2410_LCDREG(0x58)
  95. #define S3C2410_LCDINTMSK  S3C2410_LCDREG(0x5C)
  96. #define S3C2410_LCDINT_FIWSEL (1<<2)
  97. #define S3C2410_LCDINT_FRSYNC (1<<1)
  98. #define S3C2410_LCDINT_FICNT (1<<0)
  99. #define S3C2410_LPCSEL    S3C2410_LCDREG(0x60)
  100. #define S3C2410_TFTPAL(x)  S3C2410_LCDREG((0x400 + (x)*4))
  101. #endif /* ___ASM_ARCH_REGS_LCD_H */