vpdma_priv.h 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119
  1. /*
  2. * Copyright (c) 2013 Texas Instruments Inc.
  3. *
  4. * David Griego, <dagriego@biglakesoftware.com>
  5. * Dale Farnsworth, <dale@farnsworth.org>
  6. * Archit Taneja, <archit@ti.com>
  7. *
  8. * This program is free software; you can redistribute it and/or modify it
  9. * under the terms of the GNU General Public License version 2 as published by
  10. * the Free Software Foundation.
  11. */
  12. #ifndef _TI_VPDMA_PRIV_H_
  13. #define _TI_VPDMA_PRIV_H_
  14. /*
  15. * VPDMA Register offsets
  16. */
  17. /* Top level */
  18. #define VPDMA_PID 0x00
  19. #define VPDMA_LIST_ADDR 0x04
  20. #define VPDMA_LIST_ATTR 0x08
  21. #define VPDMA_LIST_STAT_SYNC 0x0c
  22. #define VPDMA_BG_RGB 0x18
  23. #define VPDMA_BG_YUV 0x1c
  24. #define VPDMA_SETUP 0x30
  25. #define VPDMA_MAX_SIZE1 0x34
  26. #define VPDMA_MAX_SIZE2 0x38
  27. #define VPDMA_MAX_SIZE3 0x3c
  28. /* Interrupts */
  29. #define VPDMA_INT_CHAN_STAT(grp) (0x40 + grp * 8)
  30. #define VPDMA_INT_CHAN_MASK(grp) (VPDMA_INT_CHAN_STAT(grp) + 4)
  31. #define VPDMA_INT_CLIENT0_STAT 0x78
  32. #define VPDMA_INT_CLIENT0_MASK 0x7c
  33. #define VPDMA_INT_CLIENT1_STAT 0x80
  34. #define VPDMA_INT_CLIENT1_MASK 0x84
  35. #define VPDMA_INT_LIST0_STAT 0x88
  36. #define VPDMA_INT_LIST0_MASK 0x8c
  37. #define VPDMA_PERFMON(i) (0x200 + i * 4)
  38. /* VPE specific client registers */
  39. #define VPDMA_DEI_CHROMA1_CSTAT 0x0300
  40. #define VPDMA_DEI_LUMA1_CSTAT 0x0304
  41. #define VPDMA_DEI_LUMA2_CSTAT 0x0308
  42. #define VPDMA_DEI_CHROMA2_CSTAT 0x030c
  43. #define VPDMA_DEI_LUMA3_CSTAT 0x0310
  44. #define VPDMA_DEI_CHROMA3_CSTAT 0x0314
  45. #define VPDMA_DEI_MV_IN_CSTAT 0x0330
  46. #define VPDMA_DEI_MV_OUT_CSTAT 0x033c
  47. #define VPDMA_VIP_UP_Y_CSTAT 0x0390
  48. #define VPDMA_VIP_UP_UV_CSTAT 0x0394
  49. #define VPDMA_VPI_CTL_CSTAT 0x03d0
  50. /* Reg field info for VPDMA_CLIENT_CSTAT registers */
  51. #define VPDMA_CSTAT_LINE_MODE_MASK 0x03
  52. #define VPDMA_CSTAT_LINE_MODE_SHIFT 8
  53. #define VPDMA_CSTAT_FRAME_START_MASK 0xf
  54. #define VPDMA_CSTAT_FRAME_START_SHIFT 10
  55. #define VPDMA_LIST_NUM_MASK 0x07
  56. #define VPDMA_LIST_NUM_SHFT 24
  57. #define VPDMA_LIST_STOP_SHFT 20
  58. #define VPDMA_LIST_RDY_MASK 0x01
  59. #define VPDMA_LIST_RDY_SHFT 19
  60. #define VPDMA_LIST_TYPE_MASK 0x03
  61. #define VPDMA_LIST_TYPE_SHFT 16
  62. #define VPDMA_LIST_SIZE_MASK 0xffff
  63. /* VPDMA data type values for data formats */
  64. #define DATA_TYPE_Y444 0x0
  65. #define DATA_TYPE_Y422 0x1
  66. #define DATA_TYPE_Y420 0x2
  67. #define DATA_TYPE_C444 0x4
  68. #define DATA_TYPE_C422 0x5
  69. #define DATA_TYPE_C420 0x6
  70. #define DATA_TYPE_YC422 0x7
  71. #define DATA_TYPE_YC444 0x8
  72. #define DATA_TYPE_CY422 0x23
  73. #define DATA_TYPE_RGB16_565 0x0
  74. #define DATA_TYPE_ARGB_1555 0x1
  75. #define DATA_TYPE_ARGB_4444 0x2
  76. #define DATA_TYPE_RGBA_5551 0x3
  77. #define DATA_TYPE_RGBA_4444 0x4
  78. #define DATA_TYPE_ARGB24_6666 0x5
  79. #define DATA_TYPE_RGB24_888 0x6
  80. #define DATA_TYPE_ARGB32_8888 0x7
  81. #define DATA_TYPE_RGBA24_6666 0x8
  82. #define DATA_TYPE_RGBA32_8888 0x9
  83. #define DATA_TYPE_BGR16_565 0x10
  84. #define DATA_TYPE_ABGR_1555 0x11
  85. #define DATA_TYPE_ABGR_4444 0x12
  86. #define DATA_TYPE_BGRA_5551 0x13
  87. #define DATA_TYPE_BGRA_4444 0x14
  88. #define DATA_TYPE_ABGR24_6666 0x15
  89. #define DATA_TYPE_BGR24_888 0x16
  90. #define DATA_TYPE_ABGR32_8888 0x17
  91. #define DATA_TYPE_BGRA24_6666 0x18
  92. #define DATA_TYPE_BGRA32_8888 0x19
  93. #define DATA_TYPE_MV 0x3
  94. /* VPDMA channel numbers(only VPE channels for now) */
  95. #define VPE_CHAN_NUM_LUMA1_IN 0
  96. #define VPE_CHAN_NUM_CHROMA1_IN 1
  97. #define VPE_CHAN_NUM_LUMA2_IN 2
  98. #define VPE_CHAN_NUM_CHROMA2_IN 3
  99. #define VPE_CHAN_NUM_LUMA3_IN 4
  100. #define VPE_CHAN_NUM_CHROMA3_IN 5
  101. #define VPE_CHAN_NUM_MV_IN 12
  102. #define VPE_CHAN_NUM_MV_OUT 15
  103. #define VPE_CHAN_NUM_LUMA_OUT 102
  104. #define VPE_CHAN_NUM_CHROMA_OUT 103
  105. #define VPE_CHAN_NUM_RGB_OUT 106
  106. #endif