adv7393_regs.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188
  1. /*
  2. * ADV7393 encoder related structure and register definitions
  3. *
  4. * Copyright (C) 2010-2012 ADVANSEE - http://www.advansee.com/
  5. * Benoît Thébaudeau <benoit.thebaudeau@advansee.com>
  6. *
  7. * Based on ADV7343 driver,
  8. *
  9. * Copyright (C) 2009 Texas Instruments Incorporated - http://www.ti.com/
  10. *
  11. * This program is free software; you can redistribute it and/or
  12. * modify it under the terms of the GNU General Public License as
  13. * published by the Free Software Foundation version 2.
  14. *
  15. * This program is distributed .as is. WITHOUT ANY WARRANTY of any
  16. * kind, whether express or implied; without even the implied warranty
  17. * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  18. * GNU General Public License for more details.
  19. */
  20. #ifndef ADV7393_REGS_H
  21. #define ADV7393_REGS_H
  22. struct adv7393_std_info {
  23. u32 standard_val3;
  24. u32 fsc_val;
  25. v4l2_std_id stdid;
  26. };
  27. /* Register offset macros */
  28. #define ADV7393_POWER_MODE_REG (0x00)
  29. #define ADV7393_MODE_SELECT_REG (0x01)
  30. #define ADV7393_MODE_REG0 (0x02)
  31. #define ADV7393_DAC123_OUTPUT_LEVEL (0x0B)
  32. #define ADV7393_SOFT_RESET (0x17)
  33. #define ADV7393_HD_MODE_REG1 (0x30)
  34. #define ADV7393_HD_MODE_REG2 (0x31)
  35. #define ADV7393_HD_MODE_REG3 (0x32)
  36. #define ADV7393_HD_MODE_REG4 (0x33)
  37. #define ADV7393_HD_MODE_REG5 (0x34)
  38. #define ADV7393_HD_MODE_REG6 (0x35)
  39. #define ADV7393_HD_MODE_REG7 (0x39)
  40. #define ADV7393_SD_MODE_REG1 (0x80)
  41. #define ADV7393_SD_MODE_REG2 (0x82)
  42. #define ADV7393_SD_MODE_REG3 (0x83)
  43. #define ADV7393_SD_MODE_REG4 (0x84)
  44. #define ADV7393_SD_MODE_REG5 (0x86)
  45. #define ADV7393_SD_MODE_REG6 (0x87)
  46. #define ADV7393_SD_MODE_REG7 (0x88)
  47. #define ADV7393_SD_MODE_REG8 (0x89)
  48. #define ADV7393_SD_TIMING_REG0 (0x8A)
  49. #define ADV7393_FSC_REG0 (0x8C)
  50. #define ADV7393_FSC_REG1 (0x8D)
  51. #define ADV7393_FSC_REG2 (0x8E)
  52. #define ADV7393_FSC_REG3 (0x8F)
  53. #define ADV7393_SD_CGMS_WSS0 (0x99)
  54. #define ADV7393_SD_HUE_ADJUST (0xA0)
  55. #define ADV7393_SD_BRIGHTNESS_WSS (0xA1)
  56. /* Default values for the registers */
  57. #define ADV7393_POWER_MODE_REG_DEFAULT (0x10)
  58. #define ADV7393_HD_MODE_REG1_DEFAULT (0x3C) /* Changed Default
  59. 720p EAV/SAV code*/
  60. #define ADV7393_HD_MODE_REG2_DEFAULT (0x01) /* Changed Pixel data
  61. valid */
  62. #define ADV7393_HD_MODE_REG3_DEFAULT (0x00) /* Color delay 0 clks */
  63. #define ADV7393_HD_MODE_REG4_DEFAULT (0xEC) /* Changed */
  64. #define ADV7393_HD_MODE_REG5_DEFAULT (0x08)
  65. #define ADV7393_HD_MODE_REG6_DEFAULT (0x00)
  66. #define ADV7393_HD_MODE_REG7_DEFAULT (0x00)
  67. #define ADV7393_SOFT_RESET_DEFAULT (0x02)
  68. #define ADV7393_COMPOSITE_POWER_VALUE (0x10)
  69. #define ADV7393_COMPONENT_POWER_VALUE (0x1C)
  70. #define ADV7393_SVIDEO_POWER_VALUE (0x0C)
  71. #define ADV7393_SD_HUE_ADJUST_DEFAULT (0x80)
  72. #define ADV7393_SD_BRIGHTNESS_WSS_DEFAULT (0x00)
  73. #define ADV7393_SD_CGMS_WSS0_DEFAULT (0x10)
  74. #define ADV7393_SD_MODE_REG1_DEFAULT (0x10)
  75. #define ADV7393_SD_MODE_REG2_DEFAULT (0xC9)
  76. #define ADV7393_SD_MODE_REG3_DEFAULT (0x00)
  77. #define ADV7393_SD_MODE_REG4_DEFAULT (0x00)
  78. #define ADV7393_SD_MODE_REG5_DEFAULT (0x02)
  79. #define ADV7393_SD_MODE_REG6_DEFAULT (0x8C)
  80. #define ADV7393_SD_MODE_REG7_DEFAULT (0x14)
  81. #define ADV7393_SD_MODE_REG8_DEFAULT (0x00)
  82. #define ADV7393_SD_TIMING_REG0_DEFAULT (0x0C)
  83. /* Bit masks for Mode Select Register */
  84. #define INPUT_MODE_MASK (0x70)
  85. #define SD_INPUT_MODE (0x00)
  86. #define HD_720P_INPUT_MODE (0x10)
  87. #define HD_1080I_INPUT_MODE (0x10)
  88. /* Bit masks for Mode Register 0 */
  89. #define TEST_PATTERN_BLACK_BAR_EN (0x04)
  90. #define YUV_OUTPUT_SELECT (0x20)
  91. #define RGB_OUTPUT_SELECT (0xDF)
  92. /* Bit masks for SD brightness/WSS */
  93. #define SD_BRIGHTNESS_VALUE_MASK (0x7F)
  94. #define SD_BLANK_WSS_DATA_MASK (0x80)
  95. /* Bit masks for soft reset register */
  96. #define SOFT_RESET (0x02)
  97. /* Bit masks for HD Mode Register 1 */
  98. #define OUTPUT_STD_MASK (0x03)
  99. #define OUTPUT_STD_SHIFT (0)
  100. #define OUTPUT_STD_EIA0_2 (0x00)
  101. #define OUTPUT_STD_EIA0_1 (0x01)
  102. #define OUTPUT_STD_FULL (0x02)
  103. #define EMBEDDED_SYNC (0x04)
  104. #define EXTERNAL_SYNC (0xFB)
  105. #define STD_MODE_MASK (0x1F)
  106. #define STD_MODE_SHIFT (3)
  107. #define STD_MODE_720P (0x05)
  108. #define STD_MODE_720P_25 (0x08)
  109. #define STD_MODE_720P_30 (0x07)
  110. #define STD_MODE_720P_50 (0x06)
  111. #define STD_MODE_1080I (0x0D)
  112. #define STD_MODE_1080I_25 (0x0E)
  113. #define STD_MODE_1080P_24 (0x11)
  114. #define STD_MODE_1080P_25 (0x10)
  115. #define STD_MODE_1080P_30 (0x0F)
  116. #define STD_MODE_525P (0x00)
  117. #define STD_MODE_625P (0x03)
  118. /* Bit masks for SD Mode Register 1 */
  119. #define SD_STD_MASK (0x03)
  120. #define SD_STD_NTSC (0x00)
  121. #define SD_STD_PAL_BDGHI (0x01)
  122. #define SD_STD_PAL_M (0x02)
  123. #define SD_STD_PAL_N (0x03)
  124. #define SD_LUMA_FLTR_MASK (0x07)
  125. #define SD_LUMA_FLTR_SHIFT (2)
  126. #define SD_CHROMA_FLTR_MASK (0x07)
  127. #define SD_CHROMA_FLTR_SHIFT (5)
  128. /* Bit masks for SD Mode Register 2 */
  129. #define SD_PRPB_SSAF_EN (0x01)
  130. #define SD_PRPB_SSAF_DI (0xFE)
  131. #define SD_DAC_OUT1_EN (0x02)
  132. #define SD_DAC_OUT1_DI (0xFD)
  133. #define SD_PEDESTAL_EN (0x08)
  134. #define SD_PEDESTAL_DI (0xF7)
  135. #define SD_SQUARE_PIXEL_EN (0x10)
  136. #define SD_SQUARE_PIXEL_DI (0xEF)
  137. #define SD_PIXEL_DATA_VALID (0x40)
  138. #define SD_ACTIVE_EDGE_EN (0x80)
  139. #define SD_ACTIVE_EDGE_DI (0x7F)
  140. /* Bit masks for HD Mode Register 6 */
  141. #define HD_PRPB_SYNC_EN (0x04)
  142. #define HD_PRPB_SYNC_DI (0xFB)
  143. #define HD_DAC_SWAP_EN (0x08)
  144. #define HD_DAC_SWAP_DI (0xF7)
  145. #define HD_GAMMA_CURVE_A (0xEF)
  146. #define HD_GAMMA_CURVE_B (0x10)
  147. #define HD_GAMMA_EN (0x20)
  148. #define HD_GAMMA_DI (0xDF)
  149. #define HD_ADPT_FLTR_MODEA (0xBF)
  150. #define HD_ADPT_FLTR_MODEB (0x40)
  151. #define HD_ADPT_FLTR_EN (0x80)
  152. #define HD_ADPT_FLTR_DI (0x7F)
  153. #define ADV7393_BRIGHTNESS_MAX (63)
  154. #define ADV7393_BRIGHTNESS_MIN (-64)
  155. #define ADV7393_BRIGHTNESS_DEF (0)
  156. #define ADV7393_HUE_MAX (127)
  157. #define ADV7393_HUE_MIN (-128)
  158. #define ADV7393_HUE_DEF (0)
  159. #define ADV7393_GAIN_MAX (64)
  160. #define ADV7393_GAIN_MIN (-64)
  161. #define ADV7393_GAIN_DEF (0)
  162. #endif