impactreg.h 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113
  1. /* $OpenBSD: impactreg.h,v 1.1 2012/04/18 17:28:24 miod Exp $ */
  2. /*
  3. * Copyright (c) 2010 Miodrag Vallat.
  4. * Copyright (c) 2009, 2010 Joel Sing <jsing@openbsd.org>
  5. *
  6. * Permission to use, copy, modify, and distribute this software for any
  7. * purpose with or without fee is hereby granted, provided that the above
  8. * copyright notice and this permission notice appear in all copies.
  9. *
  10. * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
  11. * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
  12. * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
  13. * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
  14. * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
  15. * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
  16. * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
  17. */
  18. /*
  19. * Impact and ImpactSR registers
  20. */
  21. #define IMPACTSR_STATUS 0x020000
  22. #define IMPACTSR_FIFOSTATUS 0x020008
  23. #define IMPACTSR_FIFO_MASK 0x000000ff
  24. #define IMPACTSR_GIOSTATUS 0x020100
  25. #define IMPACTSR_DMABUSY 0x020200
  26. #define IMPACTSR_CFIFO 0x020400
  27. #define IMPACT_STATUS 0x070000
  28. #define IMPACT_FIFOSTATUS 0x070004
  29. #define IMPACT_GIOSTATUS 0x070100
  30. #define IMPACT_DMABUSY 0x070104
  31. #define IMPACT_CFIFO 0x070080
  32. #define IMPACTSR_CFIFO_HW 0x040000
  33. #define IMPACTSR_CFIFO_LW 0x040008
  34. #define IMPACTSR_CFIFO_DELAY 0x040010
  35. #define IMPACTSR_DFIFO_HW 0x040020
  36. #define IMPACTSR_DFIFO_LW 0x040028
  37. #define IMPACTSR_DFIFO_DELAY 0x040030
  38. #define IMPACT_CFIFO_HW 0x050020
  39. #define IMPACT_CFIFO_LW 0x050024
  40. #define IMPACT_CFIFO_DELAY 0x050028
  41. #define IMPACT_DFIFO_HW 0x05002c
  42. #define IMPACT_DFIFO_LW 0x050030
  43. #define IMPACT_DFIFO_DELAY 0x050034
  44. #define IMPACTSR_XMAP_BASE 0x071c00
  45. #define IMPACT_XMAP_BASE 0x061c00
  46. #define IMPACTSR_XMAP_PP1SELECT 0x000008
  47. #define IMPACTSR_XMAP_INDEX 0x000088
  48. #define IMPACTSR_XMAP_CONFIG 0x000100
  49. #define IMPACTSR_XMAP_CONFIGB 0x000108
  50. #define IMPACTSR_XMAP_BUF_SELECT 0x000180
  51. #define IMPACTSR_XMAP_MAIN_MODE 0x000200
  52. #define IMPACTSR_XMAP_OVERLAY_MODE 0x000280
  53. #define IMPACTSR_XMAP_DIB 0x000300
  54. #define IMPACTSR_XMAP_DIB_DW 0x000340
  55. #define IMPACTSR_XMAP_RE_RAC 0x000380
  56. #define IMPACTSR_VC3_BASE 0x072000
  57. #define IMPACT_VC3_BASE 0x062000
  58. #define IMPACTSR_VC3_INDEX 0x000008
  59. #define IMPACTSR_VC3_INDEXDATA 0x000038
  60. #define IMPACTSR_VC3_DATA 0x0000b0
  61. #define IMPACTSR_VC3_RAM 0x000190
  62. /*
  63. * Command FIFO instruction encoding
  64. */
  65. #define IMPACTSR_CFIFO_WRITE 0x0018000400000000UL
  66. #define IMPACTSR_CFIFO_EXEC 0x0004000000000000UL
  67. #define IMPACTSR_CFIFO_REG_SHIFT 40
  68. /*
  69. * Command FIFO registers
  70. */
  71. #define IMPACTSR_CMD_GLINE_XSTARTF 0x0c
  72. #define IMPACTSR_CMD_IR_ALIAS 0x45
  73. #define IMPACTSR_CMD_BLOCKXYSTARTI 0x46 /* XY coords */
  74. #define IMPACTSR_CMD_BLOCKXYENDI 0x47 /* XY coords */
  75. #define IMPACTSR_CMD_PACKEDCOLOR 0x5b
  76. #define IMPACTSR_CMD_ALPHA 0x5f
  77. #define IMPACTSR_CMD_CHAR_H 0x70
  78. #define IMPACTSR_CMD_CHAR_L 0x71
  79. #define IMPACTSR_CMD_XFRCONTROL 0x102
  80. #define IMPACTSR_CMD_FILLMODE 0x110
  81. #define IMPACTSR_CMD_CONFIG 0x112
  82. #define IMPACTSR_CMD_XYWIN 0x115 /* YX coords */
  83. #define IMPACTSR_CMD_BKGRD_RG 0x140
  84. #define IMPACTSR_CMD_BKGRD_BA 0x141
  85. #define IMPACTSR_CMD_XFRSIZE 0x153 /* YX coords */
  86. #define IMPACTSR_CMD_XFRMASKLO 0x156
  87. #define IMPACTSR_CMD_XFRMASKHI 0x157
  88. #define IMPACTSR_CMD_XFRCOUNTERS 0x158 /* YX coords */
  89. #define IMPACTSR_CMD_XFRMODE 0x159
  90. #define IMPACTSR_CMD_RE_TOGGLECNTX 0x15f
  91. #define IMPACTSR_CMD_PP1FILLMODE 0x161
  92. #define IMPACTSR_CMD_COLORMASKMSBS 0x162
  93. #define IMPACTSR_CMD_COLORMASKLSBSA 0x163
  94. #define IMPACTSR_CMD_COLORMASKLSBSB 0x164
  95. #define IMPACTSR_CMD_DRBPOINTERS 0x16d
  96. #define IMPACTSR_XYCOORDS(x,y) (((x) << 16) | (y))
  97. #define IMPACTSR_YXCOORDS(x,y) (((y) << 16) | (x))
  98. #define IMPACTSR_PP1FILLMODE(mode,op) ((mode) | ((op) << 26))