gh_vo_dac.h 18 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482
  1. /*!
  2. *******************************************************************************
  3. **
  4. ** \file gh_vo_dac.h
  5. **
  6. ** \brief VDAC Registers.
  7. **
  8. ** Copyright: 2012 - 2013 (C) GoKe Microelectronics ShangHai Branch
  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_DAC_H
  18. #define _GH_VO_DAC_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_DAC_ENABLE_DEBUG_PRINT 0
  30. #ifdef __LINUX__
  31. #define GH_VO_DAC_DEBUG_PRINT_FUNCTION printk
  32. #else
  33. #define GH_VO_DAC_DEBUG_PRINT_FUNCTION printf
  34. #endif
  35. #ifndef __LINUX__
  36. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  37. #include <stdio.h>
  38. #endif
  39. #endif
  40. /* check configuration */
  41. #ifndef GH_INLINE_LEVEL
  42. #error "GH_INLINE_LEVEL is not defined!"
  43. #endif
  44. #if GH_INLINE_LEVEL > 2
  45. #error "GH_INLINE_LEVEL must be set 0, 1 or 2!"
  46. #endif
  47. #ifndef GH_INLINE
  48. #error "GH_INLINE is not defined!"
  49. #endif
  50. /* disable inlining for debugging */
  51. #ifdef DEBUG
  52. #undef GH_INLINE_LEVEL
  53. #define GH_INLINE_LEVEL 0
  54. #endif
  55. /*----------------------------------------------------------------------------*/
  56. /* registers */
  57. /*----------------------------------------------------------------------------*/
  58. #define REG_VO_DAC_EN_IDAC_X FIO_ADDRESS(VO_DAC,0x90022680) /* read/write */
  59. #define REG_VO_DAC_MODE_SD FIO_ADDRESS(VO_DAC,0x90022681) /* read/write */
  60. #define REG_VO_DAC_IDAC_IHALF_SD FIO_ADDRESS(VO_DAC,0x90022682) /* read/write */
  61. #define REG_VO_DAC_GCR_LEVEL FIO_ADDRESS(VO_DAC,0x90022684) /* read/write */
  62. #define REG_VO_DAC_IDA_IQUART_SD FIO_ADDRESS(VO_DAC,0x90022685) /* read/write */
  63. #define REG_VO_DAC_GCR_IDAC_GAINX FIO_ADDRESS(VO_DAC,0x90022686) /* read/write */
  64. /*----------------------------------------------------------------------------*/
  65. /* bit group structures */
  66. /*----------------------------------------------------------------------------*/
  67. typedef union { /* VO_DAC_EN_IDAC_X */
  68. U8 all;
  69. struct {
  70. U8 enable : 1;
  71. U8 : 7;
  72. } bitc;
  73. } GH_VO_DAC_EN_IDAC_X_S;
  74. typedef union { /* VO_DAC_MODE_SD */
  75. U8 all;
  76. struct {
  77. U8 mode : 1;
  78. U8 : 7;
  79. } bitc;
  80. } GH_VO_DAC_MODE_SD_S;
  81. typedef union { /* VO_DAC_IDAC_IHALF_SD */
  82. U8 all;
  83. struct {
  84. U8 half : 1;
  85. U8 : 7;
  86. } bitc;
  87. } GH_VO_DAC_IDAC_IHALF_SD_S;
  88. typedef union { /* VO_DAC_GCR_LEVEL */
  89. U8 all;
  90. struct {
  91. U8 level : 2;
  92. U8 : 6;
  93. } bitc;
  94. } GH_VO_DAC_GCR_LEVEL_S;
  95. typedef union { /* VO_DAC_IDA_IQUART_SD */
  96. U8 all;
  97. struct {
  98. U8 quart : 1;
  99. U8 : 7;
  100. } bitc;
  101. } GH_VO_DAC_IDA_IQUART_SD_S;
  102. typedef union { /* VO_DAC_GCR_IDAC_GAINX */
  103. U8 all;
  104. struct {
  105. U8 gain : 7;
  106. U8 : 1;
  107. } bitc;
  108. } GH_VO_DAC_GCR_IDAC_GAINX_S;
  109. /*----------------------------------------------------------------------------*/
  110. /* mirror variables */
  111. /*----------------------------------------------------------------------------*/
  112. #ifdef __cplusplus
  113. extern "C" {
  114. #endif
  115. /*----------------------------------------------------------------------------*/
  116. /* register VO_DAC_EN_IDAC_X (read/write) */
  117. /*----------------------------------------------------------------------------*/
  118. #if GH_INLINE_LEVEL == 0
  119. /*! \brief Writes the register 'VO_DAC_EN_IDAC_X'. */
  120. void GH_VO_DAC_set_EN_IDAC_X(U8 data);
  121. /*! \brief Reads the register 'VO_DAC_EN_IDAC_X'. */
  122. U8 GH_VO_DAC_get_EN_IDAC_X(void);
  123. /*! \brief Writes the bit group 'enable' of register 'VO_DAC_EN_IDAC_X'. */
  124. void GH_VO_DAC_set_EN_IDAC_X_enable(U8 data);
  125. /*! \brief Reads the bit group 'enable' of register 'VO_DAC_EN_IDAC_X'. */
  126. U8 GH_VO_DAC_get_EN_IDAC_X_enable(void);
  127. #else /* GH_INLINE_LEVEL == 0 */
  128. GH_INLINE void GH_VO_DAC_set_EN_IDAC_X(U8 data)
  129. {
  130. *(volatile U8 *)REG_VO_DAC_EN_IDAC_X = data;
  131. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  132. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_EN_IDAC_X] <-- 0x%08x\n",
  133. REG_VO_DAC_EN_IDAC_X,data,data);
  134. #endif
  135. }
  136. GH_INLINE U8 GH_VO_DAC_get_EN_IDAC_X(void)
  137. {
  138. U8 value = (*(volatile U8 *)REG_VO_DAC_EN_IDAC_X);
  139. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  140. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_EN_IDAC_X] --> 0x%08x\n",
  141. REG_VO_DAC_EN_IDAC_X,value);
  142. #endif
  143. return value;
  144. }
  145. GH_INLINE void GH_VO_DAC_set_EN_IDAC_X_enable(U8 data)
  146. {
  147. GH_VO_DAC_EN_IDAC_X_S d;
  148. d.all = *(volatile U8 *)REG_VO_DAC_EN_IDAC_X;
  149. d.bitc.enable = data;
  150. *(volatile U8 *)REG_VO_DAC_EN_IDAC_X = d.all;
  151. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  152. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_EN_IDAC_X_enable] <-- 0x%08x\n",
  153. REG_VO_DAC_EN_IDAC_X,d.all,d.all);
  154. #endif
  155. }
  156. GH_INLINE U8 GH_VO_DAC_get_EN_IDAC_X_enable(void)
  157. {
  158. GH_VO_DAC_EN_IDAC_X_S tmp_value;
  159. U8 value = (*(volatile U8 *)REG_VO_DAC_EN_IDAC_X);
  160. tmp_value.all = value;
  161. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  162. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_EN_IDAC_X_enable] --> 0x%08x\n",
  163. REG_VO_DAC_EN_IDAC_X,value);
  164. #endif
  165. return tmp_value.bitc.enable;
  166. }
  167. #endif /* GH_INLINE_LEVEL == 0 */
  168. /*----------------------------------------------------------------------------*/
  169. /* register VO_DAC_MODE_SD (read/write) */
  170. /*----------------------------------------------------------------------------*/
  171. #if GH_INLINE_LEVEL == 0
  172. /*! \brief Writes the register 'VO_DAC_MODE_SD'. */
  173. void GH_VO_DAC_set_MODE_SD(U8 data);
  174. /*! \brief Reads the register 'VO_DAC_MODE_SD'. */
  175. U8 GH_VO_DAC_get_MODE_SD(void);
  176. /*! \brief Writes the bit group 'mode' of register 'VO_DAC_MODE_SD'. */
  177. void GH_VO_DAC_set_MODE_SD_mode(U8 data);
  178. /*! \brief Reads the bit group 'mode' of register 'VO_DAC_MODE_SD'. */
  179. U8 GH_VO_DAC_get_MODE_SD_mode(void);
  180. #else /* GH_INLINE_LEVEL == 0 */
  181. GH_INLINE void GH_VO_DAC_set_MODE_SD(U8 data)
  182. {
  183. *(volatile U8 *)REG_VO_DAC_MODE_SD = data;
  184. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  185. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_MODE_SD] <-- 0x%08x\n",
  186. REG_VO_DAC_MODE_SD,data,data);
  187. #endif
  188. }
  189. GH_INLINE U8 GH_VO_DAC_get_MODE_SD(void)
  190. {
  191. U8 value = (*(volatile U8 *)REG_VO_DAC_MODE_SD);
  192. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  193. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_MODE_SD] --> 0x%08x\n",
  194. REG_VO_DAC_MODE_SD,value);
  195. #endif
  196. return value;
  197. }
  198. GH_INLINE void GH_VO_DAC_set_MODE_SD_mode(U8 data)
  199. {
  200. GH_VO_DAC_MODE_SD_S d;
  201. d.all = *(volatile U8 *)REG_VO_DAC_MODE_SD;
  202. d.bitc.mode = data;
  203. *(volatile U8 *)REG_VO_DAC_MODE_SD = d.all;
  204. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  205. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_MODE_SD_mode] <-- 0x%08x\n",
  206. REG_VO_DAC_MODE_SD,d.all,d.all);
  207. #endif
  208. }
  209. GH_INLINE U8 GH_VO_DAC_get_MODE_SD_mode(void)
  210. {
  211. GH_VO_DAC_MODE_SD_S tmp_value;
  212. U8 value = (*(volatile U8 *)REG_VO_DAC_MODE_SD);
  213. tmp_value.all = value;
  214. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  215. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_MODE_SD_mode] --> 0x%08x\n",
  216. REG_VO_DAC_MODE_SD,value);
  217. #endif
  218. return tmp_value.bitc.mode;
  219. }
  220. #endif /* GH_INLINE_LEVEL == 0 */
  221. /*----------------------------------------------------------------------------*/
  222. /* register VO_DAC_IDAC_IHALF_SD (read/write) */
  223. /*----------------------------------------------------------------------------*/
  224. #if GH_INLINE_LEVEL == 0
  225. /*! \brief Writes the register 'VO_DAC_IDAC_IHALF_SD'. */
  226. void GH_VO_DAC_set_IDAC_IHALF_SD(U8 data);
  227. /*! \brief Reads the register 'VO_DAC_IDAC_IHALF_SD'. */
  228. U8 GH_VO_DAC_get_IDAC_IHALF_SD(void);
  229. /*! \brief Writes the bit group 'half' of register 'VO_DAC_IDAC_IHALF_SD'. */
  230. void GH_VO_DAC_set_IDAC_IHALF_SD_half(U8 data);
  231. /*! \brief Reads the bit group 'half' of register 'VO_DAC_IDAC_IHALF_SD'. */
  232. U8 GH_VO_DAC_get_IDAC_IHALF_SD_half(void);
  233. #else /* GH_INLINE_LEVEL == 0 */
  234. GH_INLINE void GH_VO_DAC_set_IDAC_IHALF_SD(U8 data)
  235. {
  236. *(volatile U8 *)REG_VO_DAC_IDAC_IHALF_SD = data;
  237. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  238. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_IDAC_IHALF_SD] <-- 0x%08x\n",
  239. REG_VO_DAC_IDAC_IHALF_SD,data,data);
  240. #endif
  241. }
  242. GH_INLINE U8 GH_VO_DAC_get_IDAC_IHALF_SD(void)
  243. {
  244. U8 value = (*(volatile U8 *)REG_VO_DAC_IDAC_IHALF_SD);
  245. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  246. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_IDAC_IHALF_SD] --> 0x%08x\n",
  247. REG_VO_DAC_IDAC_IHALF_SD,value);
  248. #endif
  249. return value;
  250. }
  251. GH_INLINE void GH_VO_DAC_set_IDAC_IHALF_SD_half(U8 data)
  252. {
  253. GH_VO_DAC_IDAC_IHALF_SD_S d;
  254. d.all = *(volatile U8 *)REG_VO_DAC_IDAC_IHALF_SD;
  255. d.bitc.half = data;
  256. *(volatile U8 *)REG_VO_DAC_IDAC_IHALF_SD = d.all;
  257. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  258. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_IDAC_IHALF_SD_half] <-- 0x%08x\n",
  259. REG_VO_DAC_IDAC_IHALF_SD,d.all,d.all);
  260. #endif
  261. }
  262. GH_INLINE U8 GH_VO_DAC_get_IDAC_IHALF_SD_half(void)
  263. {
  264. GH_VO_DAC_IDAC_IHALF_SD_S tmp_value;
  265. U8 value = (*(volatile U8 *)REG_VO_DAC_IDAC_IHALF_SD);
  266. tmp_value.all = value;
  267. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  268. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_IDAC_IHALF_SD_half] --> 0x%08x\n",
  269. REG_VO_DAC_IDAC_IHALF_SD,value);
  270. #endif
  271. return tmp_value.bitc.half;
  272. }
  273. #endif /* GH_INLINE_LEVEL == 0 */
  274. /*----------------------------------------------------------------------------*/
  275. /* register VO_DAC_GCR_LEVEL (read/write) */
  276. /*----------------------------------------------------------------------------*/
  277. #if GH_INLINE_LEVEL == 0
  278. /*! \brief Writes the register 'VO_DAC_GCR_LEVEL'. */
  279. void GH_VO_DAC_set_GCR_LEVEL(U8 data);
  280. /*! \brief Reads the register 'VO_DAC_GCR_LEVEL'. */
  281. U8 GH_VO_DAC_get_GCR_LEVEL(void);
  282. /*! \brief Writes the bit group 'level' of register 'VO_DAC_GCR_LEVEL'. */
  283. void GH_VO_DAC_set_GCR_LEVEL_level(U8 data);
  284. /*! \brief Reads the bit group 'level' of register 'VO_DAC_GCR_LEVEL'. */
  285. U8 GH_VO_DAC_get_GCR_LEVEL_level(void);
  286. #else /* GH_INLINE_LEVEL == 0 */
  287. GH_INLINE void GH_VO_DAC_set_GCR_LEVEL(U8 data)
  288. {
  289. *(volatile U8 *)REG_VO_DAC_GCR_LEVEL = data;
  290. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  291. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_GCR_LEVEL] <-- 0x%08x\n",
  292. REG_VO_DAC_GCR_LEVEL,data,data);
  293. #endif
  294. }
  295. GH_INLINE U8 GH_VO_DAC_get_GCR_LEVEL(void)
  296. {
  297. U8 value = (*(volatile U8 *)REG_VO_DAC_GCR_LEVEL);
  298. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  299. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_GCR_LEVEL] --> 0x%08x\n",
  300. REG_VO_DAC_GCR_LEVEL,value);
  301. #endif
  302. return value;
  303. }
  304. GH_INLINE void GH_VO_DAC_set_GCR_LEVEL_level(U8 data)
  305. {
  306. GH_VO_DAC_GCR_LEVEL_S d;
  307. d.all = *(volatile U8 *)REG_VO_DAC_GCR_LEVEL;
  308. d.bitc.level = data;
  309. *(volatile U8 *)REG_VO_DAC_GCR_LEVEL = d.all;
  310. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  311. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_GCR_LEVEL_level] <-- 0x%08x\n",
  312. REG_VO_DAC_GCR_LEVEL,d.all,d.all);
  313. #endif
  314. }
  315. GH_INLINE U8 GH_VO_DAC_get_GCR_LEVEL_level(void)
  316. {
  317. GH_VO_DAC_GCR_LEVEL_S tmp_value;
  318. U8 value = (*(volatile U8 *)REG_VO_DAC_GCR_LEVEL);
  319. tmp_value.all = value;
  320. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  321. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_GCR_LEVEL_level] --> 0x%08x\n",
  322. REG_VO_DAC_GCR_LEVEL,value);
  323. #endif
  324. return tmp_value.bitc.level;
  325. }
  326. #endif /* GH_INLINE_LEVEL == 0 */
  327. /*----------------------------------------------------------------------------*/
  328. /* register VO_DAC_IDA_IQUART_SD (read/write) */
  329. /*----------------------------------------------------------------------------*/
  330. #if GH_INLINE_LEVEL == 0
  331. /*! \brief Writes the register 'VO_DAC_IDA_IQUART_SD'. */
  332. void GH_VO_DAC_set_IDA_IQUART_SD(U8 data);
  333. /*! \brief Reads the register 'VO_DAC_IDA_IQUART_SD'. */
  334. U8 GH_VO_DAC_get_IDA_IQUART_SD(void);
  335. /*! \brief Writes the bit group 'quart' of register 'VO_DAC_IDA_IQUART_SD'. */
  336. void GH_VO_DAC_set_IDA_IQUART_SD_quart(U8 data);
  337. /*! \brief Reads the bit group 'quart' of register 'VO_DAC_IDA_IQUART_SD'. */
  338. U8 GH_VO_DAC_get_IDA_IQUART_SD_quart(void);
  339. #else /* GH_INLINE_LEVEL == 0 */
  340. GH_INLINE void GH_VO_DAC_set_IDA_IQUART_SD(U8 data)
  341. {
  342. *(volatile U8 *)REG_VO_DAC_IDA_IQUART_SD = data;
  343. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  344. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_IDA_IQUART_SD] <-- 0x%08x\n",
  345. REG_VO_DAC_IDA_IQUART_SD,data,data);
  346. #endif
  347. }
  348. GH_INLINE U8 GH_VO_DAC_get_IDA_IQUART_SD(void)
  349. {
  350. U8 value = (*(volatile U8 *)REG_VO_DAC_IDA_IQUART_SD);
  351. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  352. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_IDA_IQUART_SD] --> 0x%08x\n",
  353. REG_VO_DAC_IDA_IQUART_SD,value);
  354. #endif
  355. return value;
  356. }
  357. GH_INLINE void GH_VO_DAC_set_IDA_IQUART_SD_quart(U8 data)
  358. {
  359. GH_VO_DAC_IDA_IQUART_SD_S d;
  360. d.all = *(volatile U8 *)REG_VO_DAC_IDA_IQUART_SD;
  361. d.bitc.quart = data;
  362. *(volatile U8 *)REG_VO_DAC_IDA_IQUART_SD = d.all;
  363. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  364. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_IDA_IQUART_SD_quart] <-- 0x%08x\n",
  365. REG_VO_DAC_IDA_IQUART_SD,d.all,d.all);
  366. #endif
  367. }
  368. GH_INLINE U8 GH_VO_DAC_get_IDA_IQUART_SD_quart(void)
  369. {
  370. GH_VO_DAC_IDA_IQUART_SD_S tmp_value;
  371. U8 value = (*(volatile U8 *)REG_VO_DAC_IDA_IQUART_SD);
  372. tmp_value.all = value;
  373. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  374. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_IDA_IQUART_SD_quart] --> 0x%08x\n",
  375. REG_VO_DAC_IDA_IQUART_SD,value);
  376. #endif
  377. return tmp_value.bitc.quart;
  378. }
  379. #endif /* GH_INLINE_LEVEL == 0 */
  380. /*----------------------------------------------------------------------------*/
  381. /* register VO_DAC_GCR_IDAC_GAINX (read/write) */
  382. /*----------------------------------------------------------------------------*/
  383. #if GH_INLINE_LEVEL == 0
  384. /*! \brief Writes the register 'VO_DAC_GCR_IDAC_GAINX'. */
  385. void GH_VO_DAC_set_GCR_IDAC_GAINX(U8 data);
  386. /*! \brief Reads the register 'VO_DAC_GCR_IDAC_GAINX'. */
  387. U8 GH_VO_DAC_get_GCR_IDAC_GAINX(void);
  388. /*! \brief Writes the bit group 'gain' of register 'VO_DAC_GCR_IDAC_GAINX'. */
  389. void GH_VO_DAC_set_GCR_IDAC_GAINX_gain(U8 data);
  390. /*! \brief Reads the bit group 'gain' of register 'VO_DAC_GCR_IDAC_GAINX'. */
  391. U8 GH_VO_DAC_get_GCR_IDAC_GAINX_gain(void);
  392. #else /* GH_INLINE_LEVEL == 0 */
  393. GH_INLINE void GH_VO_DAC_set_GCR_IDAC_GAINX(U8 data)
  394. {
  395. *(volatile U8 *)REG_VO_DAC_GCR_IDAC_GAINX = data;
  396. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  397. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_GCR_IDAC_GAINX] <-- 0x%08x\n",
  398. REG_VO_DAC_GCR_IDAC_GAINX,data,data);
  399. #endif
  400. }
  401. GH_INLINE U8 GH_VO_DAC_get_GCR_IDAC_GAINX(void)
  402. {
  403. U8 value = (*(volatile U8 *)REG_VO_DAC_GCR_IDAC_GAINX);
  404. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  405. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_GCR_IDAC_GAINX] --> 0x%08x\n",
  406. REG_VO_DAC_GCR_IDAC_GAINX,value);
  407. #endif
  408. return value;
  409. }
  410. GH_INLINE void GH_VO_DAC_set_GCR_IDAC_GAINX_gain(U8 data)
  411. {
  412. GH_VO_DAC_GCR_IDAC_GAINX_S d;
  413. d.all = *(volatile U8 *)REG_VO_DAC_GCR_IDAC_GAINX;
  414. d.bitc.gain = data;
  415. *(volatile U8 *)REG_VO_DAC_GCR_IDAC_GAINX = d.all;
  416. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  417. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_DAC_set_GCR_IDAC_GAINX_gain] <-- 0x%08x\n",
  418. REG_VO_DAC_GCR_IDAC_GAINX,d.all,d.all);
  419. #endif
  420. }
  421. GH_INLINE U8 GH_VO_DAC_get_GCR_IDAC_GAINX_gain(void)
  422. {
  423. GH_VO_DAC_GCR_IDAC_GAINX_S tmp_value;
  424. U8 value = (*(volatile U8 *)REG_VO_DAC_GCR_IDAC_GAINX);
  425. tmp_value.all = value;
  426. #if GH_VO_DAC_ENABLE_DEBUG_PRINT
  427. GH_VO_DAC_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_DAC_get_GCR_IDAC_GAINX_gain] --> 0x%08x\n",
  428. REG_VO_DAC_GCR_IDAC_GAINX,value);
  429. #endif
  430. return tmp_value.bitc.gain;
  431. }
  432. #endif /* GH_INLINE_LEVEL == 0 */
  433. /*----------------------------------------------------------------------------*/
  434. /* init function */
  435. /*----------------------------------------------------------------------------*/
  436. /*! \brief Initialises the registers and mirror variables. */
  437. void GH_VO_DAC_init(void);
  438. #ifdef __cplusplus
  439. }
  440. #endif
  441. #endif /* _GH_VO_DAC_H */
  442. /*----------------------------------------------------------------------------*/
  443. /* end of file */
  444. /*----------------------------------------------------------------------------*/