gh_vo_mixer0.h 84 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012
  1. /*!
  2. *******************************************************************************
  3. **
  4. ** \file gh_vo_mixer0.h
  5. **
  6. ** \brief VO Mixer A access function.
  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_MIXER0_H
  18. #define _GH_VO_MIXER0_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_MIXER0_ENABLE_DEBUG_PRINT 0
  30. #ifdef __LINUX__
  31. #define GH_VO_MIXER0_DEBUG_PRINT_FUNCTION printk
  32. #else
  33. #define GH_VO_MIXER0_DEBUG_PRINT_FUNCTION printf
  34. #endif
  35. #ifndef __LINUX__
  36. #if GH_VO_MIXER0_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_MIXER0_CONTROL FIO_ADDRESS(VO_MIXER0,0x90004200) /* read/write */
  59. #define REG_VO_MIXER0_STATUS FIO_ADDRESS(VO_MIXER0,0x90004204) /* read */
  60. #define REG_VO_MIXER0_ACTIVE_SIZE FIO_ADDRESS(VO_MIXER0,0x90004208) /* read/write */
  61. #define REG_VO_MIXER0_VIDEO_START FIO_ADDRESS(VO_MIXER0,0x9000420C) /* read/write */
  62. #define REG_VO_MIXER0_VIDEO_END FIO_ADDRESS(VO_MIXER0,0x90004210) /* read/write */
  63. #define REG_VO_MIXER0_OSD_START FIO_ADDRESS(VO_MIXER0,0x9000421C) /* read/write */
  64. #define REG_VO_MIXER0_OSD_END FIO_ADDRESS(VO_MIXER0,0x90004220) /* read/write */
  65. #define REG_VO_MIXER0_BACKGROUND FIO_ADDRESS(VO_MIXER0,0x90004224) /* read/write */
  66. #define REG_VO_MIXER0_HIGHLIGHT FIO_ADDRESS(VO_MIXER0,0x90004228) /* read/write */
  67. #define REG_VO_MIXER0_OSD_CONTROL FIO_ADDRESS(VO_MIXER0,0x9000422C) /* read/write */
  68. #define REG_VO_MIXER0_ENABLE_CTRL FIO_ADDRESS(VO_MIXER0,0x90004250) /* read/write */
  69. #define REG_VO_MIXER0_INPUT_VIDEO_SYNC FIO_ADDRESS(VO_MIXER0,0x90004254) /* read/write */
  70. #define REG_VO_MIXER0_OUTPUT_SYNC FIO_ADDRESS(VO_MIXER0,0x9000425C) /* read/write */
  71. #define REG_VO_MIXER0_SMEM_INPUT FIO_ADDRESS(VO_MIXER0,0x90004260) /* read/write */
  72. #define REG_VO_MIXER0_SMEM_OUT FIO_ADDRESS(VO_MIXER0,0x90004268) /* read/write */
  73. #define REG_VO_MIXER0_FRAME_ENABLE FIO_ADDRESS(VO_MIXER0,0x9000426C) /* read/write */
  74. #define REG_VO_MIXER0_CLUT_A FIO_ADDRESS(VO_MIXER0,0x90011000) /* read/write */
  75. /*----------------------------------------------------------------------------*/
  76. /* bit group structures */
  77. /*----------------------------------------------------------------------------*/
  78. typedef union { /* VO_MIXER0_CONTROL */
  79. U32 all;
  80. struct {
  81. U32 : 31;
  82. U32 reset : 1;
  83. } bitc;
  84. } GH_VO_MIXER0_CONTROL_S;
  85. typedef union { /* VO_MIXER0_STATUS */
  86. U32 all;
  87. struct {
  88. U32 : 31;
  89. U32 reset : 1;
  90. } bitc;
  91. } GH_VO_MIXER0_STATUS_S;
  92. typedef union { /* VO_MIXER0_ACTIVE_SIZE */
  93. U32 all;
  94. struct {
  95. U32 vertical : 14;
  96. U32 : 2;
  97. U32 horizontal : 14;
  98. U32 : 2;
  99. } bitc;
  100. } GH_VO_MIXER0_ACTIVE_SIZE_S;
  101. typedef union { /* VO_MIXER0_VIDEO_START */
  102. U32 all;
  103. struct {
  104. U32 vertical : 14;
  105. U32 : 2;
  106. U32 horizontal : 14;
  107. U32 : 2;
  108. } bitc;
  109. } GH_VO_MIXER0_VIDEO_START_S;
  110. typedef union { /* VO_MIXER0_VIDEO_END */
  111. U32 all;
  112. struct {
  113. U32 vertical : 14;
  114. U32 : 2;
  115. U32 horizontal : 14;
  116. U32 : 2;
  117. } bitc;
  118. } GH_VO_MIXER0_VIDEO_END_S;
  119. typedef union { /* VO_MIXER0_OSD_START */
  120. U32 all;
  121. struct {
  122. U32 vertical : 14;
  123. U32 : 2;
  124. U32 horizontal : 14;
  125. U32 : 2;
  126. } bitc;
  127. } GH_VO_MIXER0_OSD_START_S;
  128. typedef union { /* VO_MIXER0_OSD_END */
  129. U32 all;
  130. struct {
  131. U32 vertical : 14;
  132. U32 : 2;
  133. U32 horizontal : 14;
  134. U32 : 2;
  135. } bitc;
  136. } GH_VO_MIXER0_OSD_END_S;
  137. typedef union { /* VO_MIXER0_BACKGROUND */
  138. U32 all;
  139. struct {
  140. U32 v : 8;
  141. U32 u : 8;
  142. U32 y : 8;
  143. U32 : 8;
  144. } bitc;
  145. } GH_VO_MIXER0_BACKGROUND_S;
  146. typedef union { /* VO_MIXER0_HIGHLIGHT */
  147. U32 all;
  148. struct {
  149. U32 v : 8;
  150. U32 u : 8;
  151. U32 y : 8;
  152. U32 threshold : 8;
  153. } bitc;
  154. } GH_VO_MIXER0_HIGHLIGHT_S;
  155. typedef union { /* VO_MIXER0_OSD_CONTROL */
  156. U32 all;
  157. struct {
  158. U32 global_blend : 8;
  159. U32 premultiplied : 1;
  160. U32 mode : 3;
  161. U32 enable_transparent_color : 1;
  162. U32 : 3;
  163. U32 transparent_color : 16;
  164. } bitc;
  165. } GH_VO_MIXER0_OSD_CONTROL_S;
  166. typedef union { /* VO_MIXER0_ENABLE_CTRL */
  167. U32 all;
  168. struct {
  169. U32 enable : 1;
  170. U32 mapped_direct : 2;
  171. U32 smem : 1;
  172. U32 display : 1;
  173. U32 : 27;
  174. } bitc;
  175. } GH_VO_MIXER0_ENABLE_CTRL_S;
  176. typedef union { /* VO_MIXER0_INPUT_VIDEO_SYNC */
  177. U32 all;
  178. struct {
  179. U32 sync_mode : 2;
  180. U32 line : 3;
  181. U32 video : 6;
  182. U32 decrement : 1;
  183. U32 : 20;
  184. } bitc;
  185. } GH_VO_MIXER0_INPUT_VIDEO_SYNC_S;
  186. typedef union { /* VO_MIXER0_OUTPUT_SYNC */
  187. U32 all;
  188. struct {
  189. U32 sync_mode : 1;
  190. U32 : 1;
  191. U32 number : 3;
  192. U32 counter : 6;
  193. U32 sync : 1;
  194. U32 frame : 6;
  195. U32 : 14;
  196. } bitc;
  197. } GH_VO_MIXER0_OUTPUT_SYNC_S;
  198. typedef union { /* VO_MIXER0_SMEM_INPUT */
  199. U32 all;
  200. struct {
  201. U32 luma_number : 8;
  202. U32 chroma_number : 8;
  203. U32 osd_number : 8;
  204. U32 priority : 2;
  205. U32 video_length : 2;
  206. U32 osd_length : 2;
  207. U32 : 2;
  208. } bitc;
  209. } GH_VO_MIXER0_SMEM_INPUT_S;
  210. typedef union { /* VO_MIXER0_SMEM_OUT */
  211. U32 all;
  212. struct {
  213. U32 luma_number : 8;
  214. U32 chroma_number : 8;
  215. U32 priority : 2;
  216. U32 : 14;
  217. } bitc;
  218. } GH_VO_MIXER0_SMEM_OUT_S;
  219. typedef union { /* VO_MIXER0_FRAME_ENABLE */
  220. U32 all;
  221. struct {
  222. U32 enable : 1;
  223. U32 : 31;
  224. } bitc;
  225. } GH_VO_MIXER0_FRAME_ENABLE_S;
  226. /*----------------------------------------------------------------------------*/
  227. /* mirror variables */
  228. /*----------------------------------------------------------------------------*/
  229. #ifdef __cplusplus
  230. extern "C" {
  231. #endif
  232. /*----------------------------------------------------------------------------*/
  233. /* register VO_MIXER0_CONTROL (read/write) */
  234. /*----------------------------------------------------------------------------*/
  235. #if GH_INLINE_LEVEL == 0
  236. /*! \brief Writes the register 'VO_MIXER0_CONTROL'. */
  237. void GH_VO_MIXER0_set_CONTROL(U32 data);
  238. /*! \brief Reads the register 'VO_MIXER0_CONTROL'. */
  239. U32 GH_VO_MIXER0_get_CONTROL(void);
  240. /*! \brief Writes the bit group 'Reset' of register 'VO_MIXER0_CONTROL'. */
  241. void GH_VO_MIXER0_set_CONTROL_Reset(U8 data);
  242. /*! \brief Reads the bit group 'Reset' of register 'VO_MIXER0_CONTROL'. */
  243. U8 GH_VO_MIXER0_get_CONTROL_Reset(void);
  244. #else /* GH_INLINE_LEVEL == 0 */
  245. GH_INLINE void GH_VO_MIXER0_set_CONTROL(U32 data)
  246. {
  247. *(volatile U32 *)REG_VO_MIXER0_CONTROL = data;
  248. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  249. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_CONTROL] <-- 0x%08x\n",
  250. REG_VO_MIXER0_CONTROL,data,data);
  251. #endif
  252. }
  253. GH_INLINE U32 GH_VO_MIXER0_get_CONTROL(void)
  254. {
  255. U32 value = (*(volatile U32 *)REG_VO_MIXER0_CONTROL);
  256. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  257. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_CONTROL] --> 0x%08x\n",
  258. REG_VO_MIXER0_CONTROL,value);
  259. #endif
  260. return value;
  261. }
  262. GH_INLINE void GH_VO_MIXER0_set_CONTROL_Reset(U8 data)
  263. {
  264. GH_VO_MIXER0_CONTROL_S d;
  265. d.all = *(volatile U32 *)REG_VO_MIXER0_CONTROL;
  266. d.bitc.reset = data;
  267. *(volatile U32 *)REG_VO_MIXER0_CONTROL = d.all;
  268. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  269. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_CONTROL_Reset] <-- 0x%08x\n",
  270. REG_VO_MIXER0_CONTROL,d.all,d.all);
  271. #endif
  272. }
  273. GH_INLINE U8 GH_VO_MIXER0_get_CONTROL_Reset(void)
  274. {
  275. GH_VO_MIXER0_CONTROL_S tmp_value;
  276. U32 value = (*(volatile U32 *)REG_VO_MIXER0_CONTROL);
  277. tmp_value.all = value;
  278. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  279. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_CONTROL_Reset] --> 0x%08x\n",
  280. REG_VO_MIXER0_CONTROL,value);
  281. #endif
  282. return tmp_value.bitc.reset;
  283. }
  284. #endif /* GH_INLINE_LEVEL == 0 */
  285. /*----------------------------------------------------------------------------*/
  286. /* register VO_MIXER0_STATUS (read) */
  287. /*----------------------------------------------------------------------------*/
  288. #if GH_INLINE_LEVEL == 0
  289. /*! \brief Reads the register 'VO_MIXER0_STATUS'. */
  290. U32 GH_VO_MIXER0_get_STATUS(void);
  291. /*! \brief Reads the bit group 'Reset' of register 'VO_MIXER0_STATUS'. */
  292. U8 GH_VO_MIXER0_get_STATUS_Reset(void);
  293. #else /* GH_INLINE_LEVEL == 0 */
  294. GH_INLINE U32 GH_VO_MIXER0_get_STATUS(void)
  295. {
  296. U32 value = (*(volatile U32 *)REG_VO_MIXER0_STATUS);
  297. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  298. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_STATUS] --> 0x%08x\n",
  299. REG_VO_MIXER0_STATUS,value);
  300. #endif
  301. return value;
  302. }
  303. GH_INLINE U8 GH_VO_MIXER0_get_STATUS_Reset(void)
  304. {
  305. GH_VO_MIXER0_STATUS_S tmp_value;
  306. U32 value = (*(volatile U32 *)REG_VO_MIXER0_STATUS);
  307. tmp_value.all = value;
  308. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  309. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_STATUS_Reset] --> 0x%08x\n",
  310. REG_VO_MIXER0_STATUS,value);
  311. #endif
  312. return tmp_value.bitc.reset;
  313. }
  314. #endif /* GH_INLINE_LEVEL == 0 */
  315. /*----------------------------------------------------------------------------*/
  316. /* register VO_MIXER0_ACTIVE_SIZE (read/write) */
  317. /*----------------------------------------------------------------------------*/
  318. #if GH_INLINE_LEVEL == 0
  319. /*! \brief Writes the register 'VO_MIXER0_ACTIVE_SIZE'. */
  320. void GH_VO_MIXER0_set_ACTIVE_SIZE(U32 data);
  321. /*! \brief Reads the register 'VO_MIXER0_ACTIVE_SIZE'. */
  322. U32 GH_VO_MIXER0_get_ACTIVE_SIZE(void);
  323. /*! \brief Writes the bit group 'Vertical' of register 'VO_MIXER0_ACTIVE_SIZE'. */
  324. void GH_VO_MIXER0_set_ACTIVE_SIZE_Vertical(U16 data);
  325. /*! \brief Reads the bit group 'Vertical' of register 'VO_MIXER0_ACTIVE_SIZE'. */
  326. U16 GH_VO_MIXER0_get_ACTIVE_SIZE_Vertical(void);
  327. /*! \brief Writes the bit group 'Horizontal' of register 'VO_MIXER0_ACTIVE_SIZE'. */
  328. void GH_VO_MIXER0_set_ACTIVE_SIZE_Horizontal(U16 data);
  329. /*! \brief Reads the bit group 'Horizontal' of register 'VO_MIXER0_ACTIVE_SIZE'. */
  330. U16 GH_VO_MIXER0_get_ACTIVE_SIZE_Horizontal(void);
  331. #else /* GH_INLINE_LEVEL == 0 */
  332. GH_INLINE void GH_VO_MIXER0_set_ACTIVE_SIZE(U32 data)
  333. {
  334. *(volatile U32 *)REG_VO_MIXER0_ACTIVE_SIZE = data;
  335. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  336. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_ACTIVE_SIZE] <-- 0x%08x\n",
  337. REG_VO_MIXER0_ACTIVE_SIZE,data,data);
  338. #endif
  339. }
  340. GH_INLINE U32 GH_VO_MIXER0_get_ACTIVE_SIZE(void)
  341. {
  342. U32 value = (*(volatile U32 *)REG_VO_MIXER0_ACTIVE_SIZE);
  343. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  344. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_ACTIVE_SIZE] --> 0x%08x\n",
  345. REG_VO_MIXER0_ACTIVE_SIZE,value);
  346. #endif
  347. return value;
  348. }
  349. GH_INLINE void GH_VO_MIXER0_set_ACTIVE_SIZE_Vertical(U16 data)
  350. {
  351. GH_VO_MIXER0_ACTIVE_SIZE_S d;
  352. d.all = *(volatile U32 *)REG_VO_MIXER0_ACTIVE_SIZE;
  353. d.bitc.vertical = data;
  354. *(volatile U32 *)REG_VO_MIXER0_ACTIVE_SIZE = d.all;
  355. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  356. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_ACTIVE_SIZE_Vertical] <-- 0x%08x\n",
  357. REG_VO_MIXER0_ACTIVE_SIZE,d.all,d.all);
  358. #endif
  359. }
  360. GH_INLINE U16 GH_VO_MIXER0_get_ACTIVE_SIZE_Vertical(void)
  361. {
  362. GH_VO_MIXER0_ACTIVE_SIZE_S tmp_value;
  363. U32 value = (*(volatile U32 *)REG_VO_MIXER0_ACTIVE_SIZE);
  364. tmp_value.all = value;
  365. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  366. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_ACTIVE_SIZE_Vertical] --> 0x%08x\n",
  367. REG_VO_MIXER0_ACTIVE_SIZE,value);
  368. #endif
  369. return tmp_value.bitc.vertical;
  370. }
  371. GH_INLINE void GH_VO_MIXER0_set_ACTIVE_SIZE_Horizontal(U16 data)
  372. {
  373. GH_VO_MIXER0_ACTIVE_SIZE_S d;
  374. d.all = *(volatile U32 *)REG_VO_MIXER0_ACTIVE_SIZE;
  375. d.bitc.horizontal = data;
  376. *(volatile U32 *)REG_VO_MIXER0_ACTIVE_SIZE = d.all;
  377. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  378. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_ACTIVE_SIZE_Horizontal] <-- 0x%08x\n",
  379. REG_VO_MIXER0_ACTIVE_SIZE,d.all,d.all);
  380. #endif
  381. }
  382. GH_INLINE U16 GH_VO_MIXER0_get_ACTIVE_SIZE_Horizontal(void)
  383. {
  384. GH_VO_MIXER0_ACTIVE_SIZE_S tmp_value;
  385. U32 value = (*(volatile U32 *)REG_VO_MIXER0_ACTIVE_SIZE);
  386. tmp_value.all = value;
  387. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  388. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_ACTIVE_SIZE_Horizontal] --> 0x%08x\n",
  389. REG_VO_MIXER0_ACTIVE_SIZE,value);
  390. #endif
  391. return tmp_value.bitc.horizontal;
  392. }
  393. #endif /* GH_INLINE_LEVEL == 0 */
  394. /*----------------------------------------------------------------------------*/
  395. /* register VO_MIXER0_VIDEO_START (read/write) */
  396. /*----------------------------------------------------------------------------*/
  397. #if GH_INLINE_LEVEL == 0
  398. /*! \brief Writes the register 'VO_MIXER0_VIDEO_START'. */
  399. void GH_VO_MIXER0_set_VIDEO_START(U32 data);
  400. /*! \brief Reads the register 'VO_MIXER0_VIDEO_START'. */
  401. U32 GH_VO_MIXER0_get_VIDEO_START(void);
  402. /*! \brief Writes the bit group 'Vertical' of register 'VO_MIXER0_VIDEO_START'. */
  403. void GH_VO_MIXER0_set_VIDEO_START_Vertical(U16 data);
  404. /*! \brief Reads the bit group 'Vertical' of register 'VO_MIXER0_VIDEO_START'. */
  405. U16 GH_VO_MIXER0_get_VIDEO_START_Vertical(void);
  406. /*! \brief Writes the bit group 'Horizontal' of register 'VO_MIXER0_VIDEO_START'. */
  407. void GH_VO_MIXER0_set_VIDEO_START_Horizontal(U16 data);
  408. /*! \brief Reads the bit group 'Horizontal' of register 'VO_MIXER0_VIDEO_START'. */
  409. U16 GH_VO_MIXER0_get_VIDEO_START_Horizontal(void);
  410. #else /* GH_INLINE_LEVEL == 0 */
  411. GH_INLINE void GH_VO_MIXER0_set_VIDEO_START(U32 data)
  412. {
  413. *(volatile U32 *)REG_VO_MIXER0_VIDEO_START = data;
  414. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  415. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_VIDEO_START] <-- 0x%08x\n",
  416. REG_VO_MIXER0_VIDEO_START,data,data);
  417. #endif
  418. }
  419. GH_INLINE U32 GH_VO_MIXER0_get_VIDEO_START(void)
  420. {
  421. U32 value = (*(volatile U32 *)REG_VO_MIXER0_VIDEO_START);
  422. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  423. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_VIDEO_START] --> 0x%08x\n",
  424. REG_VO_MIXER0_VIDEO_START,value);
  425. #endif
  426. return value;
  427. }
  428. GH_INLINE void GH_VO_MIXER0_set_VIDEO_START_Vertical(U16 data)
  429. {
  430. GH_VO_MIXER0_VIDEO_START_S d;
  431. d.all = *(volatile U32 *)REG_VO_MIXER0_VIDEO_START;
  432. d.bitc.vertical = data;
  433. *(volatile U32 *)REG_VO_MIXER0_VIDEO_START = d.all;
  434. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  435. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_VIDEO_START_Vertical] <-- 0x%08x\n",
  436. REG_VO_MIXER0_VIDEO_START,d.all,d.all);
  437. #endif
  438. }
  439. GH_INLINE U16 GH_VO_MIXER0_get_VIDEO_START_Vertical(void)
  440. {
  441. GH_VO_MIXER0_VIDEO_START_S tmp_value;
  442. U32 value = (*(volatile U32 *)REG_VO_MIXER0_VIDEO_START);
  443. tmp_value.all = value;
  444. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  445. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_VIDEO_START_Vertical] --> 0x%08x\n",
  446. REG_VO_MIXER0_VIDEO_START,value);
  447. #endif
  448. return tmp_value.bitc.vertical;
  449. }
  450. GH_INLINE void GH_VO_MIXER0_set_VIDEO_START_Horizontal(U16 data)
  451. {
  452. GH_VO_MIXER0_VIDEO_START_S d;
  453. d.all = *(volatile U32 *)REG_VO_MIXER0_VIDEO_START;
  454. d.bitc.horizontal = data;
  455. *(volatile U32 *)REG_VO_MIXER0_VIDEO_START = d.all;
  456. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  457. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_VIDEO_START_Horizontal] <-- 0x%08x\n",
  458. REG_VO_MIXER0_VIDEO_START,d.all,d.all);
  459. #endif
  460. }
  461. GH_INLINE U16 GH_VO_MIXER0_get_VIDEO_START_Horizontal(void)
  462. {
  463. GH_VO_MIXER0_VIDEO_START_S tmp_value;
  464. U32 value = (*(volatile U32 *)REG_VO_MIXER0_VIDEO_START);
  465. tmp_value.all = value;
  466. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  467. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_VIDEO_START_Horizontal] --> 0x%08x\n",
  468. REG_VO_MIXER0_VIDEO_START,value);
  469. #endif
  470. return tmp_value.bitc.horizontal;
  471. }
  472. #endif /* GH_INLINE_LEVEL == 0 */
  473. /*----------------------------------------------------------------------------*/
  474. /* register VO_MIXER0_VIDEO_END (read/write) */
  475. /*----------------------------------------------------------------------------*/
  476. #if GH_INLINE_LEVEL == 0
  477. /*! \brief Writes the register 'VO_MIXER0_VIDEO_END'. */
  478. void GH_VO_MIXER0_set_VIDEO_END(U32 data);
  479. /*! \brief Reads the register 'VO_MIXER0_VIDEO_END'. */
  480. U32 GH_VO_MIXER0_get_VIDEO_END(void);
  481. /*! \brief Writes the bit group 'Vertical' of register 'VO_MIXER0_VIDEO_END'. */
  482. void GH_VO_MIXER0_set_VIDEO_END_Vertical(U16 data);
  483. /*! \brief Reads the bit group 'Vertical' of register 'VO_MIXER0_VIDEO_END'. */
  484. U16 GH_VO_MIXER0_get_VIDEO_END_Vertical(void);
  485. /*! \brief Writes the bit group 'Horizontal' of register 'VO_MIXER0_VIDEO_END'. */
  486. void GH_VO_MIXER0_set_VIDEO_END_Horizontal(U16 data);
  487. /*! \brief Reads the bit group 'Horizontal' of register 'VO_MIXER0_VIDEO_END'. */
  488. U16 GH_VO_MIXER0_get_VIDEO_END_Horizontal(void);
  489. #else /* GH_INLINE_LEVEL == 0 */
  490. GH_INLINE void GH_VO_MIXER0_set_VIDEO_END(U32 data)
  491. {
  492. *(volatile U32 *)REG_VO_MIXER0_VIDEO_END = data;
  493. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  494. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_VIDEO_END] <-- 0x%08x\n",
  495. REG_VO_MIXER0_VIDEO_END,data,data);
  496. #endif
  497. }
  498. GH_INLINE U32 GH_VO_MIXER0_get_VIDEO_END(void)
  499. {
  500. U32 value = (*(volatile U32 *)REG_VO_MIXER0_VIDEO_END);
  501. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  502. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_VIDEO_END] --> 0x%08x\n",
  503. REG_VO_MIXER0_VIDEO_END,value);
  504. #endif
  505. return value;
  506. }
  507. GH_INLINE void GH_VO_MIXER0_set_VIDEO_END_Vertical(U16 data)
  508. {
  509. GH_VO_MIXER0_VIDEO_END_S d;
  510. d.all = *(volatile U32 *)REG_VO_MIXER0_VIDEO_END;
  511. d.bitc.vertical = data;
  512. *(volatile U32 *)REG_VO_MIXER0_VIDEO_END = d.all;
  513. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  514. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_VIDEO_END_Vertical] <-- 0x%08x\n",
  515. REG_VO_MIXER0_VIDEO_END,d.all,d.all);
  516. #endif
  517. }
  518. GH_INLINE U16 GH_VO_MIXER0_get_VIDEO_END_Vertical(void)
  519. {
  520. GH_VO_MIXER0_VIDEO_END_S tmp_value;
  521. U32 value = (*(volatile U32 *)REG_VO_MIXER0_VIDEO_END);
  522. tmp_value.all = value;
  523. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  524. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_VIDEO_END_Vertical] --> 0x%08x\n",
  525. REG_VO_MIXER0_VIDEO_END,value);
  526. #endif
  527. return tmp_value.bitc.vertical;
  528. }
  529. GH_INLINE void GH_VO_MIXER0_set_VIDEO_END_Horizontal(U16 data)
  530. {
  531. GH_VO_MIXER0_VIDEO_END_S d;
  532. d.all = *(volatile U32 *)REG_VO_MIXER0_VIDEO_END;
  533. d.bitc.horizontal = data;
  534. *(volatile U32 *)REG_VO_MIXER0_VIDEO_END = d.all;
  535. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  536. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_VIDEO_END_Horizontal] <-- 0x%08x\n",
  537. REG_VO_MIXER0_VIDEO_END,d.all,d.all);
  538. #endif
  539. }
  540. GH_INLINE U16 GH_VO_MIXER0_get_VIDEO_END_Horizontal(void)
  541. {
  542. GH_VO_MIXER0_VIDEO_END_S tmp_value;
  543. U32 value = (*(volatile U32 *)REG_VO_MIXER0_VIDEO_END);
  544. tmp_value.all = value;
  545. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  546. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_VIDEO_END_Horizontal] --> 0x%08x\n",
  547. REG_VO_MIXER0_VIDEO_END,value);
  548. #endif
  549. return tmp_value.bitc.horizontal;
  550. }
  551. #endif /* GH_INLINE_LEVEL == 0 */
  552. /*----------------------------------------------------------------------------*/
  553. /* register VO_MIXER0_OSD_START (read/write) */
  554. /*----------------------------------------------------------------------------*/
  555. #if GH_INLINE_LEVEL == 0
  556. /*! \brief Writes the register 'VO_MIXER0_OSD_START'. */
  557. void GH_VO_MIXER0_set_OSD_START(U32 data);
  558. /*! \brief Reads the register 'VO_MIXER0_OSD_START'. */
  559. U32 GH_VO_MIXER0_get_OSD_START(void);
  560. /*! \brief Writes the bit group 'Vertical' of register 'VO_MIXER0_OSD_START'. */
  561. void GH_VO_MIXER0_set_OSD_START_Vertical(U16 data);
  562. /*! \brief Reads the bit group 'Vertical' of register 'VO_MIXER0_OSD_START'. */
  563. U16 GH_VO_MIXER0_get_OSD_START_Vertical(void);
  564. /*! \brief Writes the bit group 'Horizontal' of register 'VO_MIXER0_OSD_START'. */
  565. void GH_VO_MIXER0_set_OSD_START_Horizontal(U16 data);
  566. /*! \brief Reads the bit group 'Horizontal' of register 'VO_MIXER0_OSD_START'. */
  567. U16 GH_VO_MIXER0_get_OSD_START_Horizontal(void);
  568. #else /* GH_INLINE_LEVEL == 0 */
  569. GH_INLINE void GH_VO_MIXER0_set_OSD_START(U32 data)
  570. {
  571. *(volatile U32 *)REG_VO_MIXER0_OSD_START = data;
  572. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  573. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_START] <-- 0x%08x\n",
  574. REG_VO_MIXER0_OSD_START,data,data);
  575. #endif
  576. }
  577. GH_INLINE U32 GH_VO_MIXER0_get_OSD_START(void)
  578. {
  579. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_START);
  580. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  581. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_START] --> 0x%08x\n",
  582. REG_VO_MIXER0_OSD_START,value);
  583. #endif
  584. return value;
  585. }
  586. GH_INLINE void GH_VO_MIXER0_set_OSD_START_Vertical(U16 data)
  587. {
  588. GH_VO_MIXER0_OSD_START_S d;
  589. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_START;
  590. d.bitc.vertical = data;
  591. *(volatile U32 *)REG_VO_MIXER0_OSD_START = d.all;
  592. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  593. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_START_Vertical] <-- 0x%08x\n",
  594. REG_VO_MIXER0_OSD_START,d.all,d.all);
  595. #endif
  596. }
  597. GH_INLINE U16 GH_VO_MIXER0_get_OSD_START_Vertical(void)
  598. {
  599. GH_VO_MIXER0_OSD_START_S tmp_value;
  600. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_START);
  601. tmp_value.all = value;
  602. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  603. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_START_Vertical] --> 0x%08x\n",
  604. REG_VO_MIXER0_OSD_START,value);
  605. #endif
  606. return tmp_value.bitc.vertical;
  607. }
  608. GH_INLINE void GH_VO_MIXER0_set_OSD_START_Horizontal(U16 data)
  609. {
  610. GH_VO_MIXER0_OSD_START_S d;
  611. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_START;
  612. d.bitc.horizontal = data;
  613. *(volatile U32 *)REG_VO_MIXER0_OSD_START = d.all;
  614. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  615. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_START_Horizontal] <-- 0x%08x\n",
  616. REG_VO_MIXER0_OSD_START,d.all,d.all);
  617. #endif
  618. }
  619. GH_INLINE U16 GH_VO_MIXER0_get_OSD_START_Horizontal(void)
  620. {
  621. GH_VO_MIXER0_OSD_START_S tmp_value;
  622. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_START);
  623. tmp_value.all = value;
  624. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  625. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_START_Horizontal] --> 0x%08x\n",
  626. REG_VO_MIXER0_OSD_START,value);
  627. #endif
  628. return tmp_value.bitc.horizontal;
  629. }
  630. #endif /* GH_INLINE_LEVEL == 0 */
  631. /*----------------------------------------------------------------------------*/
  632. /* register VO_MIXER0_OSD_END (read/write) */
  633. /*----------------------------------------------------------------------------*/
  634. #if GH_INLINE_LEVEL == 0
  635. /*! \brief Writes the register 'VO_MIXER0_OSD_END'. */
  636. void GH_VO_MIXER0_set_OSD_END(U32 data);
  637. /*! \brief Reads the register 'VO_MIXER0_OSD_END'. */
  638. U32 GH_VO_MIXER0_get_OSD_END(void);
  639. /*! \brief Writes the bit group 'Vertical' of register 'VO_MIXER0_OSD_END'. */
  640. void GH_VO_MIXER0_set_OSD_END_Vertical(U16 data);
  641. /*! \brief Reads the bit group 'Vertical' of register 'VO_MIXER0_OSD_END'. */
  642. U16 GH_VO_MIXER0_get_OSD_END_Vertical(void);
  643. /*! \brief Writes the bit group 'Horizontal' of register 'VO_MIXER0_OSD_END'. */
  644. void GH_VO_MIXER0_set_OSD_END_Horizontal(U16 data);
  645. /*! \brief Reads the bit group 'Horizontal' of register 'VO_MIXER0_OSD_END'. */
  646. U16 GH_VO_MIXER0_get_OSD_END_Horizontal(void);
  647. #else /* GH_INLINE_LEVEL == 0 */
  648. GH_INLINE void GH_VO_MIXER0_set_OSD_END(U32 data)
  649. {
  650. *(volatile U32 *)REG_VO_MIXER0_OSD_END = data;
  651. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  652. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_END] <-- 0x%08x\n",
  653. REG_VO_MIXER0_OSD_END,data,data);
  654. #endif
  655. }
  656. GH_INLINE U32 GH_VO_MIXER0_get_OSD_END(void)
  657. {
  658. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_END);
  659. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  660. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_END] --> 0x%08x\n",
  661. REG_VO_MIXER0_OSD_END,value);
  662. #endif
  663. return value;
  664. }
  665. GH_INLINE void GH_VO_MIXER0_set_OSD_END_Vertical(U16 data)
  666. {
  667. GH_VO_MIXER0_OSD_END_S d;
  668. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_END;
  669. d.bitc.vertical = data;
  670. *(volatile U32 *)REG_VO_MIXER0_OSD_END = d.all;
  671. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  672. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_END_Vertical] <-- 0x%08x\n",
  673. REG_VO_MIXER0_OSD_END,d.all,d.all);
  674. #endif
  675. }
  676. GH_INLINE U16 GH_VO_MIXER0_get_OSD_END_Vertical(void)
  677. {
  678. GH_VO_MIXER0_OSD_END_S tmp_value;
  679. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_END);
  680. tmp_value.all = value;
  681. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  682. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_END_Vertical] --> 0x%08x\n",
  683. REG_VO_MIXER0_OSD_END,value);
  684. #endif
  685. return tmp_value.bitc.vertical;
  686. }
  687. GH_INLINE void GH_VO_MIXER0_set_OSD_END_Horizontal(U16 data)
  688. {
  689. GH_VO_MIXER0_OSD_END_S d;
  690. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_END;
  691. d.bitc.horizontal = data;
  692. *(volatile U32 *)REG_VO_MIXER0_OSD_END = d.all;
  693. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  694. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_END_Horizontal] <-- 0x%08x\n",
  695. REG_VO_MIXER0_OSD_END,d.all,d.all);
  696. #endif
  697. }
  698. GH_INLINE U16 GH_VO_MIXER0_get_OSD_END_Horizontal(void)
  699. {
  700. GH_VO_MIXER0_OSD_END_S tmp_value;
  701. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_END);
  702. tmp_value.all = value;
  703. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  704. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_END_Horizontal] --> 0x%08x\n",
  705. REG_VO_MIXER0_OSD_END,value);
  706. #endif
  707. return tmp_value.bitc.horizontal;
  708. }
  709. #endif /* GH_INLINE_LEVEL == 0 */
  710. /*----------------------------------------------------------------------------*/
  711. /* register VO_MIXER0_BACKGROUND (read/write) */
  712. /*----------------------------------------------------------------------------*/
  713. #if GH_INLINE_LEVEL == 0
  714. /*! \brief Writes the register 'VO_MIXER0_BACKGROUND'. */
  715. void GH_VO_MIXER0_set_BACKGROUND(U32 data);
  716. /*! \brief Reads the register 'VO_MIXER0_BACKGROUND'. */
  717. U32 GH_VO_MIXER0_get_BACKGROUND(void);
  718. /*! \brief Writes the bit group 'V' of register 'VO_MIXER0_BACKGROUND'. */
  719. void GH_VO_MIXER0_set_BACKGROUND_V(U8 data);
  720. /*! \brief Reads the bit group 'V' of register 'VO_MIXER0_BACKGROUND'. */
  721. U8 GH_VO_MIXER0_get_BACKGROUND_V(void);
  722. /*! \brief Writes the bit group 'U' of register 'VO_MIXER0_BACKGROUND'. */
  723. void GH_VO_MIXER0_set_BACKGROUND_U(U8 data);
  724. /*! \brief Reads the bit group 'U' of register 'VO_MIXER0_BACKGROUND'. */
  725. U8 GH_VO_MIXER0_get_BACKGROUND_U(void);
  726. /*! \brief Writes the bit group 'Y' of register 'VO_MIXER0_BACKGROUND'. */
  727. void GH_VO_MIXER0_set_BACKGROUND_Y(U8 data);
  728. /*! \brief Reads the bit group 'Y' of register 'VO_MIXER0_BACKGROUND'. */
  729. U8 GH_VO_MIXER0_get_BACKGROUND_Y(void);
  730. #else /* GH_INLINE_LEVEL == 0 */
  731. GH_INLINE void GH_VO_MIXER0_set_BACKGROUND(U32 data)
  732. {
  733. *(volatile U32 *)REG_VO_MIXER0_BACKGROUND = data;
  734. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  735. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_BACKGROUND] <-- 0x%08x\n",
  736. REG_VO_MIXER0_BACKGROUND,data,data);
  737. #endif
  738. }
  739. GH_INLINE U32 GH_VO_MIXER0_get_BACKGROUND(void)
  740. {
  741. U32 value = (*(volatile U32 *)REG_VO_MIXER0_BACKGROUND);
  742. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  743. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_BACKGROUND] --> 0x%08x\n",
  744. REG_VO_MIXER0_BACKGROUND,value);
  745. #endif
  746. return value;
  747. }
  748. GH_INLINE void GH_VO_MIXER0_set_BACKGROUND_V(U8 data)
  749. {
  750. GH_VO_MIXER0_BACKGROUND_S d;
  751. d.all = *(volatile U32 *)REG_VO_MIXER0_BACKGROUND;
  752. d.bitc.v = data;
  753. *(volatile U32 *)REG_VO_MIXER0_BACKGROUND = d.all;
  754. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  755. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_BACKGROUND_V] <-- 0x%08x\n",
  756. REG_VO_MIXER0_BACKGROUND,d.all,d.all);
  757. #endif
  758. }
  759. GH_INLINE U8 GH_VO_MIXER0_get_BACKGROUND_V(void)
  760. {
  761. GH_VO_MIXER0_BACKGROUND_S tmp_value;
  762. U32 value = (*(volatile U32 *)REG_VO_MIXER0_BACKGROUND);
  763. tmp_value.all = value;
  764. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  765. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_BACKGROUND_V] --> 0x%08x\n",
  766. REG_VO_MIXER0_BACKGROUND,value);
  767. #endif
  768. return tmp_value.bitc.v;
  769. }
  770. GH_INLINE void GH_VO_MIXER0_set_BACKGROUND_U(U8 data)
  771. {
  772. GH_VO_MIXER0_BACKGROUND_S d;
  773. d.all = *(volatile U32 *)REG_VO_MIXER0_BACKGROUND;
  774. d.bitc.u = data;
  775. *(volatile U32 *)REG_VO_MIXER0_BACKGROUND = d.all;
  776. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  777. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_BACKGROUND_U] <-- 0x%08x\n",
  778. REG_VO_MIXER0_BACKGROUND,d.all,d.all);
  779. #endif
  780. }
  781. GH_INLINE U8 GH_VO_MIXER0_get_BACKGROUND_U(void)
  782. {
  783. GH_VO_MIXER0_BACKGROUND_S tmp_value;
  784. U32 value = (*(volatile U32 *)REG_VO_MIXER0_BACKGROUND);
  785. tmp_value.all = value;
  786. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  787. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_BACKGROUND_U] --> 0x%08x\n",
  788. REG_VO_MIXER0_BACKGROUND,value);
  789. #endif
  790. return tmp_value.bitc.u;
  791. }
  792. GH_INLINE void GH_VO_MIXER0_set_BACKGROUND_Y(U8 data)
  793. {
  794. GH_VO_MIXER0_BACKGROUND_S d;
  795. d.all = *(volatile U32 *)REG_VO_MIXER0_BACKGROUND;
  796. d.bitc.y = data;
  797. *(volatile U32 *)REG_VO_MIXER0_BACKGROUND = d.all;
  798. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  799. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_BACKGROUND_Y] <-- 0x%08x\n",
  800. REG_VO_MIXER0_BACKGROUND,d.all,d.all);
  801. #endif
  802. }
  803. GH_INLINE U8 GH_VO_MIXER0_get_BACKGROUND_Y(void)
  804. {
  805. GH_VO_MIXER0_BACKGROUND_S tmp_value;
  806. U32 value = (*(volatile U32 *)REG_VO_MIXER0_BACKGROUND);
  807. tmp_value.all = value;
  808. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  809. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_BACKGROUND_Y] --> 0x%08x\n",
  810. REG_VO_MIXER0_BACKGROUND,value);
  811. #endif
  812. return tmp_value.bitc.y;
  813. }
  814. #endif /* GH_INLINE_LEVEL == 0 */
  815. /*----------------------------------------------------------------------------*/
  816. /* register VO_MIXER0_HIGHLIGHT (read/write) */
  817. /*----------------------------------------------------------------------------*/
  818. #if GH_INLINE_LEVEL == 0
  819. /*! \brief Writes the register 'VO_MIXER0_HIGHLIGHT'. */
  820. void GH_VO_MIXER0_set_HIGHLIGHT(U32 data);
  821. /*! \brief Reads the register 'VO_MIXER0_HIGHLIGHT'. */
  822. U32 GH_VO_MIXER0_get_HIGHLIGHT(void);
  823. /*! \brief Writes the bit group 'V' of register 'VO_MIXER0_HIGHLIGHT'. */
  824. void GH_VO_MIXER0_set_HIGHLIGHT_V(U8 data);
  825. /*! \brief Reads the bit group 'V' of register 'VO_MIXER0_HIGHLIGHT'. */
  826. U8 GH_VO_MIXER0_get_HIGHLIGHT_V(void);
  827. /*! \brief Writes the bit group 'U' of register 'VO_MIXER0_HIGHLIGHT'. */
  828. void GH_VO_MIXER0_set_HIGHLIGHT_U(U8 data);
  829. /*! \brief Reads the bit group 'U' of register 'VO_MIXER0_HIGHLIGHT'. */
  830. U8 GH_VO_MIXER0_get_HIGHLIGHT_U(void);
  831. /*! \brief Writes the bit group 'Y' of register 'VO_MIXER0_HIGHLIGHT'. */
  832. void GH_VO_MIXER0_set_HIGHLIGHT_Y(U8 data);
  833. /*! \brief Reads the bit group 'Y' of register 'VO_MIXER0_HIGHLIGHT'. */
  834. U8 GH_VO_MIXER0_get_HIGHLIGHT_Y(void);
  835. /*! \brief Writes the bit group 'threshold' of register 'VO_MIXER0_HIGHLIGHT'. */
  836. void GH_VO_MIXER0_set_HIGHLIGHT_threshold(U8 data);
  837. /*! \brief Reads the bit group 'threshold' of register 'VO_MIXER0_HIGHLIGHT'. */
  838. U8 GH_VO_MIXER0_get_HIGHLIGHT_threshold(void);
  839. #else /* GH_INLINE_LEVEL == 0 */
  840. GH_INLINE void GH_VO_MIXER0_set_HIGHLIGHT(U32 data)
  841. {
  842. *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT = data;
  843. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  844. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_HIGHLIGHT] <-- 0x%08x\n",
  845. REG_VO_MIXER0_HIGHLIGHT,data,data);
  846. #endif
  847. }
  848. GH_INLINE U32 GH_VO_MIXER0_get_HIGHLIGHT(void)
  849. {
  850. U32 value = (*(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT);
  851. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  852. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_HIGHLIGHT] --> 0x%08x\n",
  853. REG_VO_MIXER0_HIGHLIGHT,value);
  854. #endif
  855. return value;
  856. }
  857. GH_INLINE void GH_VO_MIXER0_set_HIGHLIGHT_V(U8 data)
  858. {
  859. GH_VO_MIXER0_HIGHLIGHT_S d;
  860. d.all = *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT;
  861. d.bitc.v = data;
  862. *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT = d.all;
  863. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  864. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_HIGHLIGHT_V] <-- 0x%08x\n",
  865. REG_VO_MIXER0_HIGHLIGHT,d.all,d.all);
  866. #endif
  867. }
  868. GH_INLINE U8 GH_VO_MIXER0_get_HIGHLIGHT_V(void)
  869. {
  870. GH_VO_MIXER0_HIGHLIGHT_S tmp_value;
  871. U32 value = (*(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT);
  872. tmp_value.all = value;
  873. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  874. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_HIGHLIGHT_V] --> 0x%08x\n",
  875. REG_VO_MIXER0_HIGHLIGHT,value);
  876. #endif
  877. return tmp_value.bitc.v;
  878. }
  879. GH_INLINE void GH_VO_MIXER0_set_HIGHLIGHT_U(U8 data)
  880. {
  881. GH_VO_MIXER0_HIGHLIGHT_S d;
  882. d.all = *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT;
  883. d.bitc.u = data;
  884. *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT = d.all;
  885. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  886. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_HIGHLIGHT_U] <-- 0x%08x\n",
  887. REG_VO_MIXER0_HIGHLIGHT,d.all,d.all);
  888. #endif
  889. }
  890. GH_INLINE U8 GH_VO_MIXER0_get_HIGHLIGHT_U(void)
  891. {
  892. GH_VO_MIXER0_HIGHLIGHT_S tmp_value;
  893. U32 value = (*(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT);
  894. tmp_value.all = value;
  895. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  896. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_HIGHLIGHT_U] --> 0x%08x\n",
  897. REG_VO_MIXER0_HIGHLIGHT,value);
  898. #endif
  899. return tmp_value.bitc.u;
  900. }
  901. GH_INLINE void GH_VO_MIXER0_set_HIGHLIGHT_Y(U8 data)
  902. {
  903. GH_VO_MIXER0_HIGHLIGHT_S d;
  904. d.all = *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT;
  905. d.bitc.y = data;
  906. *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT = d.all;
  907. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  908. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_HIGHLIGHT_Y] <-- 0x%08x\n",
  909. REG_VO_MIXER0_HIGHLIGHT,d.all,d.all);
  910. #endif
  911. }
  912. GH_INLINE U8 GH_VO_MIXER0_get_HIGHLIGHT_Y(void)
  913. {
  914. GH_VO_MIXER0_HIGHLIGHT_S tmp_value;
  915. U32 value = (*(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT);
  916. tmp_value.all = value;
  917. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  918. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_HIGHLIGHT_Y] --> 0x%08x\n",
  919. REG_VO_MIXER0_HIGHLIGHT,value);
  920. #endif
  921. return tmp_value.bitc.y;
  922. }
  923. GH_INLINE void GH_VO_MIXER0_set_HIGHLIGHT_threshold(U8 data)
  924. {
  925. GH_VO_MIXER0_HIGHLIGHT_S d;
  926. d.all = *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT;
  927. d.bitc.threshold = data;
  928. *(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT = d.all;
  929. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  930. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_HIGHLIGHT_threshold] <-- 0x%08x\n",
  931. REG_VO_MIXER0_HIGHLIGHT,d.all,d.all);
  932. #endif
  933. }
  934. GH_INLINE U8 GH_VO_MIXER0_get_HIGHLIGHT_threshold(void)
  935. {
  936. GH_VO_MIXER0_HIGHLIGHT_S tmp_value;
  937. U32 value = (*(volatile U32 *)REG_VO_MIXER0_HIGHLIGHT);
  938. tmp_value.all = value;
  939. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  940. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_HIGHLIGHT_threshold] --> 0x%08x\n",
  941. REG_VO_MIXER0_HIGHLIGHT,value);
  942. #endif
  943. return tmp_value.bitc.threshold;
  944. }
  945. #endif /* GH_INLINE_LEVEL == 0 */
  946. /*----------------------------------------------------------------------------*/
  947. /* register VO_MIXER0_OSD_CONTROL (read/write) */
  948. /*----------------------------------------------------------------------------*/
  949. #if GH_INLINE_LEVEL == 0
  950. /*! \brief Writes the register 'VO_MIXER0_OSD_CONTROL'. */
  951. void GH_VO_MIXER0_set_OSD_CONTROL(U32 data);
  952. /*! \brief Reads the register 'VO_MIXER0_OSD_CONTROL'. */
  953. U32 GH_VO_MIXER0_get_OSD_CONTROL(void);
  954. /*! \brief Writes the bit group 'Global_Blend' of register 'VO_MIXER0_OSD_CONTROL'. */
  955. void GH_VO_MIXER0_set_OSD_CONTROL_Global_Blend(U8 data);
  956. /*! \brief Reads the bit group 'Global_Blend' of register 'VO_MIXER0_OSD_CONTROL'. */
  957. U8 GH_VO_MIXER0_get_OSD_CONTROL_Global_Blend(void);
  958. /*! \brief Writes the bit group 'Premultiplied' of register 'VO_MIXER0_OSD_CONTROL'. */
  959. void GH_VO_MIXER0_set_OSD_CONTROL_Premultiplied(U8 data);
  960. /*! \brief Reads the bit group 'Premultiplied' of register 'VO_MIXER0_OSD_CONTROL'. */
  961. U8 GH_VO_MIXER0_get_OSD_CONTROL_Premultiplied(void);
  962. /*! \brief Writes the bit group 'Mode' of register 'VO_MIXER0_OSD_CONTROL'. */
  963. void GH_VO_MIXER0_set_OSD_CONTROL_Mode(U8 data);
  964. /*! \brief Reads the bit group 'Mode' of register 'VO_MIXER0_OSD_CONTROL'. */
  965. U8 GH_VO_MIXER0_get_OSD_CONTROL_Mode(void);
  966. /*! \brief Writes the bit group 'Enable_Transparent_Color' of register 'VO_MIXER0_OSD_CONTROL'. */
  967. void GH_VO_MIXER0_set_OSD_CONTROL_Enable_Transparent_Color(U8 data);
  968. /*! \brief Reads the bit group 'Enable_Transparent_Color' of register 'VO_MIXER0_OSD_CONTROL'. */
  969. U8 GH_VO_MIXER0_get_OSD_CONTROL_Enable_Transparent_Color(void);
  970. /*! \brief Writes the bit group 'Transparent_Color' of register 'VO_MIXER0_OSD_CONTROL'. */
  971. void GH_VO_MIXER0_set_OSD_CONTROL_Transparent_Color(U16 data);
  972. /*! \brief Reads the bit group 'Transparent_Color' of register 'VO_MIXER0_OSD_CONTROL'. */
  973. U16 GH_VO_MIXER0_get_OSD_CONTROL_Transparent_Color(void);
  974. #else /* GH_INLINE_LEVEL == 0 */
  975. GH_INLINE void GH_VO_MIXER0_set_OSD_CONTROL(U32 data)
  976. {
  977. *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL = data;
  978. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  979. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_CONTROL] <-- 0x%08x\n",
  980. REG_VO_MIXER0_OSD_CONTROL,data,data);
  981. #endif
  982. }
  983. GH_INLINE U32 GH_VO_MIXER0_get_OSD_CONTROL(void)
  984. {
  985. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL);
  986. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  987. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_CONTROL] --> 0x%08x\n",
  988. REG_VO_MIXER0_OSD_CONTROL,value);
  989. #endif
  990. return value;
  991. }
  992. GH_INLINE void GH_VO_MIXER0_set_OSD_CONTROL_Global_Blend(U8 data)
  993. {
  994. GH_VO_MIXER0_OSD_CONTROL_S d;
  995. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL;
  996. d.bitc.global_blend = data;
  997. *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL = d.all;
  998. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  999. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_CONTROL_Global_Blend] <-- 0x%08x\n",
  1000. REG_VO_MIXER0_OSD_CONTROL,d.all,d.all);
  1001. #endif
  1002. }
  1003. GH_INLINE U8 GH_VO_MIXER0_get_OSD_CONTROL_Global_Blend(void)
  1004. {
  1005. GH_VO_MIXER0_OSD_CONTROL_S tmp_value;
  1006. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL);
  1007. tmp_value.all = value;
  1008. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1009. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_CONTROL_Global_Blend] --> 0x%08x\n",
  1010. REG_VO_MIXER0_OSD_CONTROL,value);
  1011. #endif
  1012. return tmp_value.bitc.global_blend;
  1013. }
  1014. GH_INLINE void GH_VO_MIXER0_set_OSD_CONTROL_Premultiplied(U8 data)
  1015. {
  1016. GH_VO_MIXER0_OSD_CONTROL_S d;
  1017. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL;
  1018. d.bitc.premultiplied = data;
  1019. *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL = d.all;
  1020. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1021. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_CONTROL_Premultiplied] <-- 0x%08x\n",
  1022. REG_VO_MIXER0_OSD_CONTROL,d.all,d.all);
  1023. #endif
  1024. }
  1025. GH_INLINE U8 GH_VO_MIXER0_get_OSD_CONTROL_Premultiplied(void)
  1026. {
  1027. GH_VO_MIXER0_OSD_CONTROL_S tmp_value;
  1028. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL);
  1029. tmp_value.all = value;
  1030. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1031. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_CONTROL_Premultiplied] --> 0x%08x\n",
  1032. REG_VO_MIXER0_OSD_CONTROL,value);
  1033. #endif
  1034. return tmp_value.bitc.premultiplied;
  1035. }
  1036. GH_INLINE void GH_VO_MIXER0_set_OSD_CONTROL_Mode(U8 data)
  1037. {
  1038. GH_VO_MIXER0_OSD_CONTROL_S d;
  1039. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL;
  1040. d.bitc.mode = data;
  1041. *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL = d.all;
  1042. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1043. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_CONTROL_Mode] <-- 0x%08x\n",
  1044. REG_VO_MIXER0_OSD_CONTROL,d.all,d.all);
  1045. #endif
  1046. }
  1047. GH_INLINE U8 GH_VO_MIXER0_get_OSD_CONTROL_Mode(void)
  1048. {
  1049. GH_VO_MIXER0_OSD_CONTROL_S tmp_value;
  1050. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL);
  1051. tmp_value.all = value;
  1052. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1053. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_CONTROL_Mode] --> 0x%08x\n",
  1054. REG_VO_MIXER0_OSD_CONTROL,value);
  1055. #endif
  1056. return tmp_value.bitc.mode;
  1057. }
  1058. GH_INLINE void GH_VO_MIXER0_set_OSD_CONTROL_Enable_Transparent_Color(U8 data)
  1059. {
  1060. GH_VO_MIXER0_OSD_CONTROL_S d;
  1061. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL;
  1062. d.bitc.enable_transparent_color = data;
  1063. *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL = d.all;
  1064. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1065. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_CONTROL_Enable_Transparent_Color] <-- 0x%08x\n",
  1066. REG_VO_MIXER0_OSD_CONTROL,d.all,d.all);
  1067. #endif
  1068. }
  1069. GH_INLINE U8 GH_VO_MIXER0_get_OSD_CONTROL_Enable_Transparent_Color(void)
  1070. {
  1071. GH_VO_MIXER0_OSD_CONTROL_S tmp_value;
  1072. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL);
  1073. tmp_value.all = value;
  1074. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1075. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_CONTROL_Enable_Transparent_Color] --> 0x%08x\n",
  1076. REG_VO_MIXER0_OSD_CONTROL,value);
  1077. #endif
  1078. return tmp_value.bitc.enable_transparent_color;
  1079. }
  1080. GH_INLINE void GH_VO_MIXER0_set_OSD_CONTROL_Transparent_Color(U16 data)
  1081. {
  1082. GH_VO_MIXER0_OSD_CONTROL_S d;
  1083. d.all = *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL;
  1084. d.bitc.transparent_color = data;
  1085. *(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL = d.all;
  1086. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1087. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OSD_CONTROL_Transparent_Color] <-- 0x%08x\n",
  1088. REG_VO_MIXER0_OSD_CONTROL,d.all,d.all);
  1089. #endif
  1090. }
  1091. GH_INLINE U16 GH_VO_MIXER0_get_OSD_CONTROL_Transparent_Color(void)
  1092. {
  1093. GH_VO_MIXER0_OSD_CONTROL_S tmp_value;
  1094. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OSD_CONTROL);
  1095. tmp_value.all = value;
  1096. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1097. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OSD_CONTROL_Transparent_Color] --> 0x%08x\n",
  1098. REG_VO_MIXER0_OSD_CONTROL,value);
  1099. #endif
  1100. return tmp_value.bitc.transparent_color;
  1101. }
  1102. #endif /* GH_INLINE_LEVEL == 0 */
  1103. /*----------------------------------------------------------------------------*/
  1104. /* register VO_MIXER0_ENABLE_CTRL (read/write) */
  1105. /*----------------------------------------------------------------------------*/
  1106. #if GH_INLINE_LEVEL == 0
  1107. /*! \brief Writes the register 'VO_MIXER0_ENABLE_CTRL'. */
  1108. void GH_VO_MIXER0_set_ENABLE_CTRL(U32 data);
  1109. /*! \brief Reads the register 'VO_MIXER0_ENABLE_CTRL'. */
  1110. U32 GH_VO_MIXER0_get_ENABLE_CTRL(void);
  1111. /*! \brief Writes the bit group 'enable' of register 'VO_MIXER0_ENABLE_CTRL'. */
  1112. void GH_VO_MIXER0_set_ENABLE_CTRL_enable(U8 data);
  1113. /*! \brief Reads the bit group 'enable' of register 'VO_MIXER0_ENABLE_CTRL'. */
  1114. U8 GH_VO_MIXER0_get_ENABLE_CTRL_enable(void);
  1115. /*! \brief Writes the bit group 'mapped_direct' of register 'VO_MIXER0_ENABLE_CTRL'. */
  1116. void GH_VO_MIXER0_set_ENABLE_CTRL_mapped_direct(U8 data);
  1117. /*! \brief Reads the bit group 'mapped_direct' of register 'VO_MIXER0_ENABLE_CTRL'. */
  1118. U8 GH_VO_MIXER0_get_ENABLE_CTRL_mapped_direct(void);
  1119. /*! \brief Writes the bit group 'smem' of register 'VO_MIXER0_ENABLE_CTRL'. */
  1120. void GH_VO_MIXER0_set_ENABLE_CTRL_smem(U8 data);
  1121. /*! \brief Reads the bit group 'smem' of register 'VO_MIXER0_ENABLE_CTRL'. */
  1122. U8 GH_VO_MIXER0_get_ENABLE_CTRL_smem(void);
  1123. /*! \brief Writes the bit group 'display' of register 'VO_MIXER0_ENABLE_CTRL'. */
  1124. void GH_VO_MIXER0_set_ENABLE_CTRL_display(U8 data);
  1125. /*! \brief Reads the bit group 'display' of register 'VO_MIXER0_ENABLE_CTRL'. */
  1126. U8 GH_VO_MIXER0_get_ENABLE_CTRL_display(void);
  1127. #else /* GH_INLINE_LEVEL == 0 */
  1128. GH_INLINE void GH_VO_MIXER0_set_ENABLE_CTRL(U32 data)
  1129. {
  1130. *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL = data;
  1131. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1132. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_ENABLE_CTRL] <-- 0x%08x\n",
  1133. REG_VO_MIXER0_ENABLE_CTRL,data,data);
  1134. #endif
  1135. }
  1136. GH_INLINE U32 GH_VO_MIXER0_get_ENABLE_CTRL(void)
  1137. {
  1138. U32 value = (*(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL);
  1139. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1140. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_ENABLE_CTRL] --> 0x%08x\n",
  1141. REG_VO_MIXER0_ENABLE_CTRL,value);
  1142. #endif
  1143. return value;
  1144. }
  1145. GH_INLINE void GH_VO_MIXER0_set_ENABLE_CTRL_enable(U8 data)
  1146. {
  1147. GH_VO_MIXER0_ENABLE_CTRL_S d;
  1148. d.all = *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL;
  1149. d.bitc.enable = data;
  1150. *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL = d.all;
  1151. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1152. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_ENABLE_CTRL_enable] <-- 0x%08x\n",
  1153. REG_VO_MIXER0_ENABLE_CTRL,d.all,d.all);
  1154. #endif
  1155. }
  1156. GH_INLINE U8 GH_VO_MIXER0_get_ENABLE_CTRL_enable(void)
  1157. {
  1158. GH_VO_MIXER0_ENABLE_CTRL_S tmp_value;
  1159. U32 value = (*(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL);
  1160. tmp_value.all = value;
  1161. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1162. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_ENABLE_CTRL_enable] --> 0x%08x\n",
  1163. REG_VO_MIXER0_ENABLE_CTRL,value);
  1164. #endif
  1165. return tmp_value.bitc.enable;
  1166. }
  1167. GH_INLINE void GH_VO_MIXER0_set_ENABLE_CTRL_mapped_direct(U8 data)
  1168. {
  1169. GH_VO_MIXER0_ENABLE_CTRL_S d;
  1170. d.all = *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL;
  1171. d.bitc.mapped_direct = data;
  1172. *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL = d.all;
  1173. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1174. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_ENABLE_CTRL_mapped_direct] <-- 0x%08x\n",
  1175. REG_VO_MIXER0_ENABLE_CTRL,d.all,d.all);
  1176. #endif
  1177. }
  1178. GH_INLINE U8 GH_VO_MIXER0_get_ENABLE_CTRL_mapped_direct(void)
  1179. {
  1180. GH_VO_MIXER0_ENABLE_CTRL_S tmp_value;
  1181. U32 value = (*(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL);
  1182. tmp_value.all = value;
  1183. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1184. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_ENABLE_CTRL_mapped_direct] --> 0x%08x\n",
  1185. REG_VO_MIXER0_ENABLE_CTRL,value);
  1186. #endif
  1187. return tmp_value.bitc.mapped_direct;
  1188. }
  1189. GH_INLINE void GH_VO_MIXER0_set_ENABLE_CTRL_smem(U8 data)
  1190. {
  1191. GH_VO_MIXER0_ENABLE_CTRL_S d;
  1192. d.all = *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL;
  1193. d.bitc.smem = data;
  1194. *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL = d.all;
  1195. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1196. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_ENABLE_CTRL_smem] <-- 0x%08x\n",
  1197. REG_VO_MIXER0_ENABLE_CTRL,d.all,d.all);
  1198. #endif
  1199. }
  1200. GH_INLINE U8 GH_VO_MIXER0_get_ENABLE_CTRL_smem(void)
  1201. {
  1202. GH_VO_MIXER0_ENABLE_CTRL_S tmp_value;
  1203. U32 value = (*(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL);
  1204. tmp_value.all = value;
  1205. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1206. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_ENABLE_CTRL_smem] --> 0x%08x\n",
  1207. REG_VO_MIXER0_ENABLE_CTRL,value);
  1208. #endif
  1209. return tmp_value.bitc.smem;
  1210. }
  1211. GH_INLINE void GH_VO_MIXER0_set_ENABLE_CTRL_display(U8 data)
  1212. {
  1213. GH_VO_MIXER0_ENABLE_CTRL_S d;
  1214. d.all = *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL;
  1215. d.bitc.display = data;
  1216. *(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL = d.all;
  1217. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1218. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_ENABLE_CTRL_display] <-- 0x%08x\n",
  1219. REG_VO_MIXER0_ENABLE_CTRL,d.all,d.all);
  1220. #endif
  1221. }
  1222. GH_INLINE U8 GH_VO_MIXER0_get_ENABLE_CTRL_display(void)
  1223. {
  1224. GH_VO_MIXER0_ENABLE_CTRL_S tmp_value;
  1225. U32 value = (*(volatile U32 *)REG_VO_MIXER0_ENABLE_CTRL);
  1226. tmp_value.all = value;
  1227. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1228. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_ENABLE_CTRL_display] --> 0x%08x\n",
  1229. REG_VO_MIXER0_ENABLE_CTRL,value);
  1230. #endif
  1231. return tmp_value.bitc.display;
  1232. }
  1233. #endif /* GH_INLINE_LEVEL == 0 */
  1234. /*----------------------------------------------------------------------------*/
  1235. /* register VO_MIXER0_INPUT_VIDEO_SYNC (read/write) */
  1236. /*----------------------------------------------------------------------------*/
  1237. #if GH_INLINE_LEVEL == 0
  1238. /*! \brief Writes the register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1239. void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC(U32 data);
  1240. /*! \brief Reads the register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1241. U32 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC(void);
  1242. /*! \brief Writes the bit group 'sync_mode' of register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1243. void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_sync_mode(U8 data);
  1244. /*! \brief Reads the bit group 'sync_mode' of register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1245. U8 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_sync_mode(void);
  1246. /*! \brief Writes the bit group 'line' of register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1247. void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_line(U8 data);
  1248. /*! \brief Reads the bit group 'line' of register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1249. U8 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_line(void);
  1250. /*! \brief Writes the bit group 'video' of register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1251. void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_video(U8 data);
  1252. /*! \brief Reads the bit group 'video' of register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1253. U8 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_video(void);
  1254. /*! \brief Writes the bit group 'decrement' of register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1255. void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_decrement(U8 data);
  1256. /*! \brief Reads the bit group 'decrement' of register 'VO_MIXER0_INPUT_VIDEO_SYNC'. */
  1257. U8 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_decrement(void);
  1258. #else /* GH_INLINE_LEVEL == 0 */
  1259. GH_INLINE void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC(U32 data)
  1260. {
  1261. *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC = data;
  1262. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1263. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_INPUT_VIDEO_SYNC] <-- 0x%08x\n",
  1264. REG_VO_MIXER0_INPUT_VIDEO_SYNC,data,data);
  1265. #endif
  1266. }
  1267. GH_INLINE U32 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC(void)
  1268. {
  1269. U32 value = (*(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC);
  1270. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1271. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_INPUT_VIDEO_SYNC] --> 0x%08x\n",
  1272. REG_VO_MIXER0_INPUT_VIDEO_SYNC,value);
  1273. #endif
  1274. return value;
  1275. }
  1276. GH_INLINE void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_sync_mode(U8 data)
  1277. {
  1278. GH_VO_MIXER0_INPUT_VIDEO_SYNC_S d;
  1279. d.all = *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC;
  1280. d.bitc.sync_mode = data;
  1281. *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC = d.all;
  1282. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1283. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_sync_mode] <-- 0x%08x\n",
  1284. REG_VO_MIXER0_INPUT_VIDEO_SYNC,d.all,d.all);
  1285. #endif
  1286. }
  1287. GH_INLINE U8 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_sync_mode(void)
  1288. {
  1289. GH_VO_MIXER0_INPUT_VIDEO_SYNC_S tmp_value;
  1290. U32 value = (*(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC);
  1291. tmp_value.all = value;
  1292. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1293. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_sync_mode] --> 0x%08x\n",
  1294. REG_VO_MIXER0_INPUT_VIDEO_SYNC,value);
  1295. #endif
  1296. return tmp_value.bitc.sync_mode;
  1297. }
  1298. GH_INLINE void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_line(U8 data)
  1299. {
  1300. GH_VO_MIXER0_INPUT_VIDEO_SYNC_S d;
  1301. d.all = *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC;
  1302. d.bitc.line = data;
  1303. *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC = d.all;
  1304. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1305. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_line] <-- 0x%08x\n",
  1306. REG_VO_MIXER0_INPUT_VIDEO_SYNC,d.all,d.all);
  1307. #endif
  1308. }
  1309. GH_INLINE U8 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_line(void)
  1310. {
  1311. GH_VO_MIXER0_INPUT_VIDEO_SYNC_S tmp_value;
  1312. U32 value = (*(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC);
  1313. tmp_value.all = value;
  1314. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1315. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_line] --> 0x%08x\n",
  1316. REG_VO_MIXER0_INPUT_VIDEO_SYNC,value);
  1317. #endif
  1318. return tmp_value.bitc.line;
  1319. }
  1320. GH_INLINE void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_video(U8 data)
  1321. {
  1322. GH_VO_MIXER0_INPUT_VIDEO_SYNC_S d;
  1323. d.all = *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC;
  1324. d.bitc.video = data;
  1325. *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC = d.all;
  1326. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1327. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_video] <-- 0x%08x\n",
  1328. REG_VO_MIXER0_INPUT_VIDEO_SYNC,d.all,d.all);
  1329. #endif
  1330. }
  1331. GH_INLINE U8 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_video(void)
  1332. {
  1333. GH_VO_MIXER0_INPUT_VIDEO_SYNC_S tmp_value;
  1334. U32 value = (*(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC);
  1335. tmp_value.all = value;
  1336. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1337. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_video] --> 0x%08x\n",
  1338. REG_VO_MIXER0_INPUT_VIDEO_SYNC,value);
  1339. #endif
  1340. return tmp_value.bitc.video;
  1341. }
  1342. GH_INLINE void GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_decrement(U8 data)
  1343. {
  1344. GH_VO_MIXER0_INPUT_VIDEO_SYNC_S d;
  1345. d.all = *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC;
  1346. d.bitc.decrement = data;
  1347. *(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC = d.all;
  1348. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1349. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_INPUT_VIDEO_SYNC_decrement] <-- 0x%08x\n",
  1350. REG_VO_MIXER0_INPUT_VIDEO_SYNC,d.all,d.all);
  1351. #endif
  1352. }
  1353. GH_INLINE U8 GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_decrement(void)
  1354. {
  1355. GH_VO_MIXER0_INPUT_VIDEO_SYNC_S tmp_value;
  1356. U32 value = (*(volatile U32 *)REG_VO_MIXER0_INPUT_VIDEO_SYNC);
  1357. tmp_value.all = value;
  1358. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1359. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_INPUT_VIDEO_SYNC_decrement] --> 0x%08x\n",
  1360. REG_VO_MIXER0_INPUT_VIDEO_SYNC,value);
  1361. #endif
  1362. return tmp_value.bitc.decrement;
  1363. }
  1364. #endif /* GH_INLINE_LEVEL == 0 */
  1365. /*----------------------------------------------------------------------------*/
  1366. /* register VO_MIXER0_OUTPUT_SYNC (read/write) */
  1367. /*----------------------------------------------------------------------------*/
  1368. #if GH_INLINE_LEVEL == 0
  1369. /*! \brief Writes the register 'VO_MIXER0_OUTPUT_SYNC'. */
  1370. void GH_VO_MIXER0_set_OUTPUT_SYNC(U32 data);
  1371. /*! \brief Reads the register 'VO_MIXER0_OUTPUT_SYNC'. */
  1372. U32 GH_VO_MIXER0_get_OUTPUT_SYNC(void);
  1373. /*! \brief Writes the bit group 'sync_mode' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1374. void GH_VO_MIXER0_set_OUTPUT_SYNC_sync_mode(U8 data);
  1375. /*! \brief Reads the bit group 'sync_mode' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1376. U8 GH_VO_MIXER0_get_OUTPUT_SYNC_sync_mode(void);
  1377. /*! \brief Writes the bit group 'number' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1378. void GH_VO_MIXER0_set_OUTPUT_SYNC_number(U8 data);
  1379. /*! \brief Reads the bit group 'number' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1380. U8 GH_VO_MIXER0_get_OUTPUT_SYNC_number(void);
  1381. /*! \brief Writes the bit group 'counter' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1382. void GH_VO_MIXER0_set_OUTPUT_SYNC_counter(U8 data);
  1383. /*! \brief Reads the bit group 'counter' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1384. U8 GH_VO_MIXER0_get_OUTPUT_SYNC_counter(void);
  1385. /*! \brief Writes the bit group 'sync' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1386. void GH_VO_MIXER0_set_OUTPUT_SYNC_sync(U8 data);
  1387. /*! \brief Reads the bit group 'sync' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1388. U8 GH_VO_MIXER0_get_OUTPUT_SYNC_sync(void);
  1389. /*! \brief Writes the bit group 'frame' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1390. void GH_VO_MIXER0_set_OUTPUT_SYNC_frame(U8 data);
  1391. /*! \brief Reads the bit group 'frame' of register 'VO_MIXER0_OUTPUT_SYNC'. */
  1392. U8 GH_VO_MIXER0_get_OUTPUT_SYNC_frame(void);
  1393. #else /* GH_INLINE_LEVEL == 0 */
  1394. GH_INLINE void GH_VO_MIXER0_set_OUTPUT_SYNC(U32 data)
  1395. {
  1396. *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC = data;
  1397. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1398. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OUTPUT_SYNC] <-- 0x%08x\n",
  1399. REG_VO_MIXER0_OUTPUT_SYNC,data,data);
  1400. #endif
  1401. }
  1402. GH_INLINE U32 GH_VO_MIXER0_get_OUTPUT_SYNC(void)
  1403. {
  1404. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC);
  1405. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1406. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OUTPUT_SYNC] --> 0x%08x\n",
  1407. REG_VO_MIXER0_OUTPUT_SYNC,value);
  1408. #endif
  1409. return value;
  1410. }
  1411. GH_INLINE void GH_VO_MIXER0_set_OUTPUT_SYNC_sync_mode(U8 data)
  1412. {
  1413. GH_VO_MIXER0_OUTPUT_SYNC_S d;
  1414. d.all = *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC;
  1415. d.bitc.sync_mode = data;
  1416. *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC = d.all;
  1417. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1418. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OUTPUT_SYNC_sync_mode] <-- 0x%08x\n",
  1419. REG_VO_MIXER0_OUTPUT_SYNC,d.all,d.all);
  1420. #endif
  1421. }
  1422. GH_INLINE U8 GH_VO_MIXER0_get_OUTPUT_SYNC_sync_mode(void)
  1423. {
  1424. GH_VO_MIXER0_OUTPUT_SYNC_S tmp_value;
  1425. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC);
  1426. tmp_value.all = value;
  1427. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1428. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OUTPUT_SYNC_sync_mode] --> 0x%08x\n",
  1429. REG_VO_MIXER0_OUTPUT_SYNC,value);
  1430. #endif
  1431. return tmp_value.bitc.sync_mode;
  1432. }
  1433. GH_INLINE void GH_VO_MIXER0_set_OUTPUT_SYNC_number(U8 data)
  1434. {
  1435. GH_VO_MIXER0_OUTPUT_SYNC_S d;
  1436. d.all = *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC;
  1437. d.bitc.number = data;
  1438. *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC = d.all;
  1439. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1440. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OUTPUT_SYNC_number] <-- 0x%08x\n",
  1441. REG_VO_MIXER0_OUTPUT_SYNC,d.all,d.all);
  1442. #endif
  1443. }
  1444. GH_INLINE U8 GH_VO_MIXER0_get_OUTPUT_SYNC_number(void)
  1445. {
  1446. GH_VO_MIXER0_OUTPUT_SYNC_S tmp_value;
  1447. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC);
  1448. tmp_value.all = value;
  1449. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1450. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OUTPUT_SYNC_number] --> 0x%08x\n",
  1451. REG_VO_MIXER0_OUTPUT_SYNC,value);
  1452. #endif
  1453. return tmp_value.bitc.number;
  1454. }
  1455. GH_INLINE void GH_VO_MIXER0_set_OUTPUT_SYNC_counter(U8 data)
  1456. {
  1457. GH_VO_MIXER0_OUTPUT_SYNC_S d;
  1458. d.all = *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC;
  1459. d.bitc.counter = data;
  1460. *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC = d.all;
  1461. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1462. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OUTPUT_SYNC_counter] <-- 0x%08x\n",
  1463. REG_VO_MIXER0_OUTPUT_SYNC,d.all,d.all);
  1464. #endif
  1465. }
  1466. GH_INLINE U8 GH_VO_MIXER0_get_OUTPUT_SYNC_counter(void)
  1467. {
  1468. GH_VO_MIXER0_OUTPUT_SYNC_S tmp_value;
  1469. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC);
  1470. tmp_value.all = value;
  1471. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1472. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OUTPUT_SYNC_counter] --> 0x%08x\n",
  1473. REG_VO_MIXER0_OUTPUT_SYNC,value);
  1474. #endif
  1475. return tmp_value.bitc.counter;
  1476. }
  1477. GH_INLINE void GH_VO_MIXER0_set_OUTPUT_SYNC_sync(U8 data)
  1478. {
  1479. GH_VO_MIXER0_OUTPUT_SYNC_S d;
  1480. d.all = *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC;
  1481. d.bitc.sync = data;
  1482. *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC = d.all;
  1483. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1484. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OUTPUT_SYNC_sync] <-- 0x%08x\n",
  1485. REG_VO_MIXER0_OUTPUT_SYNC,d.all,d.all);
  1486. #endif
  1487. }
  1488. GH_INLINE U8 GH_VO_MIXER0_get_OUTPUT_SYNC_sync(void)
  1489. {
  1490. GH_VO_MIXER0_OUTPUT_SYNC_S tmp_value;
  1491. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC);
  1492. tmp_value.all = value;
  1493. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1494. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OUTPUT_SYNC_sync] --> 0x%08x\n",
  1495. REG_VO_MIXER0_OUTPUT_SYNC,value);
  1496. #endif
  1497. return tmp_value.bitc.sync;
  1498. }
  1499. GH_INLINE void GH_VO_MIXER0_set_OUTPUT_SYNC_frame(U8 data)
  1500. {
  1501. GH_VO_MIXER0_OUTPUT_SYNC_S d;
  1502. d.all = *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC;
  1503. d.bitc.frame = data;
  1504. *(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC = d.all;
  1505. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1506. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_OUTPUT_SYNC_frame] <-- 0x%08x\n",
  1507. REG_VO_MIXER0_OUTPUT_SYNC,d.all,d.all);
  1508. #endif
  1509. }
  1510. GH_INLINE U8 GH_VO_MIXER0_get_OUTPUT_SYNC_frame(void)
  1511. {
  1512. GH_VO_MIXER0_OUTPUT_SYNC_S tmp_value;
  1513. U32 value = (*(volatile U32 *)REG_VO_MIXER0_OUTPUT_SYNC);
  1514. tmp_value.all = value;
  1515. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1516. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_OUTPUT_SYNC_frame] --> 0x%08x\n",
  1517. REG_VO_MIXER0_OUTPUT_SYNC,value);
  1518. #endif
  1519. return tmp_value.bitc.frame;
  1520. }
  1521. #endif /* GH_INLINE_LEVEL == 0 */
  1522. /*----------------------------------------------------------------------------*/
  1523. /* register VO_MIXER0_SMEM_INPUT (read/write) */
  1524. /*----------------------------------------------------------------------------*/
  1525. #if GH_INLINE_LEVEL == 0
  1526. /*! \brief Writes the register 'VO_MIXER0_SMEM_INPUT'. */
  1527. void GH_VO_MIXER0_set_SMEM_INPUT(U32 data);
  1528. /*! \brief Reads the register 'VO_MIXER0_SMEM_INPUT'. */
  1529. U32 GH_VO_MIXER0_get_SMEM_INPUT(void);
  1530. /*! \brief Writes the bit group 'luma_number' of register 'VO_MIXER0_SMEM_INPUT'. */
  1531. void GH_VO_MIXER0_set_SMEM_INPUT_luma_number(U8 data);
  1532. /*! \brief Reads the bit group 'luma_number' of register 'VO_MIXER0_SMEM_INPUT'. */
  1533. U8 GH_VO_MIXER0_get_SMEM_INPUT_luma_number(void);
  1534. /*! \brief Writes the bit group 'chroma_number' of register 'VO_MIXER0_SMEM_INPUT'. */
  1535. void GH_VO_MIXER0_set_SMEM_INPUT_chroma_number(U8 data);
  1536. /*! \brief Reads the bit group 'chroma_number' of register 'VO_MIXER0_SMEM_INPUT'. */
  1537. U8 GH_VO_MIXER0_get_SMEM_INPUT_chroma_number(void);
  1538. /*! \brief Writes the bit group 'osd_number' of register 'VO_MIXER0_SMEM_INPUT'. */
  1539. void GH_VO_MIXER0_set_SMEM_INPUT_osd_number(U8 data);
  1540. /*! \brief Reads the bit group 'osd_number' of register 'VO_MIXER0_SMEM_INPUT'. */
  1541. U8 GH_VO_MIXER0_get_SMEM_INPUT_osd_number(void);
  1542. /*! \brief Writes the bit group 'priority' of register 'VO_MIXER0_SMEM_INPUT'. */
  1543. void GH_VO_MIXER0_set_SMEM_INPUT_priority(U8 data);
  1544. /*! \brief Reads the bit group 'priority' of register 'VO_MIXER0_SMEM_INPUT'. */
  1545. U8 GH_VO_MIXER0_get_SMEM_INPUT_priority(void);
  1546. /*! \brief Writes the bit group 'video_length' of register 'VO_MIXER0_SMEM_INPUT'. */
  1547. void GH_VO_MIXER0_set_SMEM_INPUT_video_length(U8 data);
  1548. /*! \brief Reads the bit group 'video_length' of register 'VO_MIXER0_SMEM_INPUT'. */
  1549. U8 GH_VO_MIXER0_get_SMEM_INPUT_video_length(void);
  1550. /*! \brief Writes the bit group 'osd_length' of register 'VO_MIXER0_SMEM_INPUT'. */
  1551. void GH_VO_MIXER0_set_SMEM_INPUT_osd_length(U8 data);
  1552. /*! \brief Reads the bit group 'osd_length' of register 'VO_MIXER0_SMEM_INPUT'. */
  1553. U8 GH_VO_MIXER0_get_SMEM_INPUT_osd_length(void);
  1554. #else /* GH_INLINE_LEVEL == 0 */
  1555. GH_INLINE void GH_VO_MIXER0_set_SMEM_INPUT(U32 data)
  1556. {
  1557. *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT = data;
  1558. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1559. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_INPUT] <-- 0x%08x\n",
  1560. REG_VO_MIXER0_SMEM_INPUT,data,data);
  1561. #endif
  1562. }
  1563. GH_INLINE U32 GH_VO_MIXER0_get_SMEM_INPUT(void)
  1564. {
  1565. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT);
  1566. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1567. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_INPUT] --> 0x%08x\n",
  1568. REG_VO_MIXER0_SMEM_INPUT,value);
  1569. #endif
  1570. return value;
  1571. }
  1572. GH_INLINE void GH_VO_MIXER0_set_SMEM_INPUT_luma_number(U8 data)
  1573. {
  1574. GH_VO_MIXER0_SMEM_INPUT_S d;
  1575. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT;
  1576. d.bitc.luma_number = data;
  1577. *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT = d.all;
  1578. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1579. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_INPUT_luma_number] <-- 0x%08x\n",
  1580. REG_VO_MIXER0_SMEM_INPUT,d.all,d.all);
  1581. #endif
  1582. }
  1583. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_INPUT_luma_number(void)
  1584. {
  1585. GH_VO_MIXER0_SMEM_INPUT_S tmp_value;
  1586. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT);
  1587. tmp_value.all = value;
  1588. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1589. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_INPUT_luma_number] --> 0x%08x\n",
  1590. REG_VO_MIXER0_SMEM_INPUT,value);
  1591. #endif
  1592. return tmp_value.bitc.luma_number;
  1593. }
  1594. GH_INLINE void GH_VO_MIXER0_set_SMEM_INPUT_chroma_number(U8 data)
  1595. {
  1596. GH_VO_MIXER0_SMEM_INPUT_S d;
  1597. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT;
  1598. d.bitc.chroma_number = data;
  1599. *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT = d.all;
  1600. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1601. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_INPUT_chroma_number] <-- 0x%08x\n",
  1602. REG_VO_MIXER0_SMEM_INPUT,d.all,d.all);
  1603. #endif
  1604. }
  1605. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_INPUT_chroma_number(void)
  1606. {
  1607. GH_VO_MIXER0_SMEM_INPUT_S tmp_value;
  1608. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT);
  1609. tmp_value.all = value;
  1610. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1611. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_INPUT_chroma_number] --> 0x%08x\n",
  1612. REG_VO_MIXER0_SMEM_INPUT,value);
  1613. #endif
  1614. return tmp_value.bitc.chroma_number;
  1615. }
  1616. GH_INLINE void GH_VO_MIXER0_set_SMEM_INPUT_osd_number(U8 data)
  1617. {
  1618. GH_VO_MIXER0_SMEM_INPUT_S d;
  1619. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT;
  1620. d.bitc.osd_number = data;
  1621. *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT = d.all;
  1622. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1623. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_INPUT_osd_number] <-- 0x%08x\n",
  1624. REG_VO_MIXER0_SMEM_INPUT,d.all,d.all);
  1625. #endif
  1626. }
  1627. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_INPUT_osd_number(void)
  1628. {
  1629. GH_VO_MIXER0_SMEM_INPUT_S tmp_value;
  1630. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT);
  1631. tmp_value.all = value;
  1632. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1633. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_INPUT_osd_number] --> 0x%08x\n",
  1634. REG_VO_MIXER0_SMEM_INPUT,value);
  1635. #endif
  1636. return tmp_value.bitc.osd_number;
  1637. }
  1638. GH_INLINE void GH_VO_MIXER0_set_SMEM_INPUT_priority(U8 data)
  1639. {
  1640. GH_VO_MIXER0_SMEM_INPUT_S d;
  1641. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT;
  1642. d.bitc.priority = data;
  1643. *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT = d.all;
  1644. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1645. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_INPUT_priority] <-- 0x%08x\n",
  1646. REG_VO_MIXER0_SMEM_INPUT,d.all,d.all);
  1647. #endif
  1648. }
  1649. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_INPUT_priority(void)
  1650. {
  1651. GH_VO_MIXER0_SMEM_INPUT_S tmp_value;
  1652. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT);
  1653. tmp_value.all = value;
  1654. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1655. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_INPUT_priority] --> 0x%08x\n",
  1656. REG_VO_MIXER0_SMEM_INPUT,value);
  1657. #endif
  1658. return tmp_value.bitc.priority;
  1659. }
  1660. GH_INLINE void GH_VO_MIXER0_set_SMEM_INPUT_video_length(U8 data)
  1661. {
  1662. GH_VO_MIXER0_SMEM_INPUT_S d;
  1663. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT;
  1664. d.bitc.video_length = data;
  1665. *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT = d.all;
  1666. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1667. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_INPUT_video_length] <-- 0x%08x\n",
  1668. REG_VO_MIXER0_SMEM_INPUT,d.all,d.all);
  1669. #endif
  1670. }
  1671. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_INPUT_video_length(void)
  1672. {
  1673. GH_VO_MIXER0_SMEM_INPUT_S tmp_value;
  1674. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT);
  1675. tmp_value.all = value;
  1676. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1677. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_INPUT_video_length] --> 0x%08x\n",
  1678. REG_VO_MIXER0_SMEM_INPUT,value);
  1679. #endif
  1680. return tmp_value.bitc.video_length;
  1681. }
  1682. GH_INLINE void GH_VO_MIXER0_set_SMEM_INPUT_osd_length(U8 data)
  1683. {
  1684. GH_VO_MIXER0_SMEM_INPUT_S d;
  1685. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT;
  1686. d.bitc.osd_length = data;
  1687. *(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT = d.all;
  1688. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1689. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_INPUT_osd_length] <-- 0x%08x\n",
  1690. REG_VO_MIXER0_SMEM_INPUT,d.all,d.all);
  1691. #endif
  1692. }
  1693. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_INPUT_osd_length(void)
  1694. {
  1695. GH_VO_MIXER0_SMEM_INPUT_S tmp_value;
  1696. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_INPUT);
  1697. tmp_value.all = value;
  1698. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1699. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_INPUT_osd_length] --> 0x%08x\n",
  1700. REG_VO_MIXER0_SMEM_INPUT,value);
  1701. #endif
  1702. return tmp_value.bitc.osd_length;
  1703. }
  1704. #endif /* GH_INLINE_LEVEL == 0 */
  1705. /*----------------------------------------------------------------------------*/
  1706. /* register VO_MIXER0_SMEM_OUT (read/write) */
  1707. /*----------------------------------------------------------------------------*/
  1708. #if GH_INLINE_LEVEL == 0
  1709. /*! \brief Writes the register 'VO_MIXER0_SMEM_OUT'. */
  1710. void GH_VO_MIXER0_set_SMEM_OUT(U32 data);
  1711. /*! \brief Reads the register 'VO_MIXER0_SMEM_OUT'. */
  1712. U32 GH_VO_MIXER0_get_SMEM_OUT(void);
  1713. /*! \brief Writes the bit group 'luma_number' of register 'VO_MIXER0_SMEM_OUT'. */
  1714. void GH_VO_MIXER0_set_SMEM_OUT_luma_number(U8 data);
  1715. /*! \brief Reads the bit group 'luma_number' of register 'VO_MIXER0_SMEM_OUT'. */
  1716. U8 GH_VO_MIXER0_get_SMEM_OUT_luma_number(void);
  1717. /*! \brief Writes the bit group 'chroma_number' of register 'VO_MIXER0_SMEM_OUT'. */
  1718. void GH_VO_MIXER0_set_SMEM_OUT_chroma_number(U8 data);
  1719. /*! \brief Reads the bit group 'chroma_number' of register 'VO_MIXER0_SMEM_OUT'. */
  1720. U8 GH_VO_MIXER0_get_SMEM_OUT_chroma_number(void);
  1721. /*! \brief Writes the bit group 'priority' of register 'VO_MIXER0_SMEM_OUT'. */
  1722. void GH_VO_MIXER0_set_SMEM_OUT_priority(U8 data);
  1723. /*! \brief Reads the bit group 'priority' of register 'VO_MIXER0_SMEM_OUT'. */
  1724. U8 GH_VO_MIXER0_get_SMEM_OUT_priority(void);
  1725. #else /* GH_INLINE_LEVEL == 0 */
  1726. GH_INLINE void GH_VO_MIXER0_set_SMEM_OUT(U32 data)
  1727. {
  1728. *(volatile U32 *)REG_VO_MIXER0_SMEM_OUT = data;
  1729. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1730. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_OUT] <-- 0x%08x\n",
  1731. REG_VO_MIXER0_SMEM_OUT,data,data);
  1732. #endif
  1733. }
  1734. GH_INLINE U32 GH_VO_MIXER0_get_SMEM_OUT(void)
  1735. {
  1736. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_OUT);
  1737. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1738. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_OUT] --> 0x%08x\n",
  1739. REG_VO_MIXER0_SMEM_OUT,value);
  1740. #endif
  1741. return value;
  1742. }
  1743. GH_INLINE void GH_VO_MIXER0_set_SMEM_OUT_luma_number(U8 data)
  1744. {
  1745. GH_VO_MIXER0_SMEM_OUT_S d;
  1746. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_OUT;
  1747. d.bitc.luma_number = data;
  1748. *(volatile U32 *)REG_VO_MIXER0_SMEM_OUT = d.all;
  1749. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1750. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_OUT_luma_number] <-- 0x%08x\n",
  1751. REG_VO_MIXER0_SMEM_OUT,d.all,d.all);
  1752. #endif
  1753. }
  1754. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_OUT_luma_number(void)
  1755. {
  1756. GH_VO_MIXER0_SMEM_OUT_S tmp_value;
  1757. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_OUT);
  1758. tmp_value.all = value;
  1759. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1760. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_OUT_luma_number] --> 0x%08x\n",
  1761. REG_VO_MIXER0_SMEM_OUT,value);
  1762. #endif
  1763. return tmp_value.bitc.luma_number;
  1764. }
  1765. GH_INLINE void GH_VO_MIXER0_set_SMEM_OUT_chroma_number(U8 data)
  1766. {
  1767. GH_VO_MIXER0_SMEM_OUT_S d;
  1768. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_OUT;
  1769. d.bitc.chroma_number = data;
  1770. *(volatile U32 *)REG_VO_MIXER0_SMEM_OUT = d.all;
  1771. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1772. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_OUT_chroma_number] <-- 0x%08x\n",
  1773. REG_VO_MIXER0_SMEM_OUT,d.all,d.all);
  1774. #endif
  1775. }
  1776. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_OUT_chroma_number(void)
  1777. {
  1778. GH_VO_MIXER0_SMEM_OUT_S tmp_value;
  1779. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_OUT);
  1780. tmp_value.all = value;
  1781. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1782. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_OUT_chroma_number] --> 0x%08x\n",
  1783. REG_VO_MIXER0_SMEM_OUT,value);
  1784. #endif
  1785. return tmp_value.bitc.chroma_number;
  1786. }
  1787. GH_INLINE void GH_VO_MIXER0_set_SMEM_OUT_priority(U8 data)
  1788. {
  1789. GH_VO_MIXER0_SMEM_OUT_S d;
  1790. d.all = *(volatile U32 *)REG_VO_MIXER0_SMEM_OUT;
  1791. d.bitc.priority = data;
  1792. *(volatile U32 *)REG_VO_MIXER0_SMEM_OUT = d.all;
  1793. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1794. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_SMEM_OUT_priority] <-- 0x%08x\n",
  1795. REG_VO_MIXER0_SMEM_OUT,d.all,d.all);
  1796. #endif
  1797. }
  1798. GH_INLINE U8 GH_VO_MIXER0_get_SMEM_OUT_priority(void)
  1799. {
  1800. GH_VO_MIXER0_SMEM_OUT_S tmp_value;
  1801. U32 value = (*(volatile U32 *)REG_VO_MIXER0_SMEM_OUT);
  1802. tmp_value.all = value;
  1803. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1804. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_SMEM_OUT_priority] --> 0x%08x\n",
  1805. REG_VO_MIXER0_SMEM_OUT,value);
  1806. #endif
  1807. return tmp_value.bitc.priority;
  1808. }
  1809. #endif /* GH_INLINE_LEVEL == 0 */
  1810. /*----------------------------------------------------------------------------*/
  1811. /* register VO_MIXER0_FRAME_ENABLE (read/write) */
  1812. /*----------------------------------------------------------------------------*/
  1813. #if GH_INLINE_LEVEL == 0
  1814. /*! \brief Writes the register 'VO_MIXER0_FRAME_ENABLE'. */
  1815. void GH_VO_MIXER0_set_FRAME_ENABLE(U32 data);
  1816. /*! \brief Reads the register 'VO_MIXER0_FRAME_ENABLE'. */
  1817. U32 GH_VO_MIXER0_get_FRAME_ENABLE(void);
  1818. /*! \brief Writes the bit group 'enable' of register 'VO_MIXER0_FRAME_ENABLE'. */
  1819. void GH_VO_MIXER0_set_FRAME_ENABLE_enable(U8 data);
  1820. /*! \brief Reads the bit group 'enable' of register 'VO_MIXER0_FRAME_ENABLE'. */
  1821. U8 GH_VO_MIXER0_get_FRAME_ENABLE_enable(void);
  1822. #else /* GH_INLINE_LEVEL == 0 */
  1823. GH_INLINE void GH_VO_MIXER0_set_FRAME_ENABLE(U32 data)
  1824. {
  1825. *(volatile U32 *)REG_VO_MIXER0_FRAME_ENABLE = data;
  1826. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1827. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_FRAME_ENABLE] <-- 0x%08x\n",
  1828. REG_VO_MIXER0_FRAME_ENABLE,data,data);
  1829. #endif
  1830. }
  1831. GH_INLINE U32 GH_VO_MIXER0_get_FRAME_ENABLE(void)
  1832. {
  1833. U32 value = (*(volatile U32 *)REG_VO_MIXER0_FRAME_ENABLE);
  1834. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1835. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_FRAME_ENABLE] --> 0x%08x\n",
  1836. REG_VO_MIXER0_FRAME_ENABLE,value);
  1837. #endif
  1838. return value;
  1839. }
  1840. GH_INLINE void GH_VO_MIXER0_set_FRAME_ENABLE_enable(U8 data)
  1841. {
  1842. GH_VO_MIXER0_FRAME_ENABLE_S d;
  1843. d.all = *(volatile U32 *)REG_VO_MIXER0_FRAME_ENABLE;
  1844. d.bitc.enable = data;
  1845. *(volatile U32 *)REG_VO_MIXER0_FRAME_ENABLE = d.all;
  1846. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1847. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_FRAME_ENABLE_enable] <-- 0x%08x\n",
  1848. REG_VO_MIXER0_FRAME_ENABLE,d.all,d.all);
  1849. #endif
  1850. }
  1851. GH_INLINE U8 GH_VO_MIXER0_get_FRAME_ENABLE_enable(void)
  1852. {
  1853. GH_VO_MIXER0_FRAME_ENABLE_S tmp_value;
  1854. U32 value = (*(volatile U32 *)REG_VO_MIXER0_FRAME_ENABLE);
  1855. tmp_value.all = value;
  1856. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1857. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_FRAME_ENABLE_enable] --> 0x%08x\n",
  1858. REG_VO_MIXER0_FRAME_ENABLE,value);
  1859. #endif
  1860. return tmp_value.bitc.enable;
  1861. }
  1862. #endif /* GH_INLINE_LEVEL == 0 */
  1863. /*----------------------------------------------------------------------------*/
  1864. /* register VO_MIXER0_CLUT_A (read/write) */
  1865. /*----------------------------------------------------------------------------*/
  1866. #if GH_INLINE_LEVEL == 0
  1867. /*! \brief Writes the register 'VO_MIXER0_CLUT_A'. */
  1868. void GH_VO_MIXER0_set_CLUT_A(U16 index, U32 data);
  1869. /*! \brief Reads the register 'VO_MIXER0_CLUT_A'. */
  1870. U32 GH_VO_MIXER0_get_CLUT_A(U16 index);
  1871. #else /* GH_INLINE_LEVEL == 0 */
  1872. GH_INLINE void GH_VO_MIXER0_set_CLUT_A(U16 index, U32 data)
  1873. {
  1874. *(volatile U32 *)(REG_VO_MIXER0_CLUT_A + index * FIO_MOFFSET(VO_MIXER0,0x00000004)) = data;
  1875. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1876. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_VO_MIXER0_set_CLUT_A] <-- 0x%08x\n",
  1877. (REG_VO_MIXER0_CLUT_A + index * FIO_MOFFSET(VO_MIXER0,0x00000004)),data,data);
  1878. #endif
  1879. }
  1880. GH_INLINE U32 GH_VO_MIXER0_get_CLUT_A(U16 index)
  1881. {
  1882. U32 value = (*(volatile U32 *)(REG_VO_MIXER0_CLUT_A + index * FIO_MOFFSET(VO_MIXER0,0x00000004)));
  1883. #if GH_VO_MIXER0_ENABLE_DEBUG_PRINT
  1884. GH_VO_MIXER0_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_VO_MIXER0_get_CLUT_A] --> 0x%08x\n",
  1885. (REG_VO_MIXER0_CLUT_A + index * FIO_MOFFSET(VO_MIXER0,0x00000004)),value);
  1886. #endif
  1887. return value;
  1888. }
  1889. #endif /* GH_INLINE_LEVEL == 0 */
  1890. /*----------------------------------------------------------------------------*/
  1891. /* init function */
  1892. /*----------------------------------------------------------------------------*/
  1893. /*! \brief Initialises the registers and mirror variables. */
  1894. void GH_VO_MIXER0_init(void);
  1895. #ifdef __cplusplus
  1896. }
  1897. #endif
  1898. #endif /* _GH_VO_MIXER0_H */
  1899. /*----------------------------------------------------------------------------*/
  1900. /* end of file */
  1901. /*----------------------------------------------------------------------------*/