gh_vo_osd.h 17 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337
  1. /*!
  2. *******************************************************************************
  3. **
  4. ** \file gh_vo_osd.h
  5. **
  6. ** \brief OSD Rescale Registers.
  7. **
  8. ** Copyright: 2012 - 2016 (C) GoKe Microelectronics
  9. **
  10. ** \attention THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
  11. ** ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
  12. ** OMMISSIONS.
  13. **
  14. ** \note Do not modify this file as it is generated automatically.
  15. **
  16. ******************************************************************************/
  17. #ifndef _GH_VO_OSD_H
  18. #define _GH_VO_OSD_H
  19. #ifdef __LINUX__
  20. #include "reg4linux.h"
  21. #else
  22. #define FIO_ADDRESS(block,address) (address)
  23. #define FIO_MOFFSET(block,moffset) (moffset)
  24. #endif
  25. #ifndef __LINUX__
  26. #include "gtypes.h" /* global type definitions */
  27. #include "gh_lib_cfg.h" /* configuration */
  28. #endif
  29. #define GH_VO_OSD_ENABLE_DEBUG_PRINT 0
  30. #ifdef __LINUX__
  31. #define GH_VO_OSD_DEBUG_PRINT_FUNCTION printk
  32. #else
  33. #define GH_VO_OSD_DEBUG_PRINT_FUNCTION printf
  34. #endif
  35. #ifndef __LINUX__
  36. #if GH_VO_OSD_ENABLE_DEBUG_PRINT
  37. #include <stdio.h>
  38. #endif
  39. #endif
  40. /*----------------------------------------------------------------------------*/
  41. /* registers */
  42. /*----------------------------------------------------------------------------*/
  43. #define REG_VO_OSD_RESCALE_CONTROL FIO_ADDRESS(VO_OSD,0x90008800) /* read/write */
  44. #define REG_VO_OSD_RESCALE_WIDTH FIO_ADDRESS(VO_OSD,0x90008804) /* read/write */
  45. #define REG_VO_OSD_RESCALE_HORIZONTAL_PHASE_INC FIO_ADDRESS(VO_OSD,0x90008808) /* read/write */
  46. #define REG_VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_EVEN FIO_ADDRESS(VO_OSD,0x9000880C) /* read/write */
  47. #define REG_VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_ODD FIO_ADDRESS(VO_OSD,0x90008810) /* read/write */
  48. #define REG_VO_OSD_RESCALE_HEIGHT FIO_ADDRESS(VO_OSD,0x90008814) /* read/write */
  49. #define REG_VO_OSD_RESCALE_VERTICAL_PHASE_INC FIO_ADDRESS(VO_OSD,0x90008818) /* read/write */
  50. #define REG_VO_OSD_RESCALE_VERTICAL_PHASE_INIT FIO_ADDRESS(VO_OSD,0x9000881C) /* read/write */
  51. #define REG_VO_OSD_RESCALE_HORIZONTAL_COEFF FIO_ADDRESS(VO_OSD,0x90008820) /* write */
  52. #define REG_VO_OSD_RESCALE_VERTICAL_COEFF FIO_ADDRESS(VO_OSD,0x900088A0) /* write */
  53. /*----------------------------------------------------------------------------*/
  54. /* bit group structures */
  55. /*----------------------------------------------------------------------------*/
  56. typedef union { /* VO_OSD_RESCALE_CONTROL */
  57. U32 all;
  58. struct {
  59. U32 enable : 1;
  60. U32 vertical_shift : 1;
  61. U32 : 1;
  62. U32 horizontal_shift : 1;
  63. U32 input : 2;
  64. U32 : 26;
  65. } bitc;
  66. } GH_VO_OSD_RESCALE_CONTROL_S;
  67. typedef union { /* VO_OSD_RESCALE_WIDTH */
  68. U32 all;
  69. struct {
  70. U32 width : 14;
  71. U32 : 18;
  72. } bitc;
  73. } GH_VO_OSD_RESCALE_WIDTH_S;
  74. typedef union { /* VO_OSD_RESCALE_HORIZONTAL_PHASE_INC */
  75. U32 all;
  76. struct {
  77. U32 inc : 16;
  78. U32 : 16;
  79. } bitc;
  80. } GH_VO_OSD_RESCALE_HORIZONTAL_PHASE_INC_S;
  81. typedef union { /* VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_EVEN */
  82. U32 all;
  83. struct {
  84. U32 init : 28;
  85. U32 : 4;
  86. } bitc;
  87. } GH_VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_EVEN_S;
  88. typedef union { /* VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_ODD */
  89. U32 all;
  90. struct {
  91. U32 init : 28;
  92. U32 : 4;
  93. } bitc;
  94. } GH_VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_ODD_S;
  95. typedef union { /* VO_OSD_RESCALE_HEIGHT */
  96. U32 all;
  97. struct {
  98. U32 height : 14;
  99. U32 : 18;
  100. } bitc;
  101. } GH_VO_OSD_RESCALE_HEIGHT_S;
  102. typedef union { /* VO_OSD_RESCALE_VERTICAL_PHASE_INC */
  103. U32 all;
  104. struct {
  105. U32 inc : 16;
  106. U32 : 16;
  107. } bitc;
  108. } GH_VO_OSD_RESCALE_VERTICAL_PHASE_INC_S;
  109. typedef union { /* VO_OSD_RESCALE_VERTICAL_PHASE_INIT */
  110. U32 all;
  111. struct {
  112. U32 init : 28;
  113. U32 : 4;
  114. } bitc;
  115. } GH_VO_OSD_RESCALE_VERTICAL_PHASE_INIT_S;
  116. typedef union { /* VO_OSD_RESCALE_HORIZONTAL_COEFF */
  117. U32 all;
  118. struct {
  119. U32 even_0_odd_4 : 8;
  120. U32 even_1_odd_5 : 8;
  121. U32 even_2 : 8;
  122. U32 even_3 : 8;
  123. } bitc;
  124. } GH_VO_OSD_RESCALE_HORIZONTAL_COEFF_S;
  125. typedef union { /* VO_OSD_RESCALE_VERTICAL_COEFF */
  126. U32 all;
  127. struct {
  128. U32 even_0_odd_4 : 8;
  129. U32 even_1_odd_5 : 8;
  130. U32 even_2 : 8;
  131. U32 even_3 : 8;
  132. } bitc;
  133. } GH_VO_OSD_RESCALE_VERTICAL_COEFF_S;
  134. /*----------------------------------------------------------------------------*/
  135. /* mirror variables */
  136. /*----------------------------------------------------------------------------*/
  137. extern GH_VO_OSD_RESCALE_HORIZONTAL_COEFF_S m_vo_osd_rescale_horizontal_coeff[32];
  138. extern GH_VO_OSD_RESCALE_VERTICAL_COEFF_S m_vo_osd_rescale_vertical_coeff[32];
  139. #ifdef __cplusplus
  140. extern "C" {
  141. #endif
  142. /*----------------------------------------------------------------------------*/
  143. /* register VO_OSD_RESCALE_CONTROL (read/write) */
  144. /*----------------------------------------------------------------------------*/
  145. /*! \brief Writes the register 'VO_OSD_RESCALE_CONTROL'. */
  146. void GH_VO_OSD_set_RESCALE_CONTROL(U32 data);
  147. /*! \brief Reads the register 'VO_OSD_RESCALE_CONTROL'. */
  148. U32 GH_VO_OSD_get_RESCALE_CONTROL(void);
  149. /*! \brief Writes the bit group 'Enable' of register 'VO_OSD_RESCALE_CONTROL'. */
  150. void GH_VO_OSD_set_RESCALE_CONTROL_Enable(U8 data);
  151. /*! \brief Reads the bit group 'Enable' of register 'VO_OSD_RESCALE_CONTROL'. */
  152. U8 GH_VO_OSD_get_RESCALE_CONTROL_Enable(void);
  153. /*! \brief Writes the bit group 'Vertical_shift' of register 'VO_OSD_RESCALE_CONTROL'. */
  154. void GH_VO_OSD_set_RESCALE_CONTROL_Vertical_shift(U8 data);
  155. /*! \brief Reads the bit group 'Vertical_shift' of register 'VO_OSD_RESCALE_CONTROL'. */
  156. U8 GH_VO_OSD_get_RESCALE_CONTROL_Vertical_shift(void);
  157. /*! \brief Writes the bit group 'Horizontal_shift' of register 'VO_OSD_RESCALE_CONTROL'. */
  158. void GH_VO_OSD_set_RESCALE_CONTROL_Horizontal_shift(U8 data);
  159. /*! \brief Reads the bit group 'Horizontal_shift' of register 'VO_OSD_RESCALE_CONTROL'. */
  160. U8 GH_VO_OSD_get_RESCALE_CONTROL_Horizontal_shift(void);
  161. /*! \brief Writes the bit group 'Input' of register 'VO_OSD_RESCALE_CONTROL'. */
  162. void GH_VO_OSD_set_RESCALE_CONTROL_Input(U8 data);
  163. /*! \brief Reads the bit group 'Input' of register 'VO_OSD_RESCALE_CONTROL'. */
  164. U8 GH_VO_OSD_get_RESCALE_CONTROL_Input(void);
  165. /*----------------------------------------------------------------------------*/
  166. /* register VO_OSD_RESCALE_WIDTH (read/write) */
  167. /*----------------------------------------------------------------------------*/
  168. /*! \brief Writes the register 'VO_OSD_RESCALE_WIDTH'. */
  169. void GH_VO_OSD_set_RESCALE_WIDTH(U32 data);
  170. /*! \brief Reads the register 'VO_OSD_RESCALE_WIDTH'. */
  171. U32 GH_VO_OSD_get_RESCALE_WIDTH(void);
  172. /*! \brief Writes the bit group 'width' of register 'VO_OSD_RESCALE_WIDTH'. */
  173. void GH_VO_OSD_set_RESCALE_WIDTH_width(U16 data);
  174. /*! \brief Reads the bit group 'width' of register 'VO_OSD_RESCALE_WIDTH'. */
  175. U16 GH_VO_OSD_get_RESCALE_WIDTH_width(void);
  176. /*----------------------------------------------------------------------------*/
  177. /* register VO_OSD_RESCALE_HORIZONTAL_PHASE_INC (read/write) */
  178. /*----------------------------------------------------------------------------*/
  179. /*! \brief Writes the register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INC'. */
  180. void GH_VO_OSD_set_RESCALE_HORIZONTAL_PHASE_INC(U32 data);
  181. /*! \brief Reads the register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INC'. */
  182. U32 GH_VO_OSD_get_RESCALE_HORIZONTAL_PHASE_INC(void);
  183. /*! \brief Writes the bit group 'inc' of register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INC'. */
  184. void GH_VO_OSD_set_RESCALE_HORIZONTAL_PHASE_INC_inc(U16 data);
  185. /*! \brief Reads the bit group 'inc' of register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INC'. */
  186. U16 GH_VO_OSD_get_RESCALE_HORIZONTAL_PHASE_INC_inc(void);
  187. /*----------------------------------------------------------------------------*/
  188. /* register VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_EVEN (read/write) */
  189. /*----------------------------------------------------------------------------*/
  190. /*! \brief Writes the register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_EVEN'. */
  191. void GH_VO_OSD_set_RESCALE_HORIZONTAL_PHASE_INIT_EVEN(U32 data);
  192. /*! \brief Reads the register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_EVEN'. */
  193. U32 GH_VO_OSD_get_RESCALE_HORIZONTAL_PHASE_INIT_EVEN(void);
  194. /*! \brief Writes the bit group 'init' of register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_EVEN'. */
  195. void GH_VO_OSD_set_RESCALE_HORIZONTAL_PHASE_INIT_EVEN_init(U32 data);
  196. /*! \brief Reads the bit group 'init' of register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_EVEN'. */
  197. U32 GH_VO_OSD_get_RESCALE_HORIZONTAL_PHASE_INIT_EVEN_init(void);
  198. /*----------------------------------------------------------------------------*/
  199. /* register VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_ODD (read/write) */
  200. /*----------------------------------------------------------------------------*/
  201. /*! \brief Writes the register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_ODD'. */
  202. void GH_VO_OSD_set_RESCALE_HORIZONTAL_PHASE_INIT_ODD(U32 data);
  203. /*! \brief Reads the register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_ODD'. */
  204. U32 GH_VO_OSD_get_RESCALE_HORIZONTAL_PHASE_INIT_ODD(void);
  205. /*! \brief Writes the bit group 'init' of register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_ODD'. */
  206. void GH_VO_OSD_set_RESCALE_HORIZONTAL_PHASE_INIT_ODD_init(U32 data);
  207. /*! \brief Reads the bit group 'init' of register 'VO_OSD_RESCALE_HORIZONTAL_PHASE_INIT_ODD'. */
  208. U32 GH_VO_OSD_get_RESCALE_HORIZONTAL_PHASE_INIT_ODD_init(void);
  209. /*----------------------------------------------------------------------------*/
  210. /* register VO_OSD_RESCALE_HEIGHT (read/write) */
  211. /*----------------------------------------------------------------------------*/
  212. /*! \brief Writes the register 'VO_OSD_RESCALE_HEIGHT'. */
  213. void GH_VO_OSD_set_RESCALE_HEIGHT(U32 data);
  214. /*! \brief Reads the register 'VO_OSD_RESCALE_HEIGHT'. */
  215. U32 GH_VO_OSD_get_RESCALE_HEIGHT(void);
  216. /*! \brief Writes the bit group 'height' of register 'VO_OSD_RESCALE_HEIGHT'. */
  217. void GH_VO_OSD_set_RESCALE_HEIGHT_height(U16 data);
  218. /*! \brief Reads the bit group 'height' of register 'VO_OSD_RESCALE_HEIGHT'. */
  219. U16 GH_VO_OSD_get_RESCALE_HEIGHT_height(void);
  220. /*----------------------------------------------------------------------------*/
  221. /* register VO_OSD_RESCALE_VERTICAL_PHASE_INC (read/write) */
  222. /*----------------------------------------------------------------------------*/
  223. /*! \brief Writes the register 'VO_OSD_RESCALE_VERTICAL_PHASE_INC'. */
  224. void GH_VO_OSD_set_RESCALE_VERTICAL_PHASE_INC(U32 data);
  225. /*! \brief Reads the register 'VO_OSD_RESCALE_VERTICAL_PHASE_INC'. */
  226. U32 GH_VO_OSD_get_RESCALE_VERTICAL_PHASE_INC(void);
  227. /*! \brief Writes the bit group 'inc' of register 'VO_OSD_RESCALE_VERTICAL_PHASE_INC'. */
  228. void GH_VO_OSD_set_RESCALE_VERTICAL_PHASE_INC_inc(U16 data);
  229. /*! \brief Reads the bit group 'inc' of register 'VO_OSD_RESCALE_VERTICAL_PHASE_INC'. */
  230. U16 GH_VO_OSD_get_RESCALE_VERTICAL_PHASE_INC_inc(void);
  231. /*----------------------------------------------------------------------------*/
  232. /* register VO_OSD_RESCALE_VERTICAL_PHASE_INIT (read/write) */
  233. /*----------------------------------------------------------------------------*/
  234. /*! \brief Writes the register 'VO_OSD_RESCALE_VERTICAL_PHASE_INIT'. */
  235. void GH_VO_OSD_set_RESCALE_VERTICAL_PHASE_INIT(U32 data);
  236. /*! \brief Reads the register 'VO_OSD_RESCALE_VERTICAL_PHASE_INIT'. */
  237. U32 GH_VO_OSD_get_RESCALE_VERTICAL_PHASE_INIT(void);
  238. /*! \brief Writes the bit group 'init' of register 'VO_OSD_RESCALE_VERTICAL_PHASE_INIT'. */
  239. void GH_VO_OSD_set_RESCALE_VERTICAL_PHASE_INIT_init(U32 data);
  240. /*! \brief Reads the bit group 'init' of register 'VO_OSD_RESCALE_VERTICAL_PHASE_INIT'. */
  241. U32 GH_VO_OSD_get_RESCALE_VERTICAL_PHASE_INIT_init(void);
  242. /*----------------------------------------------------------------------------*/
  243. /* register VO_OSD_RESCALE_HORIZONTAL_COEFF (write) */
  244. /*----------------------------------------------------------------------------*/
  245. /*! \brief Writes the register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  246. void GH_VO_OSD_set_RESCALE_HORIZONTAL_COEFF(U8 index, U32 data);
  247. /*! \brief Reads the mirror variable of the register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  248. U32 GH_VO_OSD_getm_RESCALE_HORIZONTAL_COEFF(U8 index);
  249. /*! \brief Writes the bit group 'even_0_odd_4' of register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  250. void GH_VO_OSD_set_RESCALE_HORIZONTAL_COEFF_even_0_odd_4(U8 index, U8 data);
  251. /*! \brief Reads the bit group 'even_0_odd_4' from the mirror variable of register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  252. U8 GH_VO_OSD_getm_RESCALE_HORIZONTAL_COEFF_even_0_odd_4(U8 index);
  253. /*! \brief Writes the bit group 'even_1_odd_5' of register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  254. void GH_VO_OSD_set_RESCALE_HORIZONTAL_COEFF_even_1_odd_5(U8 index, U8 data);
  255. /*! \brief Reads the bit group 'even_1_odd_5' from the mirror variable of register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  256. U8 GH_VO_OSD_getm_RESCALE_HORIZONTAL_COEFF_even_1_odd_5(U8 index);
  257. /*! \brief Writes the bit group 'even_2' of register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  258. void GH_VO_OSD_set_RESCALE_HORIZONTAL_COEFF_even_2(U8 index, U8 data);
  259. /*! \brief Reads the bit group 'even_2' from the mirror variable of register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  260. U8 GH_VO_OSD_getm_RESCALE_HORIZONTAL_COEFF_even_2(U8 index);
  261. /*! \brief Writes the bit group 'even_3' of register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  262. void GH_VO_OSD_set_RESCALE_HORIZONTAL_COEFF_even_3(U8 index, U8 data);
  263. /*! \brief Reads the bit group 'even_3' from the mirror variable of register 'VO_OSD_RESCALE_HORIZONTAL_COEFF'. */
  264. U8 GH_VO_OSD_getm_RESCALE_HORIZONTAL_COEFF_even_3(U8 index);
  265. /*----------------------------------------------------------------------------*/
  266. /* register VO_OSD_RESCALE_VERTICAL_COEFF (write) */
  267. /*----------------------------------------------------------------------------*/
  268. /*! \brief Writes the register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  269. void GH_VO_OSD_set_RESCALE_VERTICAL_COEFF(U8 index, U32 data);
  270. /*! \brief Reads the mirror variable of the register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  271. U32 GH_VO_OSD_getm_RESCALE_VERTICAL_COEFF(U8 index);
  272. /*! \brief Writes the bit group 'even_0_odd_4' of register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  273. void GH_VO_OSD_set_RESCALE_VERTICAL_COEFF_even_0_odd_4(U8 index, U8 data);
  274. /*! \brief Reads the bit group 'even_0_odd_4' from the mirror variable of register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  275. U8 GH_VO_OSD_getm_RESCALE_VERTICAL_COEFF_even_0_odd_4(U8 index);
  276. /*! \brief Writes the bit group 'even_1_odd_5' of register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  277. void GH_VO_OSD_set_RESCALE_VERTICAL_COEFF_even_1_odd_5(U8 index, U8 data);
  278. /*! \brief Reads the bit group 'even_1_odd_5' from the mirror variable of register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  279. U8 GH_VO_OSD_getm_RESCALE_VERTICAL_COEFF_even_1_odd_5(U8 index);
  280. /*! \brief Writes the bit group 'even_2' of register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  281. void GH_VO_OSD_set_RESCALE_VERTICAL_COEFF_even_2(U8 index, U8 data);
  282. /*! \brief Reads the bit group 'even_2' from the mirror variable of register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  283. U8 GH_VO_OSD_getm_RESCALE_VERTICAL_COEFF_even_2(U8 index);
  284. /*! \brief Writes the bit group 'even_3' of register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  285. void GH_VO_OSD_set_RESCALE_VERTICAL_COEFF_even_3(U8 index, U8 data);
  286. /*! \brief Reads the bit group 'even_3' from the mirror variable of register 'VO_OSD_RESCALE_VERTICAL_COEFF'. */
  287. U8 GH_VO_OSD_getm_RESCALE_VERTICAL_COEFF_even_3(U8 index);
  288. /*----------------------------------------------------------------------------*/
  289. /* init function */
  290. /*----------------------------------------------------------------------------*/
  291. /*! \brief Initialises the registers and mirror variables. */
  292. void GH_VO_OSD_init(void);
  293. #ifdef SRC_INLINE
  294. #define SRC_INC 1
  295. #include "gh_vo_osd.c"
  296. #undef SRC_INC
  297. #endif
  298. #ifdef __cplusplus
  299. }
  300. #endif
  301. #endif /* _GH_VO_OSD_H */
  302. /*----------------------------------------------------------------------------*/
  303. /* end of file */
  304. /*----------------------------------------------------------------------------*/