s1d13706.h 4.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /*---------------------------------------------------------------------------- */
  2. /* */
  3. /* File generated by S1D13706CFG.EXE */
  4. /* */
  5. /* Copyright (c) 2000,2001 Epson Research and Development, Inc. */
  6. /* All rights reserved. */
  7. /* */
  8. /*---------------------------------------------------------------------------- */
  9. /* Panel: 320x240x8bpp 70Hz Color Single STN 8-bit (PCLK=6.250MHz) (Format 2) */
  10. #define S1D_DISPLAY_WIDTH 320
  11. #define S1D_DISPLAY_HEIGHT 240
  12. #define S1D_DISPLAY_BPP 8
  13. #define S1D_DISPLAY_SCANLINE_BYTES 320
  14. #define S1D_PHYSICAL_VMEM_ADDR 0x800A0000L
  15. #define S1D_PHYSICAL_VMEM_SIZE 0x14000L
  16. #define S1D_PHYSICAL_REG_ADDR 0x80080000L
  17. #define S1D_PHYSICAL_REG_SIZE 0x100
  18. #define S1D_DISPLAY_PCLK 6250
  19. #define S1D_PALETTE_SIZE 256
  20. #define S1D_REGDELAYOFF 0xFFFE
  21. #define S1D_REGDELAYON 0xFFFF
  22. #define S1D_WRITE_PALETTE(p,i,r,g,b) \
  23. { \
  24. ((volatile S1D_VALUE*)(p))[0x0A/sizeof(S1D_VALUE)] = (S1D_VALUE)((r)>>4); \
  25. ((volatile S1D_VALUE*)(p))[0x09/sizeof(S1D_VALUE)] = (S1D_VALUE)((g)>>4); \
  26. ((volatile S1D_VALUE*)(p))[0x08/sizeof(S1D_VALUE)] = (S1D_VALUE)((b)>>4); \
  27. ((volatile S1D_VALUE*)(p))[0x0B/sizeof(S1D_VALUE)] = (S1D_VALUE)(i); \
  28. }
  29. #define S1D_READ_PALETTE(p,i,r,g,b) \
  30. { \
  31. ((volatile S1D_VALUE*)(p))[0x0F/sizeof(S1D_VALUE)] = (S1D_VALUE)(i); \
  32. r = ((volatile S1D_VALUE*)(p))[0x0E/sizeof(S1D_VALUE)]; \
  33. g = ((volatile S1D_VALUE*)(p))[0x0D/sizeof(S1D_VALUE)]; \
  34. b = ((volatile S1D_VALUE*)(p))[0x0C/sizeof(S1D_VALUE)]; \
  35. }
  36. typedef unsigned short S1D_INDEX;
  37. typedef unsigned char S1D_VALUE;
  38. typedef struct
  39. {
  40. S1D_INDEX Index;
  41. S1D_VALUE Value;
  42. } S1D_REGS;
  43. static S1D_REGS aS1DRegs[] =
  44. {
  45. {0x04,0x10}, /* BUSCLK MEMCLK Config Register */
  46. #if 0
  47. {0x05,0x32}, /* PCLK Config Register */
  48. #endif
  49. {0x10,0xD0}, /* PANEL Type Register */
  50. {0x11,0x00}, /* MOD Rate Register */
  51. #if 0
  52. {0x12,0x34}, /* Horizontal Total Register */
  53. #endif
  54. {0x14,0x27}, /* Horizontal Display Period Register */
  55. {0x16,0x00}, /* Horizontal Display Period Start Pos Register 0 */
  56. {0x17,0x00}, /* Horizontal Display Period Start Pos Register 1 */
  57. {0x18,0xF0}, /* Vertical Total Register 0 */
  58. {0x19,0x00}, /* Vertical Total Register 1 */
  59. {0x1C,0xEF}, /* Vertical Display Period Register 0 */
  60. {0x1D,0x00}, /* Vertical Display Period Register 1 */
  61. {0x1E,0x00}, /* Vertical Display Period Start Pos Register 0 */
  62. {0x1F,0x00}, /* Vertical Display Period Start Pos Register 1 */
  63. {0x20,0x87}, /* Horizontal Sync Pulse Width Register */
  64. {0x22,0x00}, /* Horizontal Sync Pulse Start Pos Register 0 */
  65. {0x23,0x00}, /* Horizontal Sync Pulse Start Pos Register 1 */
  66. {0x24,0x80}, /* Vertical Sync Pulse Width Register */
  67. {0x26,0x01}, /* Vertical Sync Pulse Start Pos Register 0 */
  68. {0x27,0x00}, /* Vertical Sync Pulse Start Pos Register 1 */
  69. {0x70,0x83}, /* Display Mode Register */
  70. {0x71,0x00}, /* Special Effects Register */
  71. {0x74,0x00}, /* Main Window Display Start Address Register 0 */
  72. {0x75,0x00}, /* Main Window Display Start Address Register 1 */
  73. {0x76,0x00}, /* Main Window Display Start Address Register 2 */
  74. {0x78,0x50}, /* Main Window Address Offset Register 0 */
  75. {0x79,0x00}, /* Main Window Address Offset Register 1 */
  76. {0x7C,0x00}, /* Sub Window Display Start Address Register 0 */
  77. {0x7D,0x00}, /* Sub Window Display Start Address Register 1 */
  78. {0x7E,0x00}, /* Sub Window Display Start Address Register 2 */
  79. {0x80,0x50}, /* Sub Window Address Offset Register 0 */
  80. {0x81,0x00}, /* Sub Window Address Offset Register 1 */
  81. {0x84,0x00}, /* Sub Window X Start Pos Register 0 */
  82. {0x85,0x00}, /* Sub Window X Start Pos Register 1 */
  83. {0x88,0x00}, /* Sub Window Y Start Pos Register 0 */
  84. {0x89,0x00}, /* Sub Window Y Start Pos Register 1 */
  85. {0x8C,0x4F}, /* Sub Window X End Pos Register 0 */
  86. {0x8D,0x00}, /* Sub Window X End Pos Register 1 */
  87. {0x90,0xEF}, /* Sub Window Y End Pos Register 0 */
  88. {0x91,0x00}, /* Sub Window Y End Pos Register 1 */
  89. {0xA0,0x00}, /* Power Save Config Register */
  90. {0xA1,0x00}, /* CPU Access Control Register */
  91. {0xA2,0x00}, /* Software Reset Register */
  92. {0xA3,0x00}, /* BIG Endian Support Register */
  93. {0xA4,0x00}, /* Scratch Pad Register 0 */
  94. {0xA5,0x00}, /* Scratch Pad Register 1 */
  95. {0xA8,0x01}, /* GPIO Config Register 0 */
  96. {0xA9,0x80}, /* GPIO Config Register 1 */
  97. {0xAC,0x01}, /* GPIO Status Control Register 0 */
  98. {0xAD,0x00}, /* GPIO Status Control Register 1 */
  99. {0xB0,0x10}, /* PWM CV Clock Control Register */
  100. {0xB1,0x80}, /* PWM CV Clock Config Register */
  101. {0xB2,0x00}, /* CV Clock Burst Length Register */
  102. {0xB3,0xA0}, /* PWM Clock Duty Cycle Register */
  103. {0xAD,0x80}, /* reset seq */
  104. {0x70,0x03}, /* */
  105. };