gh_vo_top.h 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207
  1. /*!
  2. *******************************************************************************
  3. **
  4. ** \file gh_vo_top.h
  5. **
  6. ** \brief TOP control 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_TOP_H
  18. #define _GH_VO_TOP_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_TOP_ENABLE_DEBUG_PRINT 0
  30. #ifdef __LINUX__
  31. #define GH_VO_TOP_DEBUG_PRINT_FUNCTION printk
  32. #else
  33. #define GH_VO_TOP_DEBUG_PRINT_FUNCTION printf
  34. #endif
  35. #ifndef __LINUX__
  36. #if GH_VO_TOP_ENABLE_DEBUG_PRINT
  37. #include <stdio.h>
  38. #endif
  39. #endif
  40. /*----------------------------------------------------------------------------*/
  41. /* registers */
  42. /*----------------------------------------------------------------------------*/
  43. #define REG_VO_TOP_RESET_VOUT FIO_ADDRESS(VO_TOP,0x90008A00) /* read/write */
  44. #define REG_VO_TOP_ENABLE_CLOCK_A FIO_ADDRESS(VO_TOP,0x90008A04) /* read/write */
  45. #define REG_VO_TOP_ENABLE_CLOCK_B FIO_ADDRESS(VO_TOP,0x90008A08) /* read/write */
  46. #define REG_VO_TOP_ENABLE_CLOCK_OSDR FIO_ADDRESS(VO_TOP,0x90008A0C) /* read/write */
  47. #define REG_VO_TOP_ENABLE_SMEM_IF_CLOCK_GATING FIO_ADDRESS(VO_TOP,0x90008A10) /* read/write */
  48. #define REG_VO_TOP_ENABLE_CONFIG_CLOCK_GATING FIO_ADDRESS(VO_TOP,0x90008A14) /* read/write */
  49. /*----------------------------------------------------------------------------*/
  50. /* bit group structures */
  51. /*----------------------------------------------------------------------------*/
  52. typedef union { /* VO_TOP_RESET_VOUT */
  53. U32 all;
  54. struct {
  55. U32 : 31;
  56. U32 reset : 1;
  57. } bitc;
  58. } GH_VO_TOP_RESET_VOUT_S;
  59. typedef union { /* VO_TOP_ENABLE_CLOCK_A */
  60. U32 all;
  61. struct {
  62. U32 enable : 1;
  63. U32 : 31;
  64. } bitc;
  65. } GH_VO_TOP_ENABLE_CLOCK_A_S;
  66. typedef union { /* VO_TOP_ENABLE_CLOCK_B */
  67. U32 all;
  68. struct {
  69. U32 enable : 1;
  70. U32 : 31;
  71. } bitc;
  72. } GH_VO_TOP_ENABLE_CLOCK_B_S;
  73. typedef union { /* VO_TOP_ENABLE_CLOCK_OSDR */
  74. U32 all;
  75. struct {
  76. U32 enable : 1;
  77. U32 : 31;
  78. } bitc;
  79. } GH_VO_TOP_ENABLE_CLOCK_OSDR_S;
  80. typedef union { /* VO_TOP_ENABLE_SMEM_IF_CLOCK_GATING */
  81. U32 all;
  82. struct {
  83. U32 enable : 1;
  84. U32 : 31;
  85. } bitc;
  86. } GH_VO_TOP_ENABLE_SMEM_IF_CLOCK_GATING_S;
  87. typedef union { /* VO_TOP_ENABLE_CONFIG_CLOCK_GATING */
  88. U32 all;
  89. struct {
  90. U32 enable : 1;
  91. U32 : 31;
  92. } bitc;
  93. } GH_VO_TOP_ENABLE_CONFIG_CLOCK_GATING_S;
  94. /*----------------------------------------------------------------------------*/
  95. /* mirror variables */
  96. /*----------------------------------------------------------------------------*/
  97. #ifdef __cplusplus
  98. extern "C" {
  99. #endif
  100. /*----------------------------------------------------------------------------*/
  101. /* register VO_TOP_RESET_VOUT (read/write) */
  102. /*----------------------------------------------------------------------------*/
  103. /*! \brief Writes the register 'VO_TOP_RESET_VOUT'. */
  104. void GH_VO_TOP_set_RESET_VOUT(U32 data);
  105. /*! \brief Reads the register 'VO_TOP_RESET_VOUT'. */
  106. U32 GH_VO_TOP_get_RESET_VOUT(void);
  107. /*! \brief Writes the bit group 'reset' of register 'VO_TOP_RESET_VOUT'. */
  108. void GH_VO_TOP_set_RESET_VOUT_reset(U8 data);
  109. /*! \brief Reads the bit group 'reset' of register 'VO_TOP_RESET_VOUT'. */
  110. U8 GH_VO_TOP_get_RESET_VOUT_reset(void);
  111. /*----------------------------------------------------------------------------*/
  112. /* register VO_TOP_ENABLE_CLOCK_A (read/write) */
  113. /*----------------------------------------------------------------------------*/
  114. /*! \brief Writes the register 'VO_TOP_ENABLE_CLOCK_A'. */
  115. void GH_VO_TOP_set_ENABLE_CLOCK_A(U32 data);
  116. /*! \brief Reads the register 'VO_TOP_ENABLE_CLOCK_A'. */
  117. U32 GH_VO_TOP_get_ENABLE_CLOCK_A(void);
  118. /*! \brief Writes the bit group 'enable' of register 'VO_TOP_ENABLE_CLOCK_A'. */
  119. void GH_VO_TOP_set_ENABLE_CLOCK_A_enable(U8 data);
  120. /*! \brief Reads the bit group 'enable' of register 'VO_TOP_ENABLE_CLOCK_A'. */
  121. U8 GH_VO_TOP_get_ENABLE_CLOCK_A_enable(void);
  122. /*----------------------------------------------------------------------------*/
  123. /* register VO_TOP_ENABLE_CLOCK_B (read/write) */
  124. /*----------------------------------------------------------------------------*/
  125. /*! \brief Writes the register 'VO_TOP_ENABLE_CLOCK_B'. */
  126. void GH_VO_TOP_set_ENABLE_CLOCK_B(U32 data);
  127. /*! \brief Reads the register 'VO_TOP_ENABLE_CLOCK_B'. */
  128. U32 GH_VO_TOP_get_ENABLE_CLOCK_B(void);
  129. /*! \brief Writes the bit group 'enable' of register 'VO_TOP_ENABLE_CLOCK_B'. */
  130. void GH_VO_TOP_set_ENABLE_CLOCK_B_enable(U8 data);
  131. /*! \brief Reads the bit group 'enable' of register 'VO_TOP_ENABLE_CLOCK_B'. */
  132. U8 GH_VO_TOP_get_ENABLE_CLOCK_B_enable(void);
  133. /*----------------------------------------------------------------------------*/
  134. /* register VO_TOP_ENABLE_CLOCK_OSDR (read/write) */
  135. /*----------------------------------------------------------------------------*/
  136. /*! \brief Writes the register 'VO_TOP_ENABLE_CLOCK_OSDR'. */
  137. void GH_VO_TOP_set_ENABLE_CLOCK_OSDR(U32 data);
  138. /*! \brief Reads the register 'VO_TOP_ENABLE_CLOCK_OSDR'. */
  139. U32 GH_VO_TOP_get_ENABLE_CLOCK_OSDR(void);
  140. /*! \brief Writes the bit group 'enable' of register 'VO_TOP_ENABLE_CLOCK_OSDR'. */
  141. void GH_VO_TOP_set_ENABLE_CLOCK_OSDR_enable(U8 data);
  142. /*! \brief Reads the bit group 'enable' of register 'VO_TOP_ENABLE_CLOCK_OSDR'. */
  143. U8 GH_VO_TOP_get_ENABLE_CLOCK_OSDR_enable(void);
  144. /*----------------------------------------------------------------------------*/
  145. /* register VO_TOP_ENABLE_SMEM_IF_CLOCK_GATING (read/write) */
  146. /*----------------------------------------------------------------------------*/
  147. /*! \brief Writes the register 'VO_TOP_ENABLE_SMEM_IF_CLOCK_GATING'. */
  148. void GH_VO_TOP_set_ENABLE_SMEM_IF_CLOCK_GATING(U32 data);
  149. /*! \brief Reads the register 'VO_TOP_ENABLE_SMEM_IF_CLOCK_GATING'. */
  150. U32 GH_VO_TOP_get_ENABLE_SMEM_IF_CLOCK_GATING(void);
  151. /*! \brief Writes the bit group 'enable' of register 'VO_TOP_ENABLE_SMEM_IF_CLOCK_GATING'. */
  152. void GH_VO_TOP_set_ENABLE_SMEM_IF_CLOCK_GATING_enable(U8 data);
  153. /*! \brief Reads the bit group 'enable' of register 'VO_TOP_ENABLE_SMEM_IF_CLOCK_GATING'. */
  154. U8 GH_VO_TOP_get_ENABLE_SMEM_IF_CLOCK_GATING_enable(void);
  155. /*----------------------------------------------------------------------------*/
  156. /* register VO_TOP_ENABLE_CONFIG_CLOCK_GATING (read/write) */
  157. /*----------------------------------------------------------------------------*/
  158. /*! \brief Writes the register 'VO_TOP_ENABLE_CONFIG_CLOCK_GATING'. */
  159. void GH_VO_TOP_set_ENABLE_CONFIG_CLOCK_GATING(U32 data);
  160. /*! \brief Reads the register 'VO_TOP_ENABLE_CONFIG_CLOCK_GATING'. */
  161. U32 GH_VO_TOP_get_ENABLE_CONFIG_CLOCK_GATING(void);
  162. /*! \brief Writes the bit group 'enable' of register 'VO_TOP_ENABLE_CONFIG_CLOCK_GATING'. */
  163. void GH_VO_TOP_set_ENABLE_CONFIG_CLOCK_GATING_enable(U8 data);
  164. /*! \brief Reads the bit group 'enable' of register 'VO_TOP_ENABLE_CONFIG_CLOCK_GATING'. */
  165. U8 GH_VO_TOP_get_ENABLE_CONFIG_CLOCK_GATING_enable(void);
  166. /*----------------------------------------------------------------------------*/
  167. /* init function */
  168. /*----------------------------------------------------------------------------*/
  169. /*! \brief Initialises the registers and mirror variables. */
  170. void GH_VO_TOP_init(void);
  171. #ifdef SRC_INLINE
  172. #define SRC_INC 1
  173. #include "gh_vo_top.c"
  174. #undef SRC_INC
  175. #endif
  176. #ifdef __cplusplus
  177. }
  178. #endif
  179. #endif /* _GH_VO_TOP_H */
  180. /*----------------------------------------------------------------------------*/
  181. /* end of file */
  182. /*----------------------------------------------------------------------------*/