regs-unigfx.h 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202
  1. /* SPDX-License-Identifier: GPL-2.0 */
  2. /*
  3. * PKUnity UNIGFX Registers
  4. */
  5. #define UDE_BASE (PKUNITY_UNIGFX_BASE + 0x1400)
  6. #define UGE_BASE (PKUNITY_UNIGFX_BASE + 0x0000)
  7. /*
  8. * command reg for UNIGFX DE
  9. */
  10. /*
  11. * control reg UDE_CFG
  12. */
  13. #define UDE_CFG (UDE_BASE + 0x0000)
  14. /*
  15. * framebuffer start address reg UDE_FSA
  16. */
  17. #define UDE_FSA (UDE_BASE + 0x0004)
  18. /*
  19. * line size reg UDE_LS
  20. */
  21. #define UDE_LS (UDE_BASE + 0x0008)
  22. /*
  23. * pitch size reg UDE_PS
  24. */
  25. #define UDE_PS (UDE_BASE + 0x000C)
  26. /*
  27. * horizontal active time reg UDE_HAT
  28. */
  29. #define UDE_HAT (UDE_BASE + 0x0010)
  30. /*
  31. * horizontal blank time reg UDE_HBT
  32. */
  33. #define UDE_HBT (UDE_BASE + 0x0014)
  34. /*
  35. * horizontal sync time reg UDE_HST
  36. */
  37. #define UDE_HST (UDE_BASE + 0x0018)
  38. /*
  39. * vertival active time reg UDE_VAT
  40. */
  41. #define UDE_VAT (UDE_BASE + 0x001C)
  42. /*
  43. * vertival blank time reg UDE_VBT
  44. */
  45. #define UDE_VBT (UDE_BASE + 0x0020)
  46. /*
  47. * vertival sync time reg UDE_VST
  48. */
  49. #define UDE_VST (UDE_BASE + 0x0024)
  50. /*
  51. * cursor position UDE_CXY
  52. */
  53. #define UDE_CXY (UDE_BASE + 0x0028)
  54. /*
  55. * cursor front color UDE_CC0
  56. */
  57. #define UDE_CC0 (UDE_BASE + 0x002C)
  58. /*
  59. * cursor background color UDE_CC1
  60. */
  61. #define UDE_CC1 (UDE_BASE + 0x0030)
  62. /*
  63. * video position UDE_VXY
  64. */
  65. #define UDE_VXY (UDE_BASE + 0x0034)
  66. /*
  67. * video start address reg UDE_VSA
  68. */
  69. #define UDE_VSA (UDE_BASE + 0x0040)
  70. /*
  71. * video size reg UDE_VS
  72. */
  73. #define UDE_VS (UDE_BASE + 0x004C)
  74. /*
  75. * command reg for UNIGFX GE
  76. */
  77. /*
  78. * src xy reg UGE_SRCXY
  79. */
  80. #define UGE_SRCXY (UGE_BASE + 0x0000)
  81. /*
  82. * dst xy reg UGE_DSTXY
  83. */
  84. #define UGE_DSTXY (UGE_BASE + 0x0004)
  85. /*
  86. * pitch reg UGE_PITCH
  87. */
  88. #define UGE_PITCH (UGE_BASE + 0x0008)
  89. /*
  90. * src start reg UGE_SRCSTART
  91. */
  92. #define UGE_SRCSTART (UGE_BASE + 0x000C)
  93. /*
  94. * dst start reg UGE_DSTSTART
  95. */
  96. #define UGE_DSTSTART (UGE_BASE + 0x0010)
  97. /*
  98. * width height reg UGE_WIDHEIGHT
  99. */
  100. #define UGE_WIDHEIGHT (UGE_BASE + 0x0014)
  101. /*
  102. * rop alpah reg UGE_ROPALPHA
  103. */
  104. #define UGE_ROPALPHA (UGE_BASE + 0x0018)
  105. /*
  106. * front color UGE_FCOLOR
  107. */
  108. #define UGE_FCOLOR (UGE_BASE + 0x001C)
  109. /*
  110. * background color UGE_BCOLOR
  111. */
  112. #define UGE_BCOLOR (UGE_BASE + 0x0020)
  113. /*
  114. * src color key for high value UGE_SCH
  115. */
  116. #define UGE_SCH (UGE_BASE + 0x0024)
  117. /*
  118. * dst color key for high value UGE_DCH
  119. */
  120. #define UGE_DCH (UGE_BASE + 0x0028)
  121. /*
  122. * src color key for low value UGE_SCL
  123. */
  124. #define UGE_SCL (UGE_BASE + 0x002C)
  125. /*
  126. * dst color key for low value UGE_DCL
  127. */
  128. #define UGE_DCL (UGE_BASE + 0x0030)
  129. /*
  130. * clip 0 reg UGE_CLIP0
  131. */
  132. #define UGE_CLIP0 (UGE_BASE + 0x0034)
  133. /*
  134. * clip 1 reg UGE_CLIP1
  135. */
  136. #define UGE_CLIP1 (UGE_BASE + 0x0038)
  137. /*
  138. * command reg UGE_COMMAND
  139. */
  140. #define UGE_COMMAND (UGE_BASE + 0x003C)
  141. /*
  142. * pattern 0 UGE_P0
  143. */
  144. #define UGE_P0 (UGE_BASE + 0x0040)
  145. #define UGE_P1 (UGE_BASE + 0x0044)
  146. #define UGE_P2 (UGE_BASE + 0x0048)
  147. #define UGE_P3 (UGE_BASE + 0x004C)
  148. #define UGE_P4 (UGE_BASE + 0x0050)
  149. #define UGE_P5 (UGE_BASE + 0x0054)
  150. #define UGE_P6 (UGE_BASE + 0x0058)
  151. #define UGE_P7 (UGE_BASE + 0x005C)
  152. #define UGE_P8 (UGE_BASE + 0x0060)
  153. #define UGE_P9 (UGE_BASE + 0x0064)
  154. #define UGE_P10 (UGE_BASE + 0x0068)
  155. #define UGE_P11 (UGE_BASE + 0x006C)
  156. #define UGE_P12 (UGE_BASE + 0x0070)
  157. #define UGE_P13 (UGE_BASE + 0x0074)
  158. #define UGE_P14 (UGE_BASE + 0x0078)
  159. #define UGE_P15 (UGE_BASE + 0x007C)
  160. #define UGE_P16 (UGE_BASE + 0x0080)
  161. #define UGE_P17 (UGE_BASE + 0x0084)
  162. #define UGE_P18 (UGE_BASE + 0x0088)
  163. #define UGE_P19 (UGE_BASE + 0x008C)
  164. #define UGE_P20 (UGE_BASE + 0x0090)
  165. #define UGE_P21 (UGE_BASE + 0x0094)
  166. #define UGE_P22 (UGE_BASE + 0x0098)
  167. #define UGE_P23 (UGE_BASE + 0x009C)
  168. #define UGE_P24 (UGE_BASE + 0x00A0)
  169. #define UGE_P25 (UGE_BASE + 0x00A4)
  170. #define UGE_P26 (UGE_BASE + 0x00A8)
  171. #define UGE_P27 (UGE_BASE + 0x00AC)
  172. #define UGE_P28 (UGE_BASE + 0x00B0)
  173. #define UGE_P29 (UGE_BASE + 0x00B4)
  174. #define UGE_P30 (UGE_BASE + 0x00B8)
  175. #define UGE_P31 (UGE_BASE + 0x00BC)
  176. #define UDE_CFG_DST_MASK FMASK(2, 8)
  177. #define UDE_CFG_DST8 FIELD(0x0, 2, 8)
  178. #define UDE_CFG_DST16 FIELD(0x1, 2, 8)
  179. #define UDE_CFG_DST24 FIELD(0x2, 2, 8)
  180. #define UDE_CFG_DST32 FIELD(0x3, 2, 8)
  181. /*
  182. * GDEN enable UDE_CFG_GDEN_ENABLE
  183. */
  184. #define UDE_CFG_GDEN_ENABLE FIELD(1, 1, 3)
  185. /*
  186. * VDEN enable UDE_CFG_VDEN_ENABLE
  187. */
  188. #define UDE_CFG_VDEN_ENABLE FIELD(1, 1, 4)
  189. /*
  190. * CDEN enable UDE_CFG_CDEN_ENABLE
  191. */
  192. #define UDE_CFG_CDEN_ENABLE FIELD(1, 1, 5)
  193. /*
  194. * TIMEUP enable UDE_CFG_TIMEUP_ENABLE
  195. */
  196. #define UDE_CFG_TIMEUP_ENABLE FIELD(1, 1, 6)