vino.h
上传用户:lgb322
上传日期:2013-02-24
资源大小:30529k
文件大小:5k
源码类别:

嵌入式Linux

开发平台:

Unix_Linux

  1. /*
  2.  * Copyright (C) 1999 Ulf Carlsson (ulfc@bun.falkenberg.se)
  3.  * Copyright (C) 2001 Ralf Baechle (ralf@gnu.org)
  4.  */
  5. #define VINO_BASE 0x00080000 /* In EISA address space */
  6. #define VINO_REVID 0x0000
  7. #define VINO_CTRL 0x0008
  8. #define VINO_INTSTAT 0x0010 /* Interrupt status */
  9. #define VINO_I2C_CTRL 0x0018
  10. #define VINO_I2C_DATA 0x0020
  11. #define VINO_A_ALPHA 0x0028 /* Channel A ... */
  12. #define VINO_A_CLIPS 0x0030 /* Clipping start */
  13. #define VINO_A_CLIPE 0x0038 /* Clipping end */
  14. #define VINO_A_FRAMERT 0x0040 /* Framerate */
  15. #define VINO_A_FLDCNT 0x0048 /* Field counter */
  16. #define VINO_A_LNSZ 0x0050
  17. #define VINO_A_LNCNT 0x0058
  18. #define VINO_A_PGIX 0x0060 /* Page index */
  19. #define VINO_A_DESC_PTR 0x0068 /* Ptr to next four descriptors */
  20. #define VINO_A_DESC_TLB_PTR 0x0070 /* Ptr to start of descriptor table */
  21. #define VINO_A_DESC_DATA0 0x0078 /* Descriptor data 0 */
  22. #define VINO_A_DESC_DATA1 0x0080 /* ... */
  23. #define VINO_A_DESC_DATA2 0x0088
  24. #define VINO_A_DESC_DATA3 0x0090
  25. #define VINO_A_FIFO_THRESHOLD 0x0098 /* FIFO threshold */
  26. #define VINO_A_FIFO_RP 0x00a0
  27. #define VINO_A_FIFO_WP 0x00a8
  28. #define VINO_B_ALPHA 0x00b0 /* Channel B ... */
  29. #define VINO_B_CLIPS 0x00b8
  30. #define VINO_B_CLIPE 0x00c0
  31. #define VINO_B_FRAMERT 0x00c8
  32. #define VINO_B_FLDCNT 0x00d0
  33. #define VINO_B_LNSZ 0x00d8
  34. #define VINO_B_LNCNT 0x00e0
  35. #define VINO_B_PGIX 0x00e8
  36. #define VINO_B_DESC_PTR 0x00f0
  37. #define VINO_B_DESC_TLB_PTR 0x00f8
  38. #define VINO_B_DESC_DATA0 0x0100
  39. #define VINO_B_DESC_DATA1 0x0108
  40. #define VINO_B_DESC_DATA2 0x0110
  41. #define VINO_B_DESC_DATA3 0x0118
  42. #define VINO_B_FIFO_THRESHOLD 0x0120
  43. #define VINO_B_FIFO_RP 0x0128
  44. #define VINO_B_FIFO_WP 0x0130
  45. /* Bits in the VINO_REVID register */
  46. #define VINO_REVID_REV_MASK 0x000f /* bits 0:3 */
  47. #define VINO_REVID_ID_MASK 0x00f0 /* bits 4:7 */
  48. /* Bits in the VINO_CTRL register */
  49. #define VINO_CTRL_LITTLE_ENDIAN (1<<0)
  50. #define VINO_CTRL_A_FIELD_TRANS_INT (1<<1) /* Field transferred int */
  51. #define VINO_CTRL_A_FIFO_OF_INT (1<<2) /* FIFO overflow int */
  52. #define VINO_CTRL_A_END_DESC_TBL_INT (1<<3) /* End of desc table int */
  53. #define VINO_CTRL_B_FIELD_TRANS_INT (1<<4) /* Field transferred int */
  54. #define VINO_CTRL_B_FIFO_OF_INT (1<<5) /* FIFO overflow int */
  55. #define VINO_CTRL_B_END_DESC_TLB_INT (1<<6) /* End of desc table int */
  56. #define VINO_CTRL_A_DMA_ENBL (1<<7)
  57. #define VINO_CTRL_A_INTERLEAVE_ENBL (1<<8)
  58. #define VINO_CTRL_A_SYNC_ENBL (1<<9)
  59. #define VINO_CTRL_A_SELECT (1<<10) /* 1=D1 0=Philips */
  60. #define VINO_CTRL_A_RGB (1<<11) /* 1=RGB 0=YUV */
  61. #define VINO_CTRL_A_LUMA_ONLY (1<<12)
  62. #define VINO_CTRL_A_DEC_ENBL (1<<13) /* Decimation */
  63. #define VINO_CTRL_A_DEC_SCALE_MASK 0x1c000 /* bits 14:17 */
  64. #define VINO_CTRL_A_DEC_HOR_ONLY (1<<17) /* Horizontal only */
  65. #define VINO_CTRL_A_DITHER (1<<18) /* 24 -> 8 bit dither */
  66. #define VINO_CTRL_B_DMA_ENBL (1<<19)
  67. #define VINO_CTRL_B_INTERLEAVE_ENBL (1<<20)
  68. #define VINO_CTRL_B_SYNC_ENBL (1<<21)
  69. #define VINO_CTRL_B_SELECT (1<<22) /* 1=D1 0=Philips */
  70. #define VINO_CTRL_B_RGB (1<<22) /* 1=RGB 0=YUV */
  71. #define VINO_CTRL_B_LUMA_ONLY (1<<23)
  72. #define VINO_CTRL_B_DEC_ENBL (1<<24) /* Decimation */
  73. #define VINO_CTRL_B_DEC_SCALE_MASK 0x1c000000 /* bits 25:28 */
  74. #define VINO_CTRL_B_DEC_HOR_ONLY (1<<29) /* Decimation horizontal only */
  75. #define VINO_CTRL_B_DITHER (1<<30) /* ChanB 24 -> 8 bit dither */
  76. /* Bits in the Interrupt and Status register */
  77. #define VINO_INTSTAT_A_FIELD_TRANS (1<<0) /* Field transferred int */
  78. #define VINO_INTSTAT_A_FIFO_OF (1<<1) /* FIFO overflow int */
  79. #define VINO_INTSTAT_A_END_DESC_TBL (1<<2) /* End of desc table int */
  80. #define VINO_INTSTAT_B_FIELD_TRANS (1<<3) /* Field transferred int */
  81. #define VINO_INTSTAT_B_FIFO_OF (1<<4) /* FIFO overflow int */
  82. #define VINO_INTSTAT_B_END_DESC_TBL (1<<5) /* End of desc table int */
  83. /* Bits in the Clipping Start register */
  84. #define VINO_CLIPS_START 0x3ff /* bits 0:9 */
  85. #define VINO_CLIPS_ODD_MASK 0x7fc00 /* bits 10:18 */
  86. #define VINO_CLIPS_EVEN_MASK 0xff80000 /* bits 19:27 */
  87. /* Bits in the Clipping End register */
  88. #define VINO_CLIPE_END 0x3ff /* bits 0:9 */
  89. #define VINO_CLIPE_ODD_MASK 0x7fc00 /* bits 10:18 */
  90. #define VINO_CLIPE_EVEN_MASK 0xff80000 /* bits 19:27 */
  91. /* Bits in the Frame Rate register */
  92. #define VINO_FRAMERT_PAL (1<<0) /* 0=NTSC 1=PAL */
  93. #define VINO_FRAMERT_RT_MASK 0x1ffe /* bits 1:12 */
  94. /* Bits in the VINO_I2C_CTRL */
  95. #define VINO_CTRL_I2C_IDLE (1<<0) /* write: 0=force idle
  96.  * read: 0=idle 1=not idle */
  97. #define VINO_CTRL_I2C_DIR (1<<1) /* 0=read 1=write */
  98. #define VINO_CTRL_I2C_MORE_BYTES (1<<2) /* 0=last byte 1=more bytes */
  99. #define VINO_CTRL_I2C_TRANS_BUSY (1<<4) /* 0=trans done 1=trans busy */
  100. #define VINO_CTRL_I2C_ACK (1<<5) /* 0=ack received 1=ack not */
  101. #define VINO_CTRL_I2C_BUS_ERROR (1<<7) /* 0=no bus err 1=bus err */