gh_i2s.h 88 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162116311641165116611671168116911701171117211731174117511761177117811791180118111821183118411851186118711881189119011911192119311941195119611971198119912001201120212031204120512061207120812091210121112121213121412151216121712181219122012211222122312241225122612271228122912301231123212331234123512361237123812391240124112421243124412451246124712481249125012511252125312541255125612571258125912601261126212631264126512661267126812691270127112721273127412751276127712781279128012811282128312841285128612871288128912901291129212931294129512961297129812991300130113021303130413051306130713081309131013111312131313141315131613171318131913201321132213231324132513261327132813291330133113321333133413351336133713381339134013411342134313441345134613471348134913501351135213531354135513561357135813591360136113621363136413651366136713681369137013711372137313741375137613771378137913801381138213831384138513861387138813891390139113921393139413951396139713981399140014011402140314041405140614071408140914101411141214131414141514161417141814191420142114221423142414251426142714281429143014311432143314341435143614371438143914401441144214431444144514461447144814491450145114521453145414551456145714581459146014611462146314641465146614671468146914701471147214731474147514761477147814791480148114821483148414851486148714881489149014911492149314941495149614971498149915001501150215031504150515061507150815091510151115121513151415151516151715181519152015211522152315241525152615271528152915301531153215331534153515361537153815391540154115421543154415451546154715481549155015511552155315541555155615571558155915601561156215631564156515661567156815691570157115721573157415751576157715781579158015811582158315841585158615871588158915901591159215931594159515961597159815991600160116021603160416051606160716081609161016111612161316141615161616171618161916201621162216231624162516261627162816291630163116321633163416351636163716381639164016411642164316441645164616471648164916501651165216531654165516561657165816591660166116621663166416651666166716681669167016711672167316741675167616771678167916801681168216831684168516861687168816891690169116921693169416951696169716981699170017011702170317041705170617071708170917101711171217131714171517161717171817191720172117221723172417251726172717281729173017311732173317341735173617371738173917401741174217431744174517461747174817491750175117521753175417551756175717581759176017611762176317641765176617671768176917701771177217731774177517761777177817791780178117821783178417851786178717881789179017911792179317941795179617971798179918001801180218031804180518061807180818091810181118121813181418151816181718181819182018211822182318241825182618271828182918301831183218331834183518361837183818391840184118421843184418451846184718481849185018511852185318541855185618571858185918601861186218631864186518661867186818691870187118721873187418751876187718781879188018811882188318841885188618871888188918901891189218931894189518961897189818991900190119021903190419051906190719081909191019111912191319141915191619171918191919201921192219231924192519261927192819291930193119321933193419351936193719381939194019411942194319441945194619471948194919501951195219531954195519561957195819591960196119621963196419651966196719681969197019711972197319741975197619771978197919801981198219831984198519861987198819891990199119921993199419951996199719981999200020012002200320042005200620072008200920102011201220132014201520162017201820192020202120222023202420252026202720282029203020312032203320342035203620372038203920402041204220432044204520462047204820492050205120522053205420552056205720582059206020612062206320642065206620672068206920702071207220732074207520762077207820792080208120822083208420852086208720882089209020912092209320942095209620972098209921002101210221032104210521062107210821092110211121122113211421152116211721182119212021212122212321242125212621272128212921302131213221332134213521362137213821392140214121422143214421452146214721482149215021512152215321542155215621572158215921602161216221632164216521662167216821692170217121722173217421752176217721782179218021812182218321842185218621872188218921902191219221932194219521962197219821992200220122022203220422052206220722082209221022112212221322142215221622172218221922202221222222232224222522262227222822292230223122322233223422352236223722382239224022412242224322442245224622472248224922502251225222532254225522562257225822592260226122622263226422652266226722682269227022712272227322742275227622772278227922802281228222832284228522862287228822892290229122922293229422952296229722982299230023012302230323042305230623072308230923102311231223132314231523162317231823192320232123222323232423252326232723282329233023312332233323342335233623372338233923402341234223432344234523462347234823492350235123522353235423552356235723582359236023612362236323642365236623672368236923702371237223732374237523762377237823792380238123822383238423852386238723882389239023912392239323942395239623972398239924002401240224032404240524062407240824092410241124122413241424152416241724182419242024212422242324242425242624272428242924302431243224332434243524362437243824392440244124422443244424452446244724482449245024512452245324542455245624572458245924602461
  1. /*!
  2. *******************************************************************************
  3. **
  4. ** \file gh_i2s.h
  5. **
  6. ** \brief I2S Interface..
  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_I2S_H
  18. #define _GH_I2S_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_I2S_ENABLE_DEBUG_PRINT 0
  30. #ifdef __LINUX__
  31. #define GH_I2S_DEBUG_PRINT_FUNCTION printk
  32. #else
  33. #define GH_I2S_DEBUG_PRINT_FUNCTION printf
  34. #endif
  35. #ifndef __LINUX__
  36. #if GH_I2S_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_I2S_CLOCK FIO_ADDRESS(I2S,0x9000A000) /* read/write */
  59. #define REG_I2S_CHANSLECT FIO_ADDRESS(I2S,0x9000A004) /* read/write */
  60. #define REG_I2S_MODE FIO_ADDRESS(I2S,0x9000A008) /* read/write */
  61. #define REG_I2S_TXCONTR FIO_ADDRESS(I2S,0x9000A00C) /* read/write */
  62. #define REG_I2S_TXFIFOLTH FIO_ADDRESS(I2S,0x9000A010) /* read/write */
  63. #define REG_I2S_TXFIFOFLAG FIO_ADDRESS(I2S,0x9000A014) /* read */
  64. #define REG_I2S_TXFIFCNTR FIO_ADDRESS(I2S,0x9000A018) /* read */
  65. #define REG_I2S_TXLEFTDATA FIO_ADDRESS(I2S,0x9000A01C) /* write */
  66. #define REG_I2S_TXRIGHTDATA FIO_ADDRESS(I2S,0x9000A020) /* write */
  67. #define REG_I2S_TXINTENREG FIO_ADDRESS(I2S,0x9000A024) /* read/write */
  68. #define REG_I2S_MULTIPMODE FIO_ADDRESS(I2S,0x9000A028) /* read/write */
  69. #define REG_I2S_RXCONTR FIO_ADDRESS(I2S,0x9000A02C) /* read/write */
  70. #define REG_I2S_RXDATA FIO_ADDRESS(I2S,0x9000A030) /* read */
  71. #define REG_I2S_RXFIFCNTR FIO_ADDRESS(I2S,0x9000A034) /* read */
  72. #define REG_I2S_RXINTENREG FIO_ADDRESS(I2S,0x9000A038) /* read/write */
  73. #define REG_I2S_RXFIFOGTH FIO_ADDRESS(I2S,0x9000A03C) /* read/write */
  74. #define REG_I2S_RXECHO FIO_ADDRESS(I2S,0x9000A040) /* read/write */
  75. #define REG_I2S_WPREG FIO_ADDRESS(I2S,0x9000A044) /* read/write */
  76. #define REG_I2S_SHIFT FIO_ADDRESS(I2S,0x9000A048) /* read/write */
  77. #define REG_I2S_INITREG FIO_ADDRESS(I2S,0x9000A04C) /* read/write */
  78. #define REG_I2S_SLOTREG FIO_ADDRESS(I2S,0x9000A050) /* read/write */
  79. #define REG_I2S_RXFIFOFLAG FIO_ADDRESS(I2S,0x9000A054) /* read */
  80. #define REG_I2S_WLREG FIO_ADDRESS(I2S,0x9000A058) /* read/write */
  81. #define REG_I2S_RX_DMA FIO_ADDRESS(I2S,0x9000A080) /* read */
  82. #define REG_I2S_TX_LEFT_DMA FIO_ADDRESS(I2S,0x9000A0C0) /* read */
  83. /*----------------------------------------------------------------------------*/
  84. /* bit group structures */
  85. /*----------------------------------------------------------------------------*/
  86. typedef union { /* I2S_Clock */
  87. U32 all;
  88. struct {
  89. U32 clk_div : 5;
  90. U32 soe : 1;
  91. U32 rsp : 1;
  92. U32 woe : 1;
  93. U32 ss : 1;
  94. U32 tsp : 1;
  95. U32 : 22;
  96. } bitc;
  97. } GH_I2S_CLOCK_S;
  98. typedef union { /* I2S_ChanSlect */
  99. U32 all;
  100. struct {
  101. U32 chan : 2;
  102. U32 : 30;
  103. } bitc;
  104. } GH_I2S_CHANSLECT_S;
  105. typedef union { /* I2S_Mode */
  106. U32 all;
  107. struct {
  108. U32 mode : 3;
  109. U32 : 29;
  110. } bitc;
  111. } GH_I2S_MODE_S;
  112. typedef union { /* I2S_TxContr */
  113. U32 all;
  114. struct {
  115. U32 mono : 2;
  116. U32 twi : 1;
  117. U32 order : 1;
  118. U32 unison : 1;
  119. U32 loopback : 1;
  120. U32 twm : 1;
  121. U32 mute : 1;
  122. U32 : 24;
  123. } bitc;
  124. } GH_I2S_TXCONTR_S;
  125. typedef union { /* I2S_TxFifoLth */
  126. U32 all;
  127. struct {
  128. U32 ft : 7;
  129. U32 : 25;
  130. } bitc;
  131. } GH_I2S_TXFIFOLTH_S;
  132. typedef union { /* I2S_TxFifoFlag */
  133. U32 all;
  134. struct {
  135. U32 ftv : 1;
  136. U32 ff : 1;
  137. U32 ti : 1;
  138. U32 : 1;
  139. U32 fe : 1;
  140. U32 : 27;
  141. } bitc;
  142. } GH_I2S_TXFIFOFLAG_S;
  143. typedef union { /* I2S_TxFifCntr */
  144. U32 all;
  145. struct {
  146. U32 num : 7;
  147. U32 : 25;
  148. } bitc;
  149. } GH_I2S_TXFIFCNTR_S;
  150. typedef union { /* I2S_TxLeftData */
  151. U32 all;
  152. struct {
  153. U32 data : 32;
  154. } bitc;
  155. } GH_I2S_TXLEFTDATA_S;
  156. typedef union { /* I2S_TxRightData */
  157. U32 all;
  158. struct {
  159. U32 data : 24;
  160. U32 : 8;
  161. } bitc;
  162. } GH_I2S_TXRIGHTDATA_S;
  163. typedef union { /* I2S_TxIntEnReg */
  164. U32 all;
  165. struct {
  166. U32 ftv : 1;
  167. U32 : 1;
  168. U32 ti : 1;
  169. U32 ff : 1;
  170. U32 fe : 1;
  171. U32 : 27;
  172. } bitc;
  173. } GH_I2S_TXINTENREG_S;
  174. typedef union { /* I2S_MultipMode */
  175. U32 all;
  176. struct {
  177. U32 fdmaen : 1;
  178. U32 rest : 1;
  179. U32 dma : 1;
  180. U32 en : 1;
  181. U32 : 28;
  182. } bitc;
  183. } GH_I2S_MULTIPMODE_S;
  184. typedef union { /* I2S_RxContr */
  185. U32 all;
  186. struct {
  187. U32 order : 1;
  188. U32 rwi : 1;
  189. U32 loopback : 1;
  190. U32 rwm : 1;
  191. U32 : 28;
  192. } bitc;
  193. } GH_I2S_RXCONTR_S;
  194. typedef union { /* I2S_RxData */
  195. U32 all;
  196. struct {
  197. U32 data : 24;
  198. U32 : 8;
  199. } bitc;
  200. } GH_I2S_RXDATA_S;
  201. typedef union { /* I2S_Rxfifcntr */
  202. U32 all;
  203. struct {
  204. U32 num : 8;
  205. U32 : 24;
  206. } bitc;
  207. } GH_I2S_RXFIFCNTR_S;
  208. typedef union { /* I2S_RxIntEnReg */
  209. U32 all;
  210. struct {
  211. U32 fo : 1;
  212. U32 fe : 1;
  213. U32 ftv : 1;
  214. U32 ri : 1;
  215. U32 ff : 1;
  216. U32 : 27;
  217. } bitc;
  218. } GH_I2S_RXINTENREG_S;
  219. typedef union { /* I2S_RxFifoGth */
  220. U32 all;
  221. struct {
  222. U32 ft : 7;
  223. U32 : 25;
  224. } bitc;
  225. } GH_I2S_RXFIFOGTH_S;
  226. typedef union { /* I2S_RxEcho */
  227. U32 all;
  228. struct {
  229. U32 echo : 1;
  230. U32 : 31;
  231. } bitc;
  232. } GH_I2S_RXECHO_S;
  233. typedef union { /* I2S_WPREG */
  234. U32 all;
  235. struct {
  236. U32 ignbit : 5;
  237. U32 : 27;
  238. } bitc;
  239. } GH_I2S_WPREG_S;
  240. typedef union { /* I2S_Shift */
  241. U32 all;
  242. struct {
  243. U32 rx : 1;
  244. U32 tx : 1;
  245. U32 : 30;
  246. } bitc;
  247. } GH_I2S_SHIFT_S;
  248. typedef union { /* I2S_Initreg */
  249. U32 all;
  250. struct {
  251. U32 txfrst : 1;
  252. U32 re : 1;
  253. U32 te : 1;
  254. U32 rxfrst : 1;
  255. U32 frst : 1;
  256. U32 : 27;
  257. } bitc;
  258. } GH_I2S_INITREG_S;
  259. typedef union { /* I2S_SlotReg */
  260. U32 all;
  261. struct {
  262. U32 slotcont : 5;
  263. U32 : 27;
  264. } bitc;
  265. } GH_I2S_SLOTREG_S;
  266. typedef union { /* I2S_RxFifoFlag */
  267. U32 all;
  268. struct {
  269. U32 fo : 1;
  270. U32 fe : 1;
  271. U32 ftv : 1;
  272. U32 ri : 1;
  273. U32 ff : 1;
  274. U32 : 27;
  275. } bitc;
  276. } GH_I2S_RXFIFOFLAG_S;
  277. typedef union { /* I2S_WlReg */
  278. U32 all;
  279. struct {
  280. U32 wlen : 5;
  281. U32 : 27;
  282. } bitc;
  283. } GH_I2S_WLREG_S;
  284. typedef union { /* I2S_Rx_Dma */
  285. U32 all;
  286. struct {
  287. U32 data : 24;
  288. U32 : 8;
  289. } bitc;
  290. } GH_I2S_RX_DMA_S;
  291. typedef union { /* I2S_Tx_Left_Dma */
  292. U32 all;
  293. struct {
  294. U32 data : 32;
  295. } bitc;
  296. } GH_I2S_TX_LEFT_DMA_S;
  297. /*----------------------------------------------------------------------------*/
  298. /* mirror variables */
  299. /*----------------------------------------------------------------------------*/
  300. extern GH_I2S_TXLEFTDATA_S m_i2s_txleftdata;
  301. extern GH_I2S_TXRIGHTDATA_S m_i2s_txrightdata;
  302. #ifdef __cplusplus
  303. extern "C" {
  304. #endif
  305. /*----------------------------------------------------------------------------*/
  306. /* register I2S_Clock (read/write) */
  307. /*----------------------------------------------------------------------------*/
  308. #if GH_INLINE_LEVEL == 0
  309. /*! \brief Writes the register 'I2S_Clock'. */
  310. void GH_I2S_set_Clock(U32 data);
  311. /*! \brief Reads the register 'I2S_Clock'. */
  312. U32 GH_I2S_get_Clock(void);
  313. /*! \brief Writes the bit group 'clk_div' of register 'I2S_Clock'. */
  314. void GH_I2S_set_Clock_clk_div(U8 data);
  315. /*! \brief Reads the bit group 'clk_div' of register 'I2S_Clock'. */
  316. U8 GH_I2S_get_Clock_clk_div(void);
  317. /*! \brief Writes the bit group 'soe' of register 'I2S_Clock'. */
  318. void GH_I2S_set_Clock_soe(U8 data);
  319. /*! \brief Reads the bit group 'soe' of register 'I2S_Clock'. */
  320. U8 GH_I2S_get_Clock_soe(void);
  321. /*! \brief Writes the bit group 'rsp' of register 'I2S_Clock'. */
  322. void GH_I2S_set_Clock_rsp(U8 data);
  323. /*! \brief Reads the bit group 'rsp' of register 'I2S_Clock'. */
  324. U8 GH_I2S_get_Clock_rsp(void);
  325. /*! \brief Writes the bit group 'woe' of register 'I2S_Clock'. */
  326. void GH_I2S_set_Clock_woe(U8 data);
  327. /*! \brief Reads the bit group 'woe' of register 'I2S_Clock'. */
  328. U8 GH_I2S_get_Clock_woe(void);
  329. /*! \brief Writes the bit group 'ss' of register 'I2S_Clock'. */
  330. void GH_I2S_set_Clock_ss(U8 data);
  331. /*! \brief Reads the bit group 'ss' of register 'I2S_Clock'. */
  332. U8 GH_I2S_get_Clock_ss(void);
  333. /*! \brief Writes the bit group 'tsp' of register 'I2S_Clock'. */
  334. void GH_I2S_set_Clock_tsp(U8 data);
  335. /*! \brief Reads the bit group 'tsp' of register 'I2S_Clock'. */
  336. U8 GH_I2S_get_Clock_tsp(void);
  337. #else /* GH_INLINE_LEVEL == 0 */
  338. GH_INLINE void GH_I2S_set_Clock(U32 data)
  339. {
  340. *(volatile U32 *)REG_I2S_CLOCK = data;
  341. #if GH_I2S_ENABLE_DEBUG_PRINT
  342. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Clock] <-- 0x%08x\n",
  343. REG_I2S_CLOCK,data,data);
  344. #endif
  345. }
  346. GH_INLINE U32 GH_I2S_get_Clock(void)
  347. {
  348. U32 value = (*(volatile U32 *)REG_I2S_CLOCK);
  349. #if GH_I2S_ENABLE_DEBUG_PRINT
  350. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Clock] --> 0x%08x\n",
  351. REG_I2S_CLOCK,value);
  352. #endif
  353. return value;
  354. }
  355. GH_INLINE void GH_I2S_set_Clock_clk_div(U8 data)
  356. {
  357. GH_I2S_CLOCK_S d;
  358. d.all = *(volatile U32 *)REG_I2S_CLOCK;
  359. d.bitc.clk_div = data;
  360. *(volatile U32 *)REG_I2S_CLOCK = d.all;
  361. #if GH_I2S_ENABLE_DEBUG_PRINT
  362. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Clock_clk_div] <-- 0x%08x\n",
  363. REG_I2S_CLOCK,d.all,d.all);
  364. #endif
  365. }
  366. GH_INLINE U8 GH_I2S_get_Clock_clk_div(void)
  367. {
  368. GH_I2S_CLOCK_S tmp_value;
  369. U32 value = (*(volatile U32 *)REG_I2S_CLOCK);
  370. tmp_value.all = value;
  371. #if GH_I2S_ENABLE_DEBUG_PRINT
  372. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Clock_clk_div] --> 0x%08x\n",
  373. REG_I2S_CLOCK,value);
  374. #endif
  375. return tmp_value.bitc.clk_div;
  376. }
  377. GH_INLINE void GH_I2S_set_Clock_soe(U8 data)
  378. {
  379. GH_I2S_CLOCK_S d;
  380. d.all = *(volatile U32 *)REG_I2S_CLOCK;
  381. d.bitc.soe = data;
  382. *(volatile U32 *)REG_I2S_CLOCK = d.all;
  383. #if GH_I2S_ENABLE_DEBUG_PRINT
  384. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Clock_soe] <-- 0x%08x\n",
  385. REG_I2S_CLOCK,d.all,d.all);
  386. #endif
  387. }
  388. GH_INLINE U8 GH_I2S_get_Clock_soe(void)
  389. {
  390. GH_I2S_CLOCK_S tmp_value;
  391. U32 value = (*(volatile U32 *)REG_I2S_CLOCK);
  392. tmp_value.all = value;
  393. #if GH_I2S_ENABLE_DEBUG_PRINT
  394. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Clock_soe] --> 0x%08x\n",
  395. REG_I2S_CLOCK,value);
  396. #endif
  397. return tmp_value.bitc.soe;
  398. }
  399. GH_INLINE void GH_I2S_set_Clock_rsp(U8 data)
  400. {
  401. GH_I2S_CLOCK_S d;
  402. d.all = *(volatile U32 *)REG_I2S_CLOCK;
  403. d.bitc.rsp = data;
  404. *(volatile U32 *)REG_I2S_CLOCK = d.all;
  405. #if GH_I2S_ENABLE_DEBUG_PRINT
  406. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Clock_rsp] <-- 0x%08x\n",
  407. REG_I2S_CLOCK,d.all,d.all);
  408. #endif
  409. }
  410. GH_INLINE U8 GH_I2S_get_Clock_rsp(void)
  411. {
  412. GH_I2S_CLOCK_S tmp_value;
  413. U32 value = (*(volatile U32 *)REG_I2S_CLOCK);
  414. tmp_value.all = value;
  415. #if GH_I2S_ENABLE_DEBUG_PRINT
  416. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Clock_rsp] --> 0x%08x\n",
  417. REG_I2S_CLOCK,value);
  418. #endif
  419. return tmp_value.bitc.rsp;
  420. }
  421. GH_INLINE void GH_I2S_set_Clock_woe(U8 data)
  422. {
  423. GH_I2S_CLOCK_S d;
  424. d.all = *(volatile U32 *)REG_I2S_CLOCK;
  425. d.bitc.woe = data;
  426. *(volatile U32 *)REG_I2S_CLOCK = d.all;
  427. #if GH_I2S_ENABLE_DEBUG_PRINT
  428. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Clock_woe] <-- 0x%08x\n",
  429. REG_I2S_CLOCK,d.all,d.all);
  430. #endif
  431. }
  432. GH_INLINE U8 GH_I2S_get_Clock_woe(void)
  433. {
  434. GH_I2S_CLOCK_S tmp_value;
  435. U32 value = (*(volatile U32 *)REG_I2S_CLOCK);
  436. tmp_value.all = value;
  437. #if GH_I2S_ENABLE_DEBUG_PRINT
  438. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Clock_woe] --> 0x%08x\n",
  439. REG_I2S_CLOCK,value);
  440. #endif
  441. return tmp_value.bitc.woe;
  442. }
  443. GH_INLINE void GH_I2S_set_Clock_ss(U8 data)
  444. {
  445. GH_I2S_CLOCK_S d;
  446. d.all = *(volatile U32 *)REG_I2S_CLOCK;
  447. d.bitc.ss = data;
  448. *(volatile U32 *)REG_I2S_CLOCK = d.all;
  449. #if GH_I2S_ENABLE_DEBUG_PRINT
  450. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Clock_ss] <-- 0x%08x\n",
  451. REG_I2S_CLOCK,d.all,d.all);
  452. #endif
  453. }
  454. GH_INLINE U8 GH_I2S_get_Clock_ss(void)
  455. {
  456. GH_I2S_CLOCK_S tmp_value;
  457. U32 value = (*(volatile U32 *)REG_I2S_CLOCK);
  458. tmp_value.all = value;
  459. #if GH_I2S_ENABLE_DEBUG_PRINT
  460. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Clock_ss] --> 0x%08x\n",
  461. REG_I2S_CLOCK,value);
  462. #endif
  463. return tmp_value.bitc.ss;
  464. }
  465. GH_INLINE void GH_I2S_set_Clock_tsp(U8 data)
  466. {
  467. GH_I2S_CLOCK_S d;
  468. d.all = *(volatile U32 *)REG_I2S_CLOCK;
  469. d.bitc.tsp = data;
  470. *(volatile U32 *)REG_I2S_CLOCK = d.all;
  471. #if GH_I2S_ENABLE_DEBUG_PRINT
  472. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Clock_tsp] <-- 0x%08x\n",
  473. REG_I2S_CLOCK,d.all,d.all);
  474. #endif
  475. }
  476. GH_INLINE U8 GH_I2S_get_Clock_tsp(void)
  477. {
  478. GH_I2S_CLOCK_S tmp_value;
  479. U32 value = (*(volatile U32 *)REG_I2S_CLOCK);
  480. tmp_value.all = value;
  481. #if GH_I2S_ENABLE_DEBUG_PRINT
  482. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Clock_tsp] --> 0x%08x\n",
  483. REG_I2S_CLOCK,value);
  484. #endif
  485. return tmp_value.bitc.tsp;
  486. }
  487. #endif /* GH_INLINE_LEVEL == 0 */
  488. /*----------------------------------------------------------------------------*/
  489. /* register I2S_ChanSlect (read/write) */
  490. /*----------------------------------------------------------------------------*/
  491. #if GH_INLINE_LEVEL == 0
  492. /*! \brief Writes the register 'I2S_ChanSlect'. */
  493. void GH_I2S_set_ChanSlect(U32 data);
  494. /*! \brief Reads the register 'I2S_ChanSlect'. */
  495. U32 GH_I2S_get_ChanSlect(void);
  496. /*! \brief Writes the bit group 'chan' of register 'I2S_ChanSlect'. */
  497. void GH_I2S_set_ChanSlect_chan(U8 data);
  498. /*! \brief Reads the bit group 'chan' of register 'I2S_ChanSlect'. */
  499. U8 GH_I2S_get_ChanSlect_chan(void);
  500. #else /* GH_INLINE_LEVEL == 0 */
  501. GH_INLINE void GH_I2S_set_ChanSlect(U32 data)
  502. {
  503. *(volatile U32 *)REG_I2S_CHANSLECT = data;
  504. #if GH_I2S_ENABLE_DEBUG_PRINT
  505. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_ChanSlect] <-- 0x%08x\n",
  506. REG_I2S_CHANSLECT,data,data);
  507. #endif
  508. }
  509. GH_INLINE U32 GH_I2S_get_ChanSlect(void)
  510. {
  511. U32 value = (*(volatile U32 *)REG_I2S_CHANSLECT);
  512. #if GH_I2S_ENABLE_DEBUG_PRINT
  513. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_ChanSlect] --> 0x%08x\n",
  514. REG_I2S_CHANSLECT,value);
  515. #endif
  516. return value;
  517. }
  518. GH_INLINE void GH_I2S_set_ChanSlect_chan(U8 data)
  519. {
  520. GH_I2S_CHANSLECT_S d;
  521. d.all = *(volatile U32 *)REG_I2S_CHANSLECT;
  522. d.bitc.chan = data;
  523. *(volatile U32 *)REG_I2S_CHANSLECT = d.all;
  524. #if GH_I2S_ENABLE_DEBUG_PRINT
  525. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_ChanSlect_chan] <-- 0x%08x\n",
  526. REG_I2S_CHANSLECT,d.all,d.all);
  527. #endif
  528. }
  529. GH_INLINE U8 GH_I2S_get_ChanSlect_chan(void)
  530. {
  531. GH_I2S_CHANSLECT_S tmp_value;
  532. U32 value = (*(volatile U32 *)REG_I2S_CHANSLECT);
  533. tmp_value.all = value;
  534. #if GH_I2S_ENABLE_DEBUG_PRINT
  535. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_ChanSlect_chan] --> 0x%08x\n",
  536. REG_I2S_CHANSLECT,value);
  537. #endif
  538. return tmp_value.bitc.chan;
  539. }
  540. #endif /* GH_INLINE_LEVEL == 0 */
  541. /*----------------------------------------------------------------------------*/
  542. /* register I2S_Mode (read/write) */
  543. /*----------------------------------------------------------------------------*/
  544. #if GH_INLINE_LEVEL == 0
  545. /*! \brief Writes the register 'I2S_Mode'. */
  546. void GH_I2S_set_Mode(U32 data);
  547. /*! \brief Reads the register 'I2S_Mode'. */
  548. U32 GH_I2S_get_Mode(void);
  549. /*! \brief Writes the bit group 'MODE' of register 'I2S_Mode'. */
  550. void GH_I2S_set_Mode_MODE(U8 data);
  551. /*! \brief Reads the bit group 'MODE' of register 'I2S_Mode'. */
  552. U8 GH_I2S_get_Mode_MODE(void);
  553. #else /* GH_INLINE_LEVEL == 0 */
  554. GH_INLINE void GH_I2S_set_Mode(U32 data)
  555. {
  556. *(volatile U32 *)REG_I2S_MODE = data;
  557. #if GH_I2S_ENABLE_DEBUG_PRINT
  558. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Mode] <-- 0x%08x\n",
  559. REG_I2S_MODE,data,data);
  560. #endif
  561. }
  562. GH_INLINE U32 GH_I2S_get_Mode(void)
  563. {
  564. U32 value = (*(volatile U32 *)REG_I2S_MODE);
  565. #if GH_I2S_ENABLE_DEBUG_PRINT
  566. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Mode] --> 0x%08x\n",
  567. REG_I2S_MODE,value);
  568. #endif
  569. return value;
  570. }
  571. GH_INLINE void GH_I2S_set_Mode_MODE(U8 data)
  572. {
  573. GH_I2S_MODE_S d;
  574. d.all = *(volatile U32 *)REG_I2S_MODE;
  575. d.bitc.mode = data;
  576. *(volatile U32 *)REG_I2S_MODE = d.all;
  577. #if GH_I2S_ENABLE_DEBUG_PRINT
  578. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Mode_MODE] <-- 0x%08x\n",
  579. REG_I2S_MODE,d.all,d.all);
  580. #endif
  581. }
  582. GH_INLINE U8 GH_I2S_get_Mode_MODE(void)
  583. {
  584. GH_I2S_MODE_S tmp_value;
  585. U32 value = (*(volatile U32 *)REG_I2S_MODE);
  586. tmp_value.all = value;
  587. #if GH_I2S_ENABLE_DEBUG_PRINT
  588. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Mode_MODE] --> 0x%08x\n",
  589. REG_I2S_MODE,value);
  590. #endif
  591. return tmp_value.bitc.mode;
  592. }
  593. #endif /* GH_INLINE_LEVEL == 0 */
  594. /*----------------------------------------------------------------------------*/
  595. /* register I2S_TxContr (read/write) */
  596. /*----------------------------------------------------------------------------*/
  597. #if GH_INLINE_LEVEL == 0
  598. /*! \brief Writes the register 'I2S_TxContr'. */
  599. void GH_I2S_set_TxContr(U32 data);
  600. /*! \brief Reads the register 'I2S_TxContr'. */
  601. U32 GH_I2S_get_TxContr(void);
  602. /*! \brief Writes the bit group 'mono' of register 'I2S_TxContr'. */
  603. void GH_I2S_set_TxContr_mono(U8 data);
  604. /*! \brief Reads the bit group 'mono' of register 'I2S_TxContr'. */
  605. U8 GH_I2S_get_TxContr_mono(void);
  606. /*! \brief Writes the bit group 'twi' of register 'I2S_TxContr'. */
  607. void GH_I2S_set_TxContr_twi(U8 data);
  608. /*! \brief Reads the bit group 'twi' of register 'I2S_TxContr'. */
  609. U8 GH_I2S_get_TxContr_twi(void);
  610. /*! \brief Writes the bit group 'order' of register 'I2S_TxContr'. */
  611. void GH_I2S_set_TxContr_order(U8 data);
  612. /*! \brief Reads the bit group 'order' of register 'I2S_TxContr'. */
  613. U8 GH_I2S_get_TxContr_order(void);
  614. /*! \brief Writes the bit group 'unison' of register 'I2S_TxContr'. */
  615. void GH_I2S_set_TxContr_unison(U8 data);
  616. /*! \brief Reads the bit group 'unison' of register 'I2S_TxContr'. */
  617. U8 GH_I2S_get_TxContr_unison(void);
  618. /*! \brief Writes the bit group 'loopback' of register 'I2S_TxContr'. */
  619. void GH_I2S_set_TxContr_loopback(U8 data);
  620. /*! \brief Reads the bit group 'loopback' of register 'I2S_TxContr'. */
  621. U8 GH_I2S_get_TxContr_loopback(void);
  622. /*! \brief Writes the bit group 'twm' of register 'I2S_TxContr'. */
  623. void GH_I2S_set_TxContr_twm(U8 data);
  624. /*! \brief Reads the bit group 'twm' of register 'I2S_TxContr'. */
  625. U8 GH_I2S_get_TxContr_twm(void);
  626. /*! \brief Writes the bit group 'mute' of register 'I2S_TxContr'. */
  627. void GH_I2S_set_TxContr_mute(U8 data);
  628. /*! \brief Reads the bit group 'mute' of register 'I2S_TxContr'. */
  629. U8 GH_I2S_get_TxContr_mute(void);
  630. #else /* GH_INLINE_LEVEL == 0 */
  631. GH_INLINE void GH_I2S_set_TxContr(U32 data)
  632. {
  633. *(volatile U32 *)REG_I2S_TXCONTR = data;
  634. #if GH_I2S_ENABLE_DEBUG_PRINT
  635. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxContr] <-- 0x%08x\n",
  636. REG_I2S_TXCONTR,data,data);
  637. #endif
  638. }
  639. GH_INLINE U32 GH_I2S_get_TxContr(void)
  640. {
  641. U32 value = (*(volatile U32 *)REG_I2S_TXCONTR);
  642. #if GH_I2S_ENABLE_DEBUG_PRINT
  643. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxContr] --> 0x%08x\n",
  644. REG_I2S_TXCONTR,value);
  645. #endif
  646. return value;
  647. }
  648. GH_INLINE void GH_I2S_set_TxContr_mono(U8 data)
  649. {
  650. GH_I2S_TXCONTR_S d;
  651. d.all = *(volatile U32 *)REG_I2S_TXCONTR;
  652. d.bitc.mono = data;
  653. *(volatile U32 *)REG_I2S_TXCONTR = d.all;
  654. #if GH_I2S_ENABLE_DEBUG_PRINT
  655. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxContr_mono] <-- 0x%08x\n",
  656. REG_I2S_TXCONTR,d.all,d.all);
  657. #endif
  658. }
  659. GH_INLINE U8 GH_I2S_get_TxContr_mono(void)
  660. {
  661. GH_I2S_TXCONTR_S tmp_value;
  662. U32 value = (*(volatile U32 *)REG_I2S_TXCONTR);
  663. tmp_value.all = value;
  664. #if GH_I2S_ENABLE_DEBUG_PRINT
  665. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxContr_mono] --> 0x%08x\n",
  666. REG_I2S_TXCONTR,value);
  667. #endif
  668. return tmp_value.bitc.mono;
  669. }
  670. GH_INLINE void GH_I2S_set_TxContr_twi(U8 data)
  671. {
  672. GH_I2S_TXCONTR_S d;
  673. d.all = *(volatile U32 *)REG_I2S_TXCONTR;
  674. d.bitc.twi = data;
  675. *(volatile U32 *)REG_I2S_TXCONTR = d.all;
  676. #if GH_I2S_ENABLE_DEBUG_PRINT
  677. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxContr_twi] <-- 0x%08x\n",
  678. REG_I2S_TXCONTR,d.all,d.all);
  679. #endif
  680. }
  681. GH_INLINE U8 GH_I2S_get_TxContr_twi(void)
  682. {
  683. GH_I2S_TXCONTR_S tmp_value;
  684. U32 value = (*(volatile U32 *)REG_I2S_TXCONTR);
  685. tmp_value.all = value;
  686. #if GH_I2S_ENABLE_DEBUG_PRINT
  687. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxContr_twi] --> 0x%08x\n",
  688. REG_I2S_TXCONTR,value);
  689. #endif
  690. return tmp_value.bitc.twi;
  691. }
  692. GH_INLINE void GH_I2S_set_TxContr_order(U8 data)
  693. {
  694. GH_I2S_TXCONTR_S d;
  695. d.all = *(volatile U32 *)REG_I2S_TXCONTR;
  696. d.bitc.order = data;
  697. *(volatile U32 *)REG_I2S_TXCONTR = d.all;
  698. #if GH_I2S_ENABLE_DEBUG_PRINT
  699. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxContr_order] <-- 0x%08x\n",
  700. REG_I2S_TXCONTR,d.all,d.all);
  701. #endif
  702. }
  703. GH_INLINE U8 GH_I2S_get_TxContr_order(void)
  704. {
  705. GH_I2S_TXCONTR_S tmp_value;
  706. U32 value = (*(volatile U32 *)REG_I2S_TXCONTR);
  707. tmp_value.all = value;
  708. #if GH_I2S_ENABLE_DEBUG_PRINT
  709. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxContr_order] --> 0x%08x\n",
  710. REG_I2S_TXCONTR,value);
  711. #endif
  712. return tmp_value.bitc.order;
  713. }
  714. GH_INLINE void GH_I2S_set_TxContr_unison(U8 data)
  715. {
  716. GH_I2S_TXCONTR_S d;
  717. d.all = *(volatile U32 *)REG_I2S_TXCONTR;
  718. d.bitc.unison = data;
  719. *(volatile U32 *)REG_I2S_TXCONTR = d.all;
  720. #if GH_I2S_ENABLE_DEBUG_PRINT
  721. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxContr_unison] <-- 0x%08x\n",
  722. REG_I2S_TXCONTR,d.all,d.all);
  723. #endif
  724. }
  725. GH_INLINE U8 GH_I2S_get_TxContr_unison(void)
  726. {
  727. GH_I2S_TXCONTR_S tmp_value;
  728. U32 value = (*(volatile U32 *)REG_I2S_TXCONTR);
  729. tmp_value.all = value;
  730. #if GH_I2S_ENABLE_DEBUG_PRINT
  731. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxContr_unison] --> 0x%08x\n",
  732. REG_I2S_TXCONTR,value);
  733. #endif
  734. return tmp_value.bitc.unison;
  735. }
  736. GH_INLINE void GH_I2S_set_TxContr_loopback(U8 data)
  737. {
  738. GH_I2S_TXCONTR_S d;
  739. d.all = *(volatile U32 *)REG_I2S_TXCONTR;
  740. d.bitc.loopback = data;
  741. *(volatile U32 *)REG_I2S_TXCONTR = d.all;
  742. #if GH_I2S_ENABLE_DEBUG_PRINT
  743. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxContr_loopback] <-- 0x%08x\n",
  744. REG_I2S_TXCONTR,d.all,d.all);
  745. #endif
  746. }
  747. GH_INLINE U8 GH_I2S_get_TxContr_loopback(void)
  748. {
  749. GH_I2S_TXCONTR_S tmp_value;
  750. U32 value = (*(volatile U32 *)REG_I2S_TXCONTR);
  751. tmp_value.all = value;
  752. #if GH_I2S_ENABLE_DEBUG_PRINT
  753. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxContr_loopback] --> 0x%08x\n",
  754. REG_I2S_TXCONTR,value);
  755. #endif
  756. return tmp_value.bitc.loopback;
  757. }
  758. GH_INLINE void GH_I2S_set_TxContr_twm(U8 data)
  759. {
  760. GH_I2S_TXCONTR_S d;
  761. d.all = *(volatile U32 *)REG_I2S_TXCONTR;
  762. d.bitc.twm = data;
  763. *(volatile U32 *)REG_I2S_TXCONTR = d.all;
  764. #if GH_I2S_ENABLE_DEBUG_PRINT
  765. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxContr_twm] <-- 0x%08x\n",
  766. REG_I2S_TXCONTR,d.all,d.all);
  767. #endif
  768. }
  769. GH_INLINE U8 GH_I2S_get_TxContr_twm(void)
  770. {
  771. GH_I2S_TXCONTR_S tmp_value;
  772. U32 value = (*(volatile U32 *)REG_I2S_TXCONTR);
  773. tmp_value.all = value;
  774. #if GH_I2S_ENABLE_DEBUG_PRINT
  775. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxContr_twm] --> 0x%08x\n",
  776. REG_I2S_TXCONTR,value);
  777. #endif
  778. return tmp_value.bitc.twm;
  779. }
  780. GH_INLINE void GH_I2S_set_TxContr_mute(U8 data)
  781. {
  782. GH_I2S_TXCONTR_S d;
  783. d.all = *(volatile U32 *)REG_I2S_TXCONTR;
  784. d.bitc.mute = data;
  785. *(volatile U32 *)REG_I2S_TXCONTR = d.all;
  786. #if GH_I2S_ENABLE_DEBUG_PRINT
  787. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxContr_mute] <-- 0x%08x\n",
  788. REG_I2S_TXCONTR,d.all,d.all);
  789. #endif
  790. }
  791. GH_INLINE U8 GH_I2S_get_TxContr_mute(void)
  792. {
  793. GH_I2S_TXCONTR_S tmp_value;
  794. U32 value = (*(volatile U32 *)REG_I2S_TXCONTR);
  795. tmp_value.all = value;
  796. #if GH_I2S_ENABLE_DEBUG_PRINT
  797. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxContr_mute] --> 0x%08x\n",
  798. REG_I2S_TXCONTR,value);
  799. #endif
  800. return tmp_value.bitc.mute;
  801. }
  802. #endif /* GH_INLINE_LEVEL == 0 */
  803. /*----------------------------------------------------------------------------*/
  804. /* register I2S_TxFifoLth (read/write) */
  805. /*----------------------------------------------------------------------------*/
  806. #if GH_INLINE_LEVEL == 0
  807. /*! \brief Writes the register 'I2S_TxFifoLth'. */
  808. void GH_I2S_set_TxFifoLth(U32 data);
  809. /*! \brief Reads the register 'I2S_TxFifoLth'. */
  810. U32 GH_I2S_get_TxFifoLth(void);
  811. /*! \brief Writes the bit group 'ft' of register 'I2S_TxFifoLth'. */
  812. void GH_I2S_set_TxFifoLth_ft(U8 data);
  813. /*! \brief Reads the bit group 'ft' of register 'I2S_TxFifoLth'. */
  814. U8 GH_I2S_get_TxFifoLth_ft(void);
  815. #else /* GH_INLINE_LEVEL == 0 */
  816. GH_INLINE void GH_I2S_set_TxFifoLth(U32 data)
  817. {
  818. *(volatile U32 *)REG_I2S_TXFIFOLTH = data;
  819. #if GH_I2S_ENABLE_DEBUG_PRINT
  820. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxFifoLth] <-- 0x%08x\n",
  821. REG_I2S_TXFIFOLTH,data,data);
  822. #endif
  823. }
  824. GH_INLINE U32 GH_I2S_get_TxFifoLth(void)
  825. {
  826. U32 value = (*(volatile U32 *)REG_I2S_TXFIFOLTH);
  827. #if GH_I2S_ENABLE_DEBUG_PRINT
  828. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifoLth] --> 0x%08x\n",
  829. REG_I2S_TXFIFOLTH,value);
  830. #endif
  831. return value;
  832. }
  833. GH_INLINE void GH_I2S_set_TxFifoLth_ft(U8 data)
  834. {
  835. GH_I2S_TXFIFOLTH_S d;
  836. d.all = *(volatile U32 *)REG_I2S_TXFIFOLTH;
  837. d.bitc.ft = data;
  838. *(volatile U32 *)REG_I2S_TXFIFOLTH = d.all;
  839. #if GH_I2S_ENABLE_DEBUG_PRINT
  840. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxFifoLth_ft] <-- 0x%08x\n",
  841. REG_I2S_TXFIFOLTH,d.all,d.all);
  842. #endif
  843. }
  844. GH_INLINE U8 GH_I2S_get_TxFifoLth_ft(void)
  845. {
  846. GH_I2S_TXFIFOLTH_S tmp_value;
  847. U32 value = (*(volatile U32 *)REG_I2S_TXFIFOLTH);
  848. tmp_value.all = value;
  849. #if GH_I2S_ENABLE_DEBUG_PRINT
  850. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifoLth_ft] --> 0x%08x\n",
  851. REG_I2S_TXFIFOLTH,value);
  852. #endif
  853. return tmp_value.bitc.ft;
  854. }
  855. #endif /* GH_INLINE_LEVEL == 0 */
  856. /*----------------------------------------------------------------------------*/
  857. /* register I2S_TxFifoFlag (read) */
  858. /*----------------------------------------------------------------------------*/
  859. #if GH_INLINE_LEVEL == 0
  860. /*! \brief Reads the register 'I2S_TxFifoFlag'. */
  861. U32 GH_I2S_get_TxFifoFlag(void);
  862. /*! \brief Reads the bit group 'ftv' of register 'I2S_TxFifoFlag'. */
  863. U8 GH_I2S_get_TxFifoFlag_ftv(void);
  864. /*! \brief Reads the bit group 'ff' of register 'I2S_TxFifoFlag'. */
  865. U8 GH_I2S_get_TxFifoFlag_ff(void);
  866. /*! \brief Reads the bit group 'ti' of register 'I2S_TxFifoFlag'. */
  867. U8 GH_I2S_get_TxFifoFlag_ti(void);
  868. /*! \brief Reads the bit group 'fe' of register 'I2S_TxFifoFlag'. */
  869. U8 GH_I2S_get_TxFifoFlag_fe(void);
  870. #else /* GH_INLINE_LEVEL == 0 */
  871. GH_INLINE U32 GH_I2S_get_TxFifoFlag(void)
  872. {
  873. U32 value = (*(volatile U32 *)REG_I2S_TXFIFOFLAG);
  874. #if GH_I2S_ENABLE_DEBUG_PRINT
  875. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifoFlag] --> 0x%08x\n",
  876. REG_I2S_TXFIFOFLAG,value);
  877. #endif
  878. return value;
  879. }
  880. GH_INLINE U8 GH_I2S_get_TxFifoFlag_ftv(void)
  881. {
  882. GH_I2S_TXFIFOFLAG_S tmp_value;
  883. U32 value = (*(volatile U32 *)REG_I2S_TXFIFOFLAG);
  884. tmp_value.all = value;
  885. #if GH_I2S_ENABLE_DEBUG_PRINT
  886. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifoFlag_ftv] --> 0x%08x\n",
  887. REG_I2S_TXFIFOFLAG,value);
  888. #endif
  889. return tmp_value.bitc.ftv;
  890. }
  891. GH_INLINE U8 GH_I2S_get_TxFifoFlag_ff(void)
  892. {
  893. GH_I2S_TXFIFOFLAG_S tmp_value;
  894. U32 value = (*(volatile U32 *)REG_I2S_TXFIFOFLAG);
  895. tmp_value.all = value;
  896. #if GH_I2S_ENABLE_DEBUG_PRINT
  897. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifoFlag_ff] --> 0x%08x\n",
  898. REG_I2S_TXFIFOFLAG,value);
  899. #endif
  900. return tmp_value.bitc.ff;
  901. }
  902. GH_INLINE U8 GH_I2S_get_TxFifoFlag_ti(void)
  903. {
  904. GH_I2S_TXFIFOFLAG_S tmp_value;
  905. U32 value = (*(volatile U32 *)REG_I2S_TXFIFOFLAG);
  906. tmp_value.all = value;
  907. #if GH_I2S_ENABLE_DEBUG_PRINT
  908. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifoFlag_ti] --> 0x%08x\n",
  909. REG_I2S_TXFIFOFLAG,value);
  910. #endif
  911. return tmp_value.bitc.ti;
  912. }
  913. GH_INLINE U8 GH_I2S_get_TxFifoFlag_fe(void)
  914. {
  915. GH_I2S_TXFIFOFLAG_S tmp_value;
  916. U32 value = (*(volatile U32 *)REG_I2S_TXFIFOFLAG);
  917. tmp_value.all = value;
  918. #if GH_I2S_ENABLE_DEBUG_PRINT
  919. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifoFlag_fe] --> 0x%08x\n",
  920. REG_I2S_TXFIFOFLAG,value);
  921. #endif
  922. return tmp_value.bitc.fe;
  923. }
  924. #endif /* GH_INLINE_LEVEL == 0 */
  925. /*----------------------------------------------------------------------------*/
  926. /* register I2S_TxFifCntr (read) */
  927. /*----------------------------------------------------------------------------*/
  928. #if GH_INLINE_LEVEL == 0
  929. /*! \brief Reads the register 'I2S_TxFifCntr'. */
  930. U32 GH_I2S_get_TxFifCntr(void);
  931. /*! \brief Reads the bit group 'num' of register 'I2S_TxFifCntr'. */
  932. U8 GH_I2S_get_TxFifCntr_num(void);
  933. #else /* GH_INLINE_LEVEL == 0 */
  934. GH_INLINE U32 GH_I2S_get_TxFifCntr(void)
  935. {
  936. U32 value = (*(volatile U32 *)REG_I2S_TXFIFCNTR);
  937. #if GH_I2S_ENABLE_DEBUG_PRINT
  938. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifCntr] --> 0x%08x\n",
  939. REG_I2S_TXFIFCNTR,value);
  940. #endif
  941. return value;
  942. }
  943. GH_INLINE U8 GH_I2S_get_TxFifCntr_num(void)
  944. {
  945. GH_I2S_TXFIFCNTR_S tmp_value;
  946. U32 value = (*(volatile U32 *)REG_I2S_TXFIFCNTR);
  947. tmp_value.all = value;
  948. #if GH_I2S_ENABLE_DEBUG_PRINT
  949. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxFifCntr_num] --> 0x%08x\n",
  950. REG_I2S_TXFIFCNTR,value);
  951. #endif
  952. return tmp_value.bitc.num;
  953. }
  954. #endif /* GH_INLINE_LEVEL == 0 */
  955. /*----------------------------------------------------------------------------*/
  956. /* register I2S_TxLeftData (write) */
  957. /*----------------------------------------------------------------------------*/
  958. #if GH_INLINE_LEVEL < 2
  959. /*! \brief Writes the register 'I2S_TxLeftData'. */
  960. void GH_I2S_set_TxLeftData(U32 data);
  961. /*! \brief Reads the mirror variable of the register 'I2S_TxLeftData'. */
  962. U32 GH_I2S_getm_TxLeftData(void);
  963. /*! \brief Writes the bit group 'data' of register 'I2S_TxLeftData'. */
  964. void GH_I2S_set_TxLeftData_data(U32 data);
  965. /*! \brief Reads the bit group 'data' from the mirror variable of register 'I2S_TxLeftData'. */
  966. U32 GH_I2S_getm_TxLeftData_data(void);
  967. #else /* GH_INLINE_LEVEL < 2 */
  968. GH_INLINE void GH_I2S_set_TxLeftData(U32 data)
  969. {
  970. m_i2s_txleftdata.all = data;
  971. *(volatile U32 *)REG_I2S_TXLEFTDATA = data;
  972. #if GH_I2S_ENABLE_DEBUG_PRINT
  973. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxLeftData] <-- 0x%08x\n",
  974. REG_I2S_TXLEFTDATA,data,data);
  975. #endif
  976. }
  977. GH_INLINE U32 GH_I2S_getm_TxLeftData(void)
  978. {
  979. #if GH_I2S_ENABLE_DEBUG_PRINT
  980. GH_I2S_DEBUG_PRINT_FUNCTION( "[GH_I2S_getm_TxLeftData] --> 0x%08x\n",
  981. m_i2s_txleftdata.all);
  982. #endif
  983. return m_i2s_txleftdata.all;
  984. }
  985. GH_INLINE void GH_I2S_set_TxLeftData_data(U32 data)
  986. {
  987. m_i2s_txleftdata.bitc.data = data;
  988. *(volatile U32 *)REG_I2S_TXLEFTDATA = m_i2s_txleftdata.all;
  989. #if GH_I2S_ENABLE_DEBUG_PRINT
  990. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxLeftData_data] <-- 0x%08x\n",
  991. REG_I2S_TXLEFTDATA,m_i2s_txleftdata.all,m_i2s_txleftdata.all);
  992. #endif
  993. }
  994. GH_INLINE U32 GH_I2S_getm_TxLeftData_data(void)
  995. {
  996. #if GH_I2S_ENABLE_DEBUG_PRINT
  997. GH_I2S_DEBUG_PRINT_FUNCTION( "[GH_I2S_getm_TxLeftData_data] --> 0x%08x\n",
  998. m_i2s_txleftdata.bitc.data);
  999. #endif
  1000. return m_i2s_txleftdata.bitc.data;
  1001. }
  1002. #endif /* GH_INLINE_LEVEL < 2 */
  1003. /*----------------------------------------------------------------------------*/
  1004. /* register I2S_TxRightData (write) */
  1005. /*----------------------------------------------------------------------------*/
  1006. #if GH_INLINE_LEVEL < 2
  1007. /*! \brief Writes the register 'I2S_TxRightData'. */
  1008. void GH_I2S_set_TxRightData(U32 data);
  1009. /*! \brief Reads the mirror variable of the register 'I2S_TxRightData'. */
  1010. U32 GH_I2S_getm_TxRightData(void);
  1011. /*! \brief Writes the bit group 'data' of register 'I2S_TxRightData'. */
  1012. void GH_I2S_set_TxRightData_data(U32 data);
  1013. /*! \brief Reads the bit group 'data' from the mirror variable of register 'I2S_TxRightData'. */
  1014. U32 GH_I2S_getm_TxRightData_data(void);
  1015. #else /* GH_INLINE_LEVEL < 2 */
  1016. GH_INLINE void GH_I2S_set_TxRightData(U32 data)
  1017. {
  1018. m_i2s_txrightdata.all = data;
  1019. *(volatile U32 *)REG_I2S_TXRIGHTDATA = data;
  1020. #if GH_I2S_ENABLE_DEBUG_PRINT
  1021. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxRightData] <-- 0x%08x\n",
  1022. REG_I2S_TXRIGHTDATA,data,data);
  1023. #endif
  1024. }
  1025. GH_INLINE U32 GH_I2S_getm_TxRightData(void)
  1026. {
  1027. #if GH_I2S_ENABLE_DEBUG_PRINT
  1028. GH_I2S_DEBUG_PRINT_FUNCTION( "[GH_I2S_getm_TxRightData] --> 0x%08x\n",
  1029. m_i2s_txrightdata.all);
  1030. #endif
  1031. return m_i2s_txrightdata.all;
  1032. }
  1033. GH_INLINE void GH_I2S_set_TxRightData_data(U32 data)
  1034. {
  1035. m_i2s_txrightdata.bitc.data = data;
  1036. *(volatile U32 *)REG_I2S_TXRIGHTDATA = m_i2s_txrightdata.all;
  1037. #if GH_I2S_ENABLE_DEBUG_PRINT
  1038. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxRightData_data] <-- 0x%08x\n",
  1039. REG_I2S_TXRIGHTDATA,m_i2s_txrightdata.all,m_i2s_txrightdata.all);
  1040. #endif
  1041. }
  1042. GH_INLINE U32 GH_I2S_getm_TxRightData_data(void)
  1043. {
  1044. #if GH_I2S_ENABLE_DEBUG_PRINT
  1045. GH_I2S_DEBUG_PRINT_FUNCTION( "[GH_I2S_getm_TxRightData_data] --> 0x%08x\n",
  1046. m_i2s_txrightdata.bitc.data);
  1047. #endif
  1048. return m_i2s_txrightdata.bitc.data;
  1049. }
  1050. #endif /* GH_INLINE_LEVEL < 2 */
  1051. /*----------------------------------------------------------------------------*/
  1052. /* register I2S_TxIntEnReg (read/write) */
  1053. /*----------------------------------------------------------------------------*/
  1054. #if GH_INLINE_LEVEL == 0
  1055. /*! \brief Writes the register 'I2S_TxIntEnReg'. */
  1056. void GH_I2S_set_TxIntEnReg(U32 data);
  1057. /*! \brief Reads the register 'I2S_TxIntEnReg'. */
  1058. U32 GH_I2S_get_TxIntEnReg(void);
  1059. /*! \brief Writes the bit group 'ftv' of register 'I2S_TxIntEnReg'. */
  1060. void GH_I2S_set_TxIntEnReg_ftv(U8 data);
  1061. /*! \brief Reads the bit group 'ftv' of register 'I2S_TxIntEnReg'. */
  1062. U8 GH_I2S_get_TxIntEnReg_ftv(void);
  1063. /*! \brief Writes the bit group 'ti' of register 'I2S_TxIntEnReg'. */
  1064. void GH_I2S_set_TxIntEnReg_ti(U8 data);
  1065. /*! \brief Reads the bit group 'ti' of register 'I2S_TxIntEnReg'. */
  1066. U8 GH_I2S_get_TxIntEnReg_ti(void);
  1067. /*! \brief Writes the bit group 'ff' of register 'I2S_TxIntEnReg'. */
  1068. void GH_I2S_set_TxIntEnReg_ff(U8 data);
  1069. /*! \brief Reads the bit group 'ff' of register 'I2S_TxIntEnReg'. */
  1070. U8 GH_I2S_get_TxIntEnReg_ff(void);
  1071. /*! \brief Writes the bit group 'fe' of register 'I2S_TxIntEnReg'. */
  1072. void GH_I2S_set_TxIntEnReg_fe(U8 data);
  1073. /*! \brief Reads the bit group 'fe' of register 'I2S_TxIntEnReg'. */
  1074. U8 GH_I2S_get_TxIntEnReg_fe(void);
  1075. #else /* GH_INLINE_LEVEL == 0 */
  1076. GH_INLINE void GH_I2S_set_TxIntEnReg(U32 data)
  1077. {
  1078. *(volatile U32 *)REG_I2S_TXINTENREG = data;
  1079. #if GH_I2S_ENABLE_DEBUG_PRINT
  1080. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxIntEnReg] <-- 0x%08x\n",
  1081. REG_I2S_TXINTENREG,data,data);
  1082. #endif
  1083. }
  1084. GH_INLINE U32 GH_I2S_get_TxIntEnReg(void)
  1085. {
  1086. U32 value = (*(volatile U32 *)REG_I2S_TXINTENREG);
  1087. #if GH_I2S_ENABLE_DEBUG_PRINT
  1088. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxIntEnReg] --> 0x%08x\n",
  1089. REG_I2S_TXINTENREG,value);
  1090. #endif
  1091. return value;
  1092. }
  1093. GH_INLINE void GH_I2S_set_TxIntEnReg_ftv(U8 data)
  1094. {
  1095. GH_I2S_TXINTENREG_S d;
  1096. d.all = *(volatile U32 *)REG_I2S_TXINTENREG;
  1097. d.bitc.ftv = data;
  1098. *(volatile U32 *)REG_I2S_TXINTENREG = d.all;
  1099. #if GH_I2S_ENABLE_DEBUG_PRINT
  1100. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxIntEnReg_ftv] <-- 0x%08x\n",
  1101. REG_I2S_TXINTENREG,d.all,d.all);
  1102. #endif
  1103. }
  1104. GH_INLINE U8 GH_I2S_get_TxIntEnReg_ftv(void)
  1105. {
  1106. GH_I2S_TXINTENREG_S tmp_value;
  1107. U32 value = (*(volatile U32 *)REG_I2S_TXINTENREG);
  1108. tmp_value.all = value;
  1109. #if GH_I2S_ENABLE_DEBUG_PRINT
  1110. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxIntEnReg_ftv] --> 0x%08x\n",
  1111. REG_I2S_TXINTENREG,value);
  1112. #endif
  1113. return tmp_value.bitc.ftv;
  1114. }
  1115. GH_INLINE void GH_I2S_set_TxIntEnReg_ti(U8 data)
  1116. {
  1117. GH_I2S_TXINTENREG_S d;
  1118. d.all = *(volatile U32 *)REG_I2S_TXINTENREG;
  1119. d.bitc.ti = data;
  1120. *(volatile U32 *)REG_I2S_TXINTENREG = d.all;
  1121. #if GH_I2S_ENABLE_DEBUG_PRINT
  1122. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxIntEnReg_ti] <-- 0x%08x\n",
  1123. REG_I2S_TXINTENREG,d.all,d.all);
  1124. #endif
  1125. }
  1126. GH_INLINE U8 GH_I2S_get_TxIntEnReg_ti(void)
  1127. {
  1128. GH_I2S_TXINTENREG_S tmp_value;
  1129. U32 value = (*(volatile U32 *)REG_I2S_TXINTENREG);
  1130. tmp_value.all = value;
  1131. #if GH_I2S_ENABLE_DEBUG_PRINT
  1132. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxIntEnReg_ti] --> 0x%08x\n",
  1133. REG_I2S_TXINTENREG,value);
  1134. #endif
  1135. return tmp_value.bitc.ti;
  1136. }
  1137. GH_INLINE void GH_I2S_set_TxIntEnReg_ff(U8 data)
  1138. {
  1139. GH_I2S_TXINTENREG_S d;
  1140. d.all = *(volatile U32 *)REG_I2S_TXINTENREG;
  1141. d.bitc.ff = data;
  1142. *(volatile U32 *)REG_I2S_TXINTENREG = d.all;
  1143. #if GH_I2S_ENABLE_DEBUG_PRINT
  1144. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxIntEnReg_ff] <-- 0x%08x\n",
  1145. REG_I2S_TXINTENREG,d.all,d.all);
  1146. #endif
  1147. }
  1148. GH_INLINE U8 GH_I2S_get_TxIntEnReg_ff(void)
  1149. {
  1150. GH_I2S_TXINTENREG_S tmp_value;
  1151. U32 value = (*(volatile U32 *)REG_I2S_TXINTENREG);
  1152. tmp_value.all = value;
  1153. #if GH_I2S_ENABLE_DEBUG_PRINT
  1154. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxIntEnReg_ff] --> 0x%08x\n",
  1155. REG_I2S_TXINTENREG,value);
  1156. #endif
  1157. return tmp_value.bitc.ff;
  1158. }
  1159. GH_INLINE void GH_I2S_set_TxIntEnReg_fe(U8 data)
  1160. {
  1161. GH_I2S_TXINTENREG_S d;
  1162. d.all = *(volatile U32 *)REG_I2S_TXINTENREG;
  1163. d.bitc.fe = data;
  1164. *(volatile U32 *)REG_I2S_TXINTENREG = d.all;
  1165. #if GH_I2S_ENABLE_DEBUG_PRINT
  1166. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_TxIntEnReg_fe] <-- 0x%08x\n",
  1167. REG_I2S_TXINTENREG,d.all,d.all);
  1168. #endif
  1169. }
  1170. GH_INLINE U8 GH_I2S_get_TxIntEnReg_fe(void)
  1171. {
  1172. GH_I2S_TXINTENREG_S tmp_value;
  1173. U32 value = (*(volatile U32 *)REG_I2S_TXINTENREG);
  1174. tmp_value.all = value;
  1175. #if GH_I2S_ENABLE_DEBUG_PRINT
  1176. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_TxIntEnReg_fe] --> 0x%08x\n",
  1177. REG_I2S_TXINTENREG,value);
  1178. #endif
  1179. return tmp_value.bitc.fe;
  1180. }
  1181. #endif /* GH_INLINE_LEVEL == 0 */
  1182. /*----------------------------------------------------------------------------*/
  1183. /* register I2S_MultipMode (read/write) */
  1184. /*----------------------------------------------------------------------------*/
  1185. #if GH_INLINE_LEVEL == 0
  1186. /*! \brief Writes the register 'I2S_MultipMode'. */
  1187. void GH_I2S_set_MultipMode(U32 data);
  1188. /*! \brief Reads the register 'I2S_MultipMode'. */
  1189. U32 GH_I2S_get_MultipMode(void);
  1190. /*! \brief Writes the bit group 'fdmaen' of register 'I2S_MultipMode'. */
  1191. void GH_I2S_set_MultipMode_fdmaen(U8 data);
  1192. /*! \brief Reads the bit group 'fdmaen' of register 'I2S_MultipMode'. */
  1193. U8 GH_I2S_get_MultipMode_fdmaen(void);
  1194. /*! \brief Writes the bit group 'rest' of register 'I2S_MultipMode'. */
  1195. void GH_I2S_set_MultipMode_rest(U8 data);
  1196. /*! \brief Reads the bit group 'rest' of register 'I2S_MultipMode'. */
  1197. U8 GH_I2S_get_MultipMode_rest(void);
  1198. /*! \brief Writes the bit group 'dma' of register 'I2S_MultipMode'. */
  1199. void GH_I2S_set_MultipMode_dma(U8 data);
  1200. /*! \brief Reads the bit group 'dma' of register 'I2S_MultipMode'. */
  1201. U8 GH_I2S_get_MultipMode_dma(void);
  1202. /*! \brief Writes the bit group 'en' of register 'I2S_MultipMode'. */
  1203. void GH_I2S_set_MultipMode_en(U8 data);
  1204. /*! \brief Reads the bit group 'en' of register 'I2S_MultipMode'. */
  1205. U8 GH_I2S_get_MultipMode_en(void);
  1206. #else /* GH_INLINE_LEVEL == 0 */
  1207. GH_INLINE void GH_I2S_set_MultipMode(U32 data)
  1208. {
  1209. *(volatile U32 *)REG_I2S_MULTIPMODE = data;
  1210. #if GH_I2S_ENABLE_DEBUG_PRINT
  1211. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_MultipMode] <-- 0x%08x\n",
  1212. REG_I2S_MULTIPMODE,data,data);
  1213. #endif
  1214. }
  1215. GH_INLINE U32 GH_I2S_get_MultipMode(void)
  1216. {
  1217. U32 value = (*(volatile U32 *)REG_I2S_MULTIPMODE);
  1218. #if GH_I2S_ENABLE_DEBUG_PRINT
  1219. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_MultipMode] --> 0x%08x\n",
  1220. REG_I2S_MULTIPMODE,value);
  1221. #endif
  1222. return value;
  1223. }
  1224. GH_INLINE void GH_I2S_set_MultipMode_fdmaen(U8 data)
  1225. {
  1226. GH_I2S_MULTIPMODE_S d;
  1227. d.all = *(volatile U32 *)REG_I2S_MULTIPMODE;
  1228. d.bitc.fdmaen = data;
  1229. *(volatile U32 *)REG_I2S_MULTIPMODE = d.all;
  1230. #if GH_I2S_ENABLE_DEBUG_PRINT
  1231. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_MultipMode_fdmaen] <-- 0x%08x\n",
  1232. REG_I2S_MULTIPMODE,d.all,d.all);
  1233. #endif
  1234. }
  1235. GH_INLINE U8 GH_I2S_get_MultipMode_fdmaen(void)
  1236. {
  1237. GH_I2S_MULTIPMODE_S tmp_value;
  1238. U32 value = (*(volatile U32 *)REG_I2S_MULTIPMODE);
  1239. tmp_value.all = value;
  1240. #if GH_I2S_ENABLE_DEBUG_PRINT
  1241. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_MultipMode_fdmaen] --> 0x%08x\n",
  1242. REG_I2S_MULTIPMODE,value);
  1243. #endif
  1244. return tmp_value.bitc.fdmaen;
  1245. }
  1246. GH_INLINE void GH_I2S_set_MultipMode_rest(U8 data)
  1247. {
  1248. GH_I2S_MULTIPMODE_S d;
  1249. d.all = *(volatile U32 *)REG_I2S_MULTIPMODE;
  1250. d.bitc.rest = data;
  1251. *(volatile U32 *)REG_I2S_MULTIPMODE = d.all;
  1252. #if GH_I2S_ENABLE_DEBUG_PRINT
  1253. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_MultipMode_rest] <-- 0x%08x\n",
  1254. REG_I2S_MULTIPMODE,d.all,d.all);
  1255. #endif
  1256. }
  1257. GH_INLINE U8 GH_I2S_get_MultipMode_rest(void)
  1258. {
  1259. GH_I2S_MULTIPMODE_S tmp_value;
  1260. U32 value = (*(volatile U32 *)REG_I2S_MULTIPMODE);
  1261. tmp_value.all = value;
  1262. #if GH_I2S_ENABLE_DEBUG_PRINT
  1263. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_MultipMode_rest] --> 0x%08x\n",
  1264. REG_I2S_MULTIPMODE,value);
  1265. #endif
  1266. return tmp_value.bitc.rest;
  1267. }
  1268. GH_INLINE void GH_I2S_set_MultipMode_dma(U8 data)
  1269. {
  1270. GH_I2S_MULTIPMODE_S d;
  1271. d.all = *(volatile U32 *)REG_I2S_MULTIPMODE;
  1272. d.bitc.dma = data;
  1273. *(volatile U32 *)REG_I2S_MULTIPMODE = d.all;
  1274. #if GH_I2S_ENABLE_DEBUG_PRINT
  1275. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_MultipMode_dma] <-- 0x%08x\n",
  1276. REG_I2S_MULTIPMODE,d.all,d.all);
  1277. #endif
  1278. }
  1279. GH_INLINE U8 GH_I2S_get_MultipMode_dma(void)
  1280. {
  1281. GH_I2S_MULTIPMODE_S tmp_value;
  1282. U32 value = (*(volatile U32 *)REG_I2S_MULTIPMODE);
  1283. tmp_value.all = value;
  1284. #if GH_I2S_ENABLE_DEBUG_PRINT
  1285. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_MultipMode_dma] --> 0x%08x\n",
  1286. REG_I2S_MULTIPMODE,value);
  1287. #endif
  1288. return tmp_value.bitc.dma;
  1289. }
  1290. GH_INLINE void GH_I2S_set_MultipMode_en(U8 data)
  1291. {
  1292. GH_I2S_MULTIPMODE_S d;
  1293. d.all = *(volatile U32 *)REG_I2S_MULTIPMODE;
  1294. d.bitc.en = data;
  1295. *(volatile U32 *)REG_I2S_MULTIPMODE = d.all;
  1296. #if GH_I2S_ENABLE_DEBUG_PRINT
  1297. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_MultipMode_en] <-- 0x%08x\n",
  1298. REG_I2S_MULTIPMODE,d.all,d.all);
  1299. #endif
  1300. }
  1301. GH_INLINE U8 GH_I2S_get_MultipMode_en(void)
  1302. {
  1303. GH_I2S_MULTIPMODE_S tmp_value;
  1304. U32 value = (*(volatile U32 *)REG_I2S_MULTIPMODE);
  1305. tmp_value.all = value;
  1306. #if GH_I2S_ENABLE_DEBUG_PRINT
  1307. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_MultipMode_en] --> 0x%08x\n",
  1308. REG_I2S_MULTIPMODE,value);
  1309. #endif
  1310. return tmp_value.bitc.en;
  1311. }
  1312. #endif /* GH_INLINE_LEVEL == 0 */
  1313. /*----------------------------------------------------------------------------*/
  1314. /* register I2S_RxContr (read/write) */
  1315. /*----------------------------------------------------------------------------*/
  1316. #if GH_INLINE_LEVEL == 0
  1317. /*! \brief Writes the register 'I2S_RxContr'. */
  1318. void GH_I2S_set_RxContr(U32 data);
  1319. /*! \brief Reads the register 'I2S_RxContr'. */
  1320. U32 GH_I2S_get_RxContr(void);
  1321. /*! \brief Writes the bit group 'order' of register 'I2S_RxContr'. */
  1322. void GH_I2S_set_RxContr_order(U8 data);
  1323. /*! \brief Reads the bit group 'order' of register 'I2S_RxContr'. */
  1324. U8 GH_I2S_get_RxContr_order(void);
  1325. /*! \brief Writes the bit group 'rwi' of register 'I2S_RxContr'. */
  1326. void GH_I2S_set_RxContr_rwi(U8 data);
  1327. /*! \brief Reads the bit group 'rwi' of register 'I2S_RxContr'. */
  1328. U8 GH_I2S_get_RxContr_rwi(void);
  1329. /*! \brief Writes the bit group 'loopback' of register 'I2S_RxContr'. */
  1330. void GH_I2S_set_RxContr_loopback(U8 data);
  1331. /*! \brief Reads the bit group 'loopback' of register 'I2S_RxContr'. */
  1332. U8 GH_I2S_get_RxContr_loopback(void);
  1333. /*! \brief Writes the bit group 'rwm' of register 'I2S_RxContr'. */
  1334. void GH_I2S_set_RxContr_rwm(U8 data);
  1335. /*! \brief Reads the bit group 'rwm' of register 'I2S_RxContr'. */
  1336. U8 GH_I2S_get_RxContr_rwm(void);
  1337. #else /* GH_INLINE_LEVEL == 0 */
  1338. GH_INLINE void GH_I2S_set_RxContr(U32 data)
  1339. {
  1340. *(volatile U32 *)REG_I2S_RXCONTR = data;
  1341. #if GH_I2S_ENABLE_DEBUG_PRINT
  1342. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxContr] <-- 0x%08x\n",
  1343. REG_I2S_RXCONTR,data,data);
  1344. #endif
  1345. }
  1346. GH_INLINE U32 GH_I2S_get_RxContr(void)
  1347. {
  1348. U32 value = (*(volatile U32 *)REG_I2S_RXCONTR);
  1349. #if GH_I2S_ENABLE_DEBUG_PRINT
  1350. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxContr] --> 0x%08x\n",
  1351. REG_I2S_RXCONTR,value);
  1352. #endif
  1353. return value;
  1354. }
  1355. GH_INLINE void GH_I2S_set_RxContr_order(U8 data)
  1356. {
  1357. GH_I2S_RXCONTR_S d;
  1358. d.all = *(volatile U32 *)REG_I2S_RXCONTR;
  1359. d.bitc.order = data;
  1360. *(volatile U32 *)REG_I2S_RXCONTR = d.all;
  1361. #if GH_I2S_ENABLE_DEBUG_PRINT
  1362. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxContr_order] <-- 0x%08x\n",
  1363. REG_I2S_RXCONTR,d.all,d.all);
  1364. #endif
  1365. }
  1366. GH_INLINE U8 GH_I2S_get_RxContr_order(void)
  1367. {
  1368. GH_I2S_RXCONTR_S tmp_value;
  1369. U32 value = (*(volatile U32 *)REG_I2S_RXCONTR);
  1370. tmp_value.all = value;
  1371. #if GH_I2S_ENABLE_DEBUG_PRINT
  1372. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxContr_order] --> 0x%08x\n",
  1373. REG_I2S_RXCONTR,value);
  1374. #endif
  1375. return tmp_value.bitc.order;
  1376. }
  1377. GH_INLINE void GH_I2S_set_RxContr_rwi(U8 data)
  1378. {
  1379. GH_I2S_RXCONTR_S d;
  1380. d.all = *(volatile U32 *)REG_I2S_RXCONTR;
  1381. d.bitc.rwi = data;
  1382. *(volatile U32 *)REG_I2S_RXCONTR = d.all;
  1383. #if GH_I2S_ENABLE_DEBUG_PRINT
  1384. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxContr_rwi] <-- 0x%08x\n",
  1385. REG_I2S_RXCONTR,d.all,d.all);
  1386. #endif
  1387. }
  1388. GH_INLINE U8 GH_I2S_get_RxContr_rwi(void)
  1389. {
  1390. GH_I2S_RXCONTR_S tmp_value;
  1391. U32 value = (*(volatile U32 *)REG_I2S_RXCONTR);
  1392. tmp_value.all = value;
  1393. #if GH_I2S_ENABLE_DEBUG_PRINT
  1394. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxContr_rwi] --> 0x%08x\n",
  1395. REG_I2S_RXCONTR,value);
  1396. #endif
  1397. return tmp_value.bitc.rwi;
  1398. }
  1399. GH_INLINE void GH_I2S_set_RxContr_loopback(U8 data)
  1400. {
  1401. GH_I2S_RXCONTR_S d;
  1402. d.all = *(volatile U32 *)REG_I2S_RXCONTR;
  1403. d.bitc.loopback = data;
  1404. *(volatile U32 *)REG_I2S_RXCONTR = d.all;
  1405. #if GH_I2S_ENABLE_DEBUG_PRINT
  1406. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxContr_loopback] <-- 0x%08x\n",
  1407. REG_I2S_RXCONTR,d.all,d.all);
  1408. #endif
  1409. }
  1410. GH_INLINE U8 GH_I2S_get_RxContr_loopback(void)
  1411. {
  1412. GH_I2S_RXCONTR_S tmp_value;
  1413. U32 value = (*(volatile U32 *)REG_I2S_RXCONTR);
  1414. tmp_value.all = value;
  1415. #if GH_I2S_ENABLE_DEBUG_PRINT
  1416. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxContr_loopback] --> 0x%08x\n",
  1417. REG_I2S_RXCONTR,value);
  1418. #endif
  1419. return tmp_value.bitc.loopback;
  1420. }
  1421. GH_INLINE void GH_I2S_set_RxContr_rwm(U8 data)
  1422. {
  1423. GH_I2S_RXCONTR_S d;
  1424. d.all = *(volatile U32 *)REG_I2S_RXCONTR;
  1425. d.bitc.rwm = data;
  1426. *(volatile U32 *)REG_I2S_RXCONTR = d.all;
  1427. #if GH_I2S_ENABLE_DEBUG_PRINT
  1428. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxContr_rwm] <-- 0x%08x\n",
  1429. REG_I2S_RXCONTR,d.all,d.all);
  1430. #endif
  1431. }
  1432. GH_INLINE U8 GH_I2S_get_RxContr_rwm(void)
  1433. {
  1434. GH_I2S_RXCONTR_S tmp_value;
  1435. U32 value = (*(volatile U32 *)REG_I2S_RXCONTR);
  1436. tmp_value.all = value;
  1437. #if GH_I2S_ENABLE_DEBUG_PRINT
  1438. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxContr_rwm] --> 0x%08x\n",
  1439. REG_I2S_RXCONTR,value);
  1440. #endif
  1441. return tmp_value.bitc.rwm;
  1442. }
  1443. #endif /* GH_INLINE_LEVEL == 0 */
  1444. /*----------------------------------------------------------------------------*/
  1445. /* register I2S_RxData (read) */
  1446. /*----------------------------------------------------------------------------*/
  1447. #if GH_INLINE_LEVEL == 0
  1448. /*! \brief Reads the register 'I2S_RxData'. */
  1449. U32 GH_I2S_get_RxData(void);
  1450. /*! \brief Reads the bit group 'data' of register 'I2S_RxData'. */
  1451. U32 GH_I2S_get_RxData_data(void);
  1452. #else /* GH_INLINE_LEVEL == 0 */
  1453. GH_INLINE U32 GH_I2S_get_RxData(void)
  1454. {
  1455. U32 value = (*(volatile U32 *)REG_I2S_RXDATA);
  1456. #if GH_I2S_ENABLE_DEBUG_PRINT
  1457. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxData] --> 0x%08x\n",
  1458. REG_I2S_RXDATA,value);
  1459. #endif
  1460. return value;
  1461. }
  1462. GH_INLINE U32 GH_I2S_get_RxData_data(void)
  1463. {
  1464. GH_I2S_RXDATA_S tmp_value;
  1465. U32 value = (*(volatile U32 *)REG_I2S_RXDATA);
  1466. tmp_value.all = value;
  1467. #if GH_I2S_ENABLE_DEBUG_PRINT
  1468. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxData_data] --> 0x%08x\n",
  1469. REG_I2S_RXDATA,value);
  1470. #endif
  1471. return tmp_value.bitc.data;
  1472. }
  1473. #endif /* GH_INLINE_LEVEL == 0 */
  1474. /*----------------------------------------------------------------------------*/
  1475. /* register I2S_Rxfifcntr (read) */
  1476. /*----------------------------------------------------------------------------*/
  1477. #if GH_INLINE_LEVEL == 0
  1478. /*! \brief Reads the register 'I2S_Rxfifcntr'. */
  1479. U32 GH_I2S_get_Rxfifcntr(void);
  1480. /*! \brief Reads the bit group 'num' of register 'I2S_Rxfifcntr'. */
  1481. U8 GH_I2S_get_Rxfifcntr_num(void);
  1482. #else /* GH_INLINE_LEVEL == 0 */
  1483. GH_INLINE U32 GH_I2S_get_Rxfifcntr(void)
  1484. {
  1485. U32 value = (*(volatile U32 *)REG_I2S_RXFIFCNTR);
  1486. #if GH_I2S_ENABLE_DEBUG_PRINT
  1487. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Rxfifcntr] --> 0x%08x\n",
  1488. REG_I2S_RXFIFCNTR,value);
  1489. #endif
  1490. return value;
  1491. }
  1492. GH_INLINE U8 GH_I2S_get_Rxfifcntr_num(void)
  1493. {
  1494. GH_I2S_RXFIFCNTR_S tmp_value;
  1495. U32 value = (*(volatile U32 *)REG_I2S_RXFIFCNTR);
  1496. tmp_value.all = value;
  1497. #if GH_I2S_ENABLE_DEBUG_PRINT
  1498. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Rxfifcntr_num] --> 0x%08x\n",
  1499. REG_I2S_RXFIFCNTR,value);
  1500. #endif
  1501. return tmp_value.bitc.num;
  1502. }
  1503. #endif /* GH_INLINE_LEVEL == 0 */
  1504. /*----------------------------------------------------------------------------*/
  1505. /* register I2S_RxIntEnReg (read/write) */
  1506. /*----------------------------------------------------------------------------*/
  1507. #if GH_INLINE_LEVEL == 0
  1508. /*! \brief Writes the register 'I2S_RxIntEnReg'. */
  1509. void GH_I2S_set_RxIntEnReg(U32 data);
  1510. /*! \brief Reads the register 'I2S_RxIntEnReg'. */
  1511. U32 GH_I2S_get_RxIntEnReg(void);
  1512. /*! \brief Writes the bit group 'fo' of register 'I2S_RxIntEnReg'. */
  1513. void GH_I2S_set_RxIntEnReg_fo(U8 data);
  1514. /*! \brief Reads the bit group 'fo' of register 'I2S_RxIntEnReg'. */
  1515. U8 GH_I2S_get_RxIntEnReg_fo(void);
  1516. /*! \brief Writes the bit group 'fe' of register 'I2S_RxIntEnReg'. */
  1517. void GH_I2S_set_RxIntEnReg_fe(U8 data);
  1518. /*! \brief Reads the bit group 'fe' of register 'I2S_RxIntEnReg'. */
  1519. U8 GH_I2S_get_RxIntEnReg_fe(void);
  1520. /*! \brief Writes the bit group 'ftv' of register 'I2S_RxIntEnReg'. */
  1521. void GH_I2S_set_RxIntEnReg_ftv(U8 data);
  1522. /*! \brief Reads the bit group 'ftv' of register 'I2S_RxIntEnReg'. */
  1523. U8 GH_I2S_get_RxIntEnReg_ftv(void);
  1524. /*! \brief Writes the bit group 'ri' of register 'I2S_RxIntEnReg'. */
  1525. void GH_I2S_set_RxIntEnReg_ri(U8 data);
  1526. /*! \brief Reads the bit group 'ri' of register 'I2S_RxIntEnReg'. */
  1527. U8 GH_I2S_get_RxIntEnReg_ri(void);
  1528. /*! \brief Writes the bit group 'ff' of register 'I2S_RxIntEnReg'. */
  1529. void GH_I2S_set_RxIntEnReg_ff(U8 data);
  1530. /*! \brief Reads the bit group 'ff' of register 'I2S_RxIntEnReg'. */
  1531. U8 GH_I2S_get_RxIntEnReg_ff(void);
  1532. #else /* GH_INLINE_LEVEL == 0 */
  1533. GH_INLINE void GH_I2S_set_RxIntEnReg(U32 data)
  1534. {
  1535. *(volatile U32 *)REG_I2S_RXINTENREG = data;
  1536. #if GH_I2S_ENABLE_DEBUG_PRINT
  1537. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxIntEnReg] <-- 0x%08x\n",
  1538. REG_I2S_RXINTENREG,data,data);
  1539. #endif
  1540. }
  1541. GH_INLINE U32 GH_I2S_get_RxIntEnReg(void)
  1542. {
  1543. U32 value = (*(volatile U32 *)REG_I2S_RXINTENREG);
  1544. #if GH_I2S_ENABLE_DEBUG_PRINT
  1545. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxIntEnReg] --> 0x%08x\n",
  1546. REG_I2S_RXINTENREG,value);
  1547. #endif
  1548. return value;
  1549. }
  1550. GH_INLINE void GH_I2S_set_RxIntEnReg_fo(U8 data)
  1551. {
  1552. GH_I2S_RXINTENREG_S d;
  1553. d.all = *(volatile U32 *)REG_I2S_RXINTENREG;
  1554. d.bitc.fo = data;
  1555. *(volatile U32 *)REG_I2S_RXINTENREG = d.all;
  1556. #if GH_I2S_ENABLE_DEBUG_PRINT
  1557. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxIntEnReg_fo] <-- 0x%08x\n",
  1558. REG_I2S_RXINTENREG,d.all,d.all);
  1559. #endif
  1560. }
  1561. GH_INLINE U8 GH_I2S_get_RxIntEnReg_fo(void)
  1562. {
  1563. GH_I2S_RXINTENREG_S tmp_value;
  1564. U32 value = (*(volatile U32 *)REG_I2S_RXINTENREG);
  1565. tmp_value.all = value;
  1566. #if GH_I2S_ENABLE_DEBUG_PRINT
  1567. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxIntEnReg_fo] --> 0x%08x\n",
  1568. REG_I2S_RXINTENREG,value);
  1569. #endif
  1570. return tmp_value.bitc.fo;
  1571. }
  1572. GH_INLINE void GH_I2S_set_RxIntEnReg_fe(U8 data)
  1573. {
  1574. GH_I2S_RXINTENREG_S d;
  1575. d.all = *(volatile U32 *)REG_I2S_RXINTENREG;
  1576. d.bitc.fe = data;
  1577. *(volatile U32 *)REG_I2S_RXINTENREG = d.all;
  1578. #if GH_I2S_ENABLE_DEBUG_PRINT
  1579. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxIntEnReg_fe] <-- 0x%08x\n",
  1580. REG_I2S_RXINTENREG,d.all,d.all);
  1581. #endif
  1582. }
  1583. GH_INLINE U8 GH_I2S_get_RxIntEnReg_fe(void)
  1584. {
  1585. GH_I2S_RXINTENREG_S tmp_value;
  1586. U32 value = (*(volatile U32 *)REG_I2S_RXINTENREG);
  1587. tmp_value.all = value;
  1588. #if GH_I2S_ENABLE_DEBUG_PRINT
  1589. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxIntEnReg_fe] --> 0x%08x\n",
  1590. REG_I2S_RXINTENREG,value);
  1591. #endif
  1592. return tmp_value.bitc.fe;
  1593. }
  1594. GH_INLINE void GH_I2S_set_RxIntEnReg_ftv(U8 data)
  1595. {
  1596. GH_I2S_RXINTENREG_S d;
  1597. d.all = *(volatile U32 *)REG_I2S_RXINTENREG;
  1598. d.bitc.ftv = data;
  1599. *(volatile U32 *)REG_I2S_RXINTENREG = d.all;
  1600. #if GH_I2S_ENABLE_DEBUG_PRINT
  1601. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxIntEnReg_ftv] <-- 0x%08x\n",
  1602. REG_I2S_RXINTENREG,d.all,d.all);
  1603. #endif
  1604. }
  1605. GH_INLINE U8 GH_I2S_get_RxIntEnReg_ftv(void)
  1606. {
  1607. GH_I2S_RXINTENREG_S tmp_value;
  1608. U32 value = (*(volatile U32 *)REG_I2S_RXINTENREG);
  1609. tmp_value.all = value;
  1610. #if GH_I2S_ENABLE_DEBUG_PRINT
  1611. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxIntEnReg_ftv] --> 0x%08x\n",
  1612. REG_I2S_RXINTENREG,value);
  1613. #endif
  1614. return tmp_value.bitc.ftv;
  1615. }
  1616. GH_INLINE void GH_I2S_set_RxIntEnReg_ri(U8 data)
  1617. {
  1618. GH_I2S_RXINTENREG_S d;
  1619. d.all = *(volatile U32 *)REG_I2S_RXINTENREG;
  1620. d.bitc.ri = data;
  1621. *(volatile U32 *)REG_I2S_RXINTENREG = d.all;
  1622. #if GH_I2S_ENABLE_DEBUG_PRINT
  1623. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxIntEnReg_ri] <-- 0x%08x\n",
  1624. REG_I2S_RXINTENREG,d.all,d.all);
  1625. #endif
  1626. }
  1627. GH_INLINE U8 GH_I2S_get_RxIntEnReg_ri(void)
  1628. {
  1629. GH_I2S_RXINTENREG_S tmp_value;
  1630. U32 value = (*(volatile U32 *)REG_I2S_RXINTENREG);
  1631. tmp_value.all = value;
  1632. #if GH_I2S_ENABLE_DEBUG_PRINT
  1633. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxIntEnReg_ri] --> 0x%08x\n",
  1634. REG_I2S_RXINTENREG,value);
  1635. #endif
  1636. return tmp_value.bitc.ri;
  1637. }
  1638. GH_INLINE void GH_I2S_set_RxIntEnReg_ff(U8 data)
  1639. {
  1640. GH_I2S_RXINTENREG_S d;
  1641. d.all = *(volatile U32 *)REG_I2S_RXINTENREG;
  1642. d.bitc.ff = data;
  1643. *(volatile U32 *)REG_I2S_RXINTENREG = d.all;
  1644. #if GH_I2S_ENABLE_DEBUG_PRINT
  1645. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxIntEnReg_ff] <-- 0x%08x\n",
  1646. REG_I2S_RXINTENREG,d.all,d.all);
  1647. #endif
  1648. }
  1649. GH_INLINE U8 GH_I2S_get_RxIntEnReg_ff(void)
  1650. {
  1651. GH_I2S_RXINTENREG_S tmp_value;
  1652. U32 value = (*(volatile U32 *)REG_I2S_RXINTENREG);
  1653. tmp_value.all = value;
  1654. #if GH_I2S_ENABLE_DEBUG_PRINT
  1655. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxIntEnReg_ff] --> 0x%08x\n",
  1656. REG_I2S_RXINTENREG,value);
  1657. #endif
  1658. return tmp_value.bitc.ff;
  1659. }
  1660. #endif /* GH_INLINE_LEVEL == 0 */
  1661. /*----------------------------------------------------------------------------*/
  1662. /* register I2S_RxFifoGth (read/write) */
  1663. /*----------------------------------------------------------------------------*/
  1664. #if GH_INLINE_LEVEL == 0
  1665. /*! \brief Writes the register 'I2S_RxFifoGth'. */
  1666. void GH_I2S_set_RxFifoGth(U32 data);
  1667. /*! \brief Reads the register 'I2S_RxFifoGth'. */
  1668. U32 GH_I2S_get_RxFifoGth(void);
  1669. /*! \brief Writes the bit group 'ft' of register 'I2S_RxFifoGth'. */
  1670. void GH_I2S_set_RxFifoGth_ft(U8 data);
  1671. /*! \brief Reads the bit group 'ft' of register 'I2S_RxFifoGth'. */
  1672. U8 GH_I2S_get_RxFifoGth_ft(void);
  1673. #else /* GH_INLINE_LEVEL == 0 */
  1674. GH_INLINE void GH_I2S_set_RxFifoGth(U32 data)
  1675. {
  1676. *(volatile U32 *)REG_I2S_RXFIFOGTH = data;
  1677. #if GH_I2S_ENABLE_DEBUG_PRINT
  1678. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxFifoGth] <-- 0x%08x\n",
  1679. REG_I2S_RXFIFOGTH,data,data);
  1680. #endif
  1681. }
  1682. GH_INLINE U32 GH_I2S_get_RxFifoGth(void)
  1683. {
  1684. U32 value = (*(volatile U32 *)REG_I2S_RXFIFOGTH);
  1685. #if GH_I2S_ENABLE_DEBUG_PRINT
  1686. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxFifoGth] --> 0x%08x\n",
  1687. REG_I2S_RXFIFOGTH,value);
  1688. #endif
  1689. return value;
  1690. }
  1691. GH_INLINE void GH_I2S_set_RxFifoGth_ft(U8 data)
  1692. {
  1693. GH_I2S_RXFIFOGTH_S d;
  1694. d.all = *(volatile U32 *)REG_I2S_RXFIFOGTH;
  1695. d.bitc.ft = data;
  1696. *(volatile U32 *)REG_I2S_RXFIFOGTH = d.all;
  1697. #if GH_I2S_ENABLE_DEBUG_PRINT
  1698. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxFifoGth_ft] <-- 0x%08x\n",
  1699. REG_I2S_RXFIFOGTH,d.all,d.all);
  1700. #endif
  1701. }
  1702. GH_INLINE U8 GH_I2S_get_RxFifoGth_ft(void)
  1703. {
  1704. GH_I2S_RXFIFOGTH_S tmp_value;
  1705. U32 value = (*(volatile U32 *)REG_I2S_RXFIFOGTH);
  1706. tmp_value.all = value;
  1707. #if GH_I2S_ENABLE_DEBUG_PRINT
  1708. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxFifoGth_ft] --> 0x%08x\n",
  1709. REG_I2S_RXFIFOGTH,value);
  1710. #endif
  1711. return tmp_value.bitc.ft;
  1712. }
  1713. #endif /* GH_INLINE_LEVEL == 0 */
  1714. /*----------------------------------------------------------------------------*/
  1715. /* register I2S_RxEcho (read/write) */
  1716. /*----------------------------------------------------------------------------*/
  1717. #if GH_INLINE_LEVEL == 0
  1718. /*! \brief Writes the register 'I2S_RxEcho'. */
  1719. void GH_I2S_set_RxEcho(U32 data);
  1720. /*! \brief Reads the register 'I2S_RxEcho'. */
  1721. U32 GH_I2S_get_RxEcho(void);
  1722. /*! \brief Writes the bit group 'echo' of register 'I2S_RxEcho'. */
  1723. void GH_I2S_set_RxEcho_echo(U8 data);
  1724. /*! \brief Reads the bit group 'echo' of register 'I2S_RxEcho'. */
  1725. U8 GH_I2S_get_RxEcho_echo(void);
  1726. #else /* GH_INLINE_LEVEL == 0 */
  1727. GH_INLINE void GH_I2S_set_RxEcho(U32 data)
  1728. {
  1729. *(volatile U32 *)REG_I2S_RXECHO = data;
  1730. #if GH_I2S_ENABLE_DEBUG_PRINT
  1731. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxEcho] <-- 0x%08x\n",
  1732. REG_I2S_RXECHO,data,data);
  1733. #endif
  1734. }
  1735. GH_INLINE U32 GH_I2S_get_RxEcho(void)
  1736. {
  1737. U32 value = (*(volatile U32 *)REG_I2S_RXECHO);
  1738. #if GH_I2S_ENABLE_DEBUG_PRINT
  1739. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxEcho] --> 0x%08x\n",
  1740. REG_I2S_RXECHO,value);
  1741. #endif
  1742. return value;
  1743. }
  1744. GH_INLINE void GH_I2S_set_RxEcho_echo(U8 data)
  1745. {
  1746. GH_I2S_RXECHO_S d;
  1747. d.all = *(volatile U32 *)REG_I2S_RXECHO;
  1748. d.bitc.echo = data;
  1749. *(volatile U32 *)REG_I2S_RXECHO = d.all;
  1750. #if GH_I2S_ENABLE_DEBUG_PRINT
  1751. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_RxEcho_echo] <-- 0x%08x\n",
  1752. REG_I2S_RXECHO,d.all,d.all);
  1753. #endif
  1754. }
  1755. GH_INLINE U8 GH_I2S_get_RxEcho_echo(void)
  1756. {
  1757. GH_I2S_RXECHO_S tmp_value;
  1758. U32 value = (*(volatile U32 *)REG_I2S_RXECHO);
  1759. tmp_value.all = value;
  1760. #if GH_I2S_ENABLE_DEBUG_PRINT
  1761. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxEcho_echo] --> 0x%08x\n",
  1762. REG_I2S_RXECHO,value);
  1763. #endif
  1764. return tmp_value.bitc.echo;
  1765. }
  1766. #endif /* GH_INLINE_LEVEL == 0 */
  1767. /*----------------------------------------------------------------------------*/
  1768. /* register I2S_WPREG (read/write) */
  1769. /*----------------------------------------------------------------------------*/
  1770. #if GH_INLINE_LEVEL == 0
  1771. /*! \brief Writes the register 'I2S_WPREG'. */
  1772. void GH_I2S_set_WPREG(U32 data);
  1773. /*! \brief Reads the register 'I2S_WPREG'. */
  1774. U32 GH_I2S_get_WPREG(void);
  1775. /*! \brief Writes the bit group 'Ignbit' of register 'I2S_WPREG'. */
  1776. void GH_I2S_set_WPREG_Ignbit(U8 data);
  1777. /*! \brief Reads the bit group 'Ignbit' of register 'I2S_WPREG'. */
  1778. U8 GH_I2S_get_WPREG_Ignbit(void);
  1779. #else /* GH_INLINE_LEVEL == 0 */
  1780. GH_INLINE void GH_I2S_set_WPREG(U32 data)
  1781. {
  1782. *(volatile U32 *)REG_I2S_WPREG = data;
  1783. #if GH_I2S_ENABLE_DEBUG_PRINT
  1784. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_WPREG] <-- 0x%08x\n",
  1785. REG_I2S_WPREG,data,data);
  1786. #endif
  1787. }
  1788. GH_INLINE U32 GH_I2S_get_WPREG(void)
  1789. {
  1790. U32 value = (*(volatile U32 *)REG_I2S_WPREG);
  1791. #if GH_I2S_ENABLE_DEBUG_PRINT
  1792. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_WPREG] --> 0x%08x\n",
  1793. REG_I2S_WPREG,value);
  1794. #endif
  1795. return value;
  1796. }
  1797. GH_INLINE void GH_I2S_set_WPREG_Ignbit(U8 data)
  1798. {
  1799. GH_I2S_WPREG_S d;
  1800. d.all = *(volatile U32 *)REG_I2S_WPREG;
  1801. d.bitc.ignbit = data;
  1802. *(volatile U32 *)REG_I2S_WPREG = d.all;
  1803. #if GH_I2S_ENABLE_DEBUG_PRINT
  1804. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_WPREG_Ignbit] <-- 0x%08x\n",
  1805. REG_I2S_WPREG,d.all,d.all);
  1806. #endif
  1807. }
  1808. GH_INLINE U8 GH_I2S_get_WPREG_Ignbit(void)
  1809. {
  1810. GH_I2S_WPREG_S tmp_value;
  1811. U32 value = (*(volatile U32 *)REG_I2S_WPREG);
  1812. tmp_value.all = value;
  1813. #if GH_I2S_ENABLE_DEBUG_PRINT
  1814. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_WPREG_Ignbit] --> 0x%08x\n",
  1815. REG_I2S_WPREG,value);
  1816. #endif
  1817. return tmp_value.bitc.ignbit;
  1818. }
  1819. #endif /* GH_INLINE_LEVEL == 0 */
  1820. /*----------------------------------------------------------------------------*/
  1821. /* register I2S_Shift (read/write) */
  1822. /*----------------------------------------------------------------------------*/
  1823. #if GH_INLINE_LEVEL == 0
  1824. /*! \brief Writes the register 'I2S_Shift'. */
  1825. void GH_I2S_set_Shift(U32 data);
  1826. /*! \brief Reads the register 'I2S_Shift'. */
  1827. U32 GH_I2S_get_Shift(void);
  1828. /*! \brief Writes the bit group 'rx' of register 'I2S_Shift'. */
  1829. void GH_I2S_set_Shift_rx(U8 data);
  1830. /*! \brief Reads the bit group 'rx' of register 'I2S_Shift'. */
  1831. U8 GH_I2S_get_Shift_rx(void);
  1832. /*! \brief Writes the bit group 'tx' of register 'I2S_Shift'. */
  1833. void GH_I2S_set_Shift_tx(U8 data);
  1834. /*! \brief Reads the bit group 'tx' of register 'I2S_Shift'. */
  1835. U8 GH_I2S_get_Shift_tx(void);
  1836. #else /* GH_INLINE_LEVEL == 0 */
  1837. GH_INLINE void GH_I2S_set_Shift(U32 data)
  1838. {
  1839. *(volatile U32 *)REG_I2S_SHIFT = data;
  1840. #if GH_I2S_ENABLE_DEBUG_PRINT
  1841. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Shift] <-- 0x%08x\n",
  1842. REG_I2S_SHIFT,data,data);
  1843. #endif
  1844. }
  1845. GH_INLINE U32 GH_I2S_get_Shift(void)
  1846. {
  1847. U32 value = (*(volatile U32 *)REG_I2S_SHIFT);
  1848. #if GH_I2S_ENABLE_DEBUG_PRINT
  1849. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Shift] --> 0x%08x\n",
  1850. REG_I2S_SHIFT,value);
  1851. #endif
  1852. return value;
  1853. }
  1854. GH_INLINE void GH_I2S_set_Shift_rx(U8 data)
  1855. {
  1856. GH_I2S_SHIFT_S d;
  1857. d.all = *(volatile U32 *)REG_I2S_SHIFT;
  1858. d.bitc.rx = data;
  1859. *(volatile U32 *)REG_I2S_SHIFT = d.all;
  1860. #if GH_I2S_ENABLE_DEBUG_PRINT
  1861. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Shift_rx] <-- 0x%08x\n",
  1862. REG_I2S_SHIFT,d.all,d.all);
  1863. #endif
  1864. }
  1865. GH_INLINE U8 GH_I2S_get_Shift_rx(void)
  1866. {
  1867. GH_I2S_SHIFT_S tmp_value;
  1868. U32 value = (*(volatile U32 *)REG_I2S_SHIFT);
  1869. tmp_value.all = value;
  1870. #if GH_I2S_ENABLE_DEBUG_PRINT
  1871. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Shift_rx] --> 0x%08x\n",
  1872. REG_I2S_SHIFT,value);
  1873. #endif
  1874. return tmp_value.bitc.rx;
  1875. }
  1876. GH_INLINE void GH_I2S_set_Shift_tx(U8 data)
  1877. {
  1878. GH_I2S_SHIFT_S d;
  1879. d.all = *(volatile U32 *)REG_I2S_SHIFT;
  1880. d.bitc.tx = data;
  1881. *(volatile U32 *)REG_I2S_SHIFT = d.all;
  1882. #if GH_I2S_ENABLE_DEBUG_PRINT
  1883. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Shift_tx] <-- 0x%08x\n",
  1884. REG_I2S_SHIFT,d.all,d.all);
  1885. #endif
  1886. }
  1887. GH_INLINE U8 GH_I2S_get_Shift_tx(void)
  1888. {
  1889. GH_I2S_SHIFT_S tmp_value;
  1890. U32 value = (*(volatile U32 *)REG_I2S_SHIFT);
  1891. tmp_value.all = value;
  1892. #if GH_I2S_ENABLE_DEBUG_PRINT
  1893. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Shift_tx] --> 0x%08x\n",
  1894. REG_I2S_SHIFT,value);
  1895. #endif
  1896. return tmp_value.bitc.tx;
  1897. }
  1898. #endif /* GH_INLINE_LEVEL == 0 */
  1899. /*----------------------------------------------------------------------------*/
  1900. /* register I2S_Initreg (read/write) */
  1901. /*----------------------------------------------------------------------------*/
  1902. #if GH_INLINE_LEVEL == 0
  1903. /*! \brief Writes the register 'I2S_Initreg'. */
  1904. void GH_I2S_set_Initreg(U32 data);
  1905. /*! \brief Reads the register 'I2S_Initreg'. */
  1906. U32 GH_I2S_get_Initreg(void);
  1907. /*! \brief Writes the bit group 'txfrst' of register 'I2S_Initreg'. */
  1908. void GH_I2S_set_Initreg_txfrst(U8 data);
  1909. /*! \brief Reads the bit group 'txfrst' of register 'I2S_Initreg'. */
  1910. U8 GH_I2S_get_Initreg_txfrst(void);
  1911. /*! \brief Writes the bit group 're' of register 'I2S_Initreg'. */
  1912. void GH_I2S_set_Initreg_re(U8 data);
  1913. /*! \brief Reads the bit group 're' of register 'I2S_Initreg'. */
  1914. U8 GH_I2S_get_Initreg_re(void);
  1915. /*! \brief Writes the bit group 'te' of register 'I2S_Initreg'. */
  1916. void GH_I2S_set_Initreg_te(U8 data);
  1917. /*! \brief Reads the bit group 'te' of register 'I2S_Initreg'. */
  1918. U8 GH_I2S_get_Initreg_te(void);
  1919. /*! \brief Writes the bit group 'rxfrst' of register 'I2S_Initreg'. */
  1920. void GH_I2S_set_Initreg_rxfrst(U8 data);
  1921. /*! \brief Reads the bit group 'rxfrst' of register 'I2S_Initreg'. */
  1922. U8 GH_I2S_get_Initreg_rxfrst(void);
  1923. /*! \brief Writes the bit group 'frst' of register 'I2S_Initreg'. */
  1924. void GH_I2S_set_Initreg_frst(U8 data);
  1925. /*! \brief Reads the bit group 'frst' of register 'I2S_Initreg'. */
  1926. U8 GH_I2S_get_Initreg_frst(void);
  1927. #else /* GH_INLINE_LEVEL == 0 */
  1928. GH_INLINE void GH_I2S_set_Initreg(U32 data)
  1929. {
  1930. *(volatile U32 *)REG_I2S_INITREG = data;
  1931. #if GH_I2S_ENABLE_DEBUG_PRINT
  1932. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Initreg] <-- 0x%08x\n",
  1933. REG_I2S_INITREG,data,data);
  1934. #endif
  1935. }
  1936. GH_INLINE U32 GH_I2S_get_Initreg(void)
  1937. {
  1938. U32 value = (*(volatile U32 *)REG_I2S_INITREG);
  1939. #if GH_I2S_ENABLE_DEBUG_PRINT
  1940. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Initreg] --> 0x%08x\n",
  1941. REG_I2S_INITREG,value);
  1942. #endif
  1943. return value;
  1944. }
  1945. GH_INLINE void GH_I2S_set_Initreg_txfrst(U8 data)
  1946. {
  1947. GH_I2S_INITREG_S d;
  1948. d.all = *(volatile U32 *)REG_I2S_INITREG;
  1949. d.bitc.txfrst = data;
  1950. *(volatile U32 *)REG_I2S_INITREG = d.all;
  1951. #if GH_I2S_ENABLE_DEBUG_PRINT
  1952. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Initreg_txfrst] <-- 0x%08x\n",
  1953. REG_I2S_INITREG,d.all,d.all);
  1954. #endif
  1955. }
  1956. GH_INLINE U8 GH_I2S_get_Initreg_txfrst(void)
  1957. {
  1958. GH_I2S_INITREG_S tmp_value;
  1959. U32 value = (*(volatile U32 *)REG_I2S_INITREG);
  1960. tmp_value.all = value;
  1961. #if GH_I2S_ENABLE_DEBUG_PRINT
  1962. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Initreg_txfrst] --> 0x%08x\n",
  1963. REG_I2S_INITREG,value);
  1964. #endif
  1965. return tmp_value.bitc.txfrst;
  1966. }
  1967. GH_INLINE void GH_I2S_set_Initreg_re(U8 data)
  1968. {
  1969. GH_I2S_INITREG_S d;
  1970. d.all = *(volatile U32 *)REG_I2S_INITREG;
  1971. d.bitc.re = data;
  1972. *(volatile U32 *)REG_I2S_INITREG = d.all;
  1973. #if GH_I2S_ENABLE_DEBUG_PRINT
  1974. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Initreg_re] <-- 0x%08x\n",
  1975. REG_I2S_INITREG,d.all,d.all);
  1976. #endif
  1977. }
  1978. GH_INLINE U8 GH_I2S_get_Initreg_re(void)
  1979. {
  1980. GH_I2S_INITREG_S tmp_value;
  1981. U32 value = (*(volatile U32 *)REG_I2S_INITREG);
  1982. tmp_value.all = value;
  1983. #if GH_I2S_ENABLE_DEBUG_PRINT
  1984. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Initreg_re] --> 0x%08x\n",
  1985. REG_I2S_INITREG,value);
  1986. #endif
  1987. return tmp_value.bitc.re;
  1988. }
  1989. GH_INLINE void GH_I2S_set_Initreg_te(U8 data)
  1990. {
  1991. GH_I2S_INITREG_S d;
  1992. d.all = *(volatile U32 *)REG_I2S_INITREG;
  1993. d.bitc.te = data;
  1994. *(volatile U32 *)REG_I2S_INITREG = d.all;
  1995. #if GH_I2S_ENABLE_DEBUG_PRINT
  1996. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Initreg_te] <-- 0x%08x\n",
  1997. REG_I2S_INITREG,d.all,d.all);
  1998. #endif
  1999. }
  2000. GH_INLINE U8 GH_I2S_get_Initreg_te(void)
  2001. {
  2002. GH_I2S_INITREG_S tmp_value;
  2003. U32 value = (*(volatile U32 *)REG_I2S_INITREG);
  2004. tmp_value.all = value;
  2005. #if GH_I2S_ENABLE_DEBUG_PRINT
  2006. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Initreg_te] --> 0x%08x\n",
  2007. REG_I2S_INITREG,value);
  2008. #endif
  2009. return tmp_value.bitc.te;
  2010. }
  2011. GH_INLINE void GH_I2S_set_Initreg_rxfrst(U8 data)
  2012. {
  2013. GH_I2S_INITREG_S d;
  2014. d.all = *(volatile U32 *)REG_I2S_INITREG;
  2015. d.bitc.rxfrst = data;
  2016. *(volatile U32 *)REG_I2S_INITREG = d.all;
  2017. #if GH_I2S_ENABLE_DEBUG_PRINT
  2018. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Initreg_rxfrst] <-- 0x%08x\n",
  2019. REG_I2S_INITREG,d.all,d.all);
  2020. #endif
  2021. }
  2022. GH_INLINE U8 GH_I2S_get_Initreg_rxfrst(void)
  2023. {
  2024. GH_I2S_INITREG_S tmp_value;
  2025. U32 value = (*(volatile U32 *)REG_I2S_INITREG);
  2026. tmp_value.all = value;
  2027. #if GH_I2S_ENABLE_DEBUG_PRINT
  2028. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Initreg_rxfrst] --> 0x%08x\n",
  2029. REG_I2S_INITREG,value);
  2030. #endif
  2031. return tmp_value.bitc.rxfrst;
  2032. }
  2033. GH_INLINE void GH_I2S_set_Initreg_frst(U8 data)
  2034. {
  2035. GH_I2S_INITREG_S d;
  2036. d.all = *(volatile U32 *)REG_I2S_INITREG;
  2037. d.bitc.frst = data;
  2038. *(volatile U32 *)REG_I2S_INITREG = d.all;
  2039. #if GH_I2S_ENABLE_DEBUG_PRINT
  2040. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_Initreg_frst] <-- 0x%08x\n",
  2041. REG_I2S_INITREG,d.all,d.all);
  2042. #endif
  2043. }
  2044. GH_INLINE U8 GH_I2S_get_Initreg_frst(void)
  2045. {
  2046. GH_I2S_INITREG_S tmp_value;
  2047. U32 value = (*(volatile U32 *)REG_I2S_INITREG);
  2048. tmp_value.all = value;
  2049. #if GH_I2S_ENABLE_DEBUG_PRINT
  2050. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Initreg_frst] --> 0x%08x\n",
  2051. REG_I2S_INITREG,value);
  2052. #endif
  2053. return tmp_value.bitc.frst;
  2054. }
  2055. #endif /* GH_INLINE_LEVEL == 0 */
  2056. /*----------------------------------------------------------------------------*/
  2057. /* register I2S_SlotReg (read/write) */
  2058. /*----------------------------------------------------------------------------*/
  2059. #if GH_INLINE_LEVEL == 0
  2060. /*! \brief Writes the register 'I2S_SlotReg'. */
  2061. void GH_I2S_set_SlotReg(U32 data);
  2062. /*! \brief Reads the register 'I2S_SlotReg'. */
  2063. U32 GH_I2S_get_SlotReg(void);
  2064. /*! \brief Writes the bit group 'slotcont' of register 'I2S_SlotReg'. */
  2065. void GH_I2S_set_SlotReg_slotcont(U8 data);
  2066. /*! \brief Reads the bit group 'slotcont' of register 'I2S_SlotReg'. */
  2067. U8 GH_I2S_get_SlotReg_slotcont(void);
  2068. #else /* GH_INLINE_LEVEL == 0 */
  2069. GH_INLINE void GH_I2S_set_SlotReg(U32 data)
  2070. {
  2071. *(volatile U32 *)REG_I2S_SLOTREG = data;
  2072. #if GH_I2S_ENABLE_DEBUG_PRINT
  2073. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_SlotReg] <-- 0x%08x\n",
  2074. REG_I2S_SLOTREG,data,data);
  2075. #endif
  2076. }
  2077. GH_INLINE U32 GH_I2S_get_SlotReg(void)
  2078. {
  2079. U32 value = (*(volatile U32 *)REG_I2S_SLOTREG);
  2080. #if GH_I2S_ENABLE_DEBUG_PRINT
  2081. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_SlotReg] --> 0x%08x\n",
  2082. REG_I2S_SLOTREG,value);
  2083. #endif
  2084. return value;
  2085. }
  2086. GH_INLINE void GH_I2S_set_SlotReg_slotcont(U8 data)
  2087. {
  2088. GH_I2S_SLOTREG_S d;
  2089. d.all = *(volatile U32 *)REG_I2S_SLOTREG;
  2090. d.bitc.slotcont = data;
  2091. *(volatile U32 *)REG_I2S_SLOTREG = d.all;
  2092. #if GH_I2S_ENABLE_DEBUG_PRINT
  2093. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_SlotReg_slotcont] <-- 0x%08x\n",
  2094. REG_I2S_SLOTREG,d.all,d.all);
  2095. #endif
  2096. }
  2097. GH_INLINE U8 GH_I2S_get_SlotReg_slotcont(void)
  2098. {
  2099. GH_I2S_SLOTREG_S tmp_value;
  2100. U32 value = (*(volatile U32 *)REG_I2S_SLOTREG);
  2101. tmp_value.all = value;
  2102. #if GH_I2S_ENABLE_DEBUG_PRINT
  2103. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_SlotReg_slotcont] --> 0x%08x\n",
  2104. REG_I2S_SLOTREG,value);
  2105. #endif
  2106. return tmp_value.bitc.slotcont;
  2107. }
  2108. #endif /* GH_INLINE_LEVEL == 0 */
  2109. /*----------------------------------------------------------------------------*/
  2110. /* register I2S_RxFifoFlag (read) */
  2111. /*----------------------------------------------------------------------------*/
  2112. #if GH_INLINE_LEVEL == 0
  2113. /*! \brief Reads the register 'I2S_RxFifoFlag'. */
  2114. U32 GH_I2S_get_RxFifoFlag(void);
  2115. /*! \brief Reads the bit group 'fo' of register 'I2S_RxFifoFlag'. */
  2116. U8 GH_I2S_get_RxFifoFlag_fo(void);
  2117. /*! \brief Reads the bit group 'fe' of register 'I2S_RxFifoFlag'. */
  2118. U8 GH_I2S_get_RxFifoFlag_fe(void);
  2119. /*! \brief Reads the bit group 'ftv' of register 'I2S_RxFifoFlag'. */
  2120. U8 GH_I2S_get_RxFifoFlag_ftv(void);
  2121. /*! \brief Reads the bit group 'ri' of register 'I2S_RxFifoFlag'. */
  2122. U8 GH_I2S_get_RxFifoFlag_ri(void);
  2123. /*! \brief Reads the bit group 'ff' of register 'I2S_RxFifoFlag'. */
  2124. U8 GH_I2S_get_RxFifoFlag_ff(void);
  2125. #else /* GH_INLINE_LEVEL == 0 */
  2126. GH_INLINE U32 GH_I2S_get_RxFifoFlag(void)
  2127. {
  2128. U32 value = (*(volatile U32 *)REG_I2S_RXFIFOFLAG);
  2129. #if GH_I2S_ENABLE_DEBUG_PRINT
  2130. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxFifoFlag] --> 0x%08x\n",
  2131. REG_I2S_RXFIFOFLAG,value);
  2132. #endif
  2133. return value;
  2134. }
  2135. GH_INLINE U8 GH_I2S_get_RxFifoFlag_fo(void)
  2136. {
  2137. GH_I2S_RXFIFOFLAG_S tmp_value;
  2138. U32 value = (*(volatile U32 *)REG_I2S_RXFIFOFLAG);
  2139. tmp_value.all = value;
  2140. #if GH_I2S_ENABLE_DEBUG_PRINT
  2141. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxFifoFlag_fo] --> 0x%08x\n",
  2142. REG_I2S_RXFIFOFLAG,value);
  2143. #endif
  2144. return tmp_value.bitc.fo;
  2145. }
  2146. GH_INLINE U8 GH_I2S_get_RxFifoFlag_fe(void)
  2147. {
  2148. GH_I2S_RXFIFOFLAG_S tmp_value;
  2149. U32 value = (*(volatile U32 *)REG_I2S_RXFIFOFLAG);
  2150. tmp_value.all = value;
  2151. #if GH_I2S_ENABLE_DEBUG_PRINT
  2152. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxFifoFlag_fe] --> 0x%08x\n",
  2153. REG_I2S_RXFIFOFLAG,value);
  2154. #endif
  2155. return tmp_value.bitc.fe;
  2156. }
  2157. GH_INLINE U8 GH_I2S_get_RxFifoFlag_ftv(void)
  2158. {
  2159. GH_I2S_RXFIFOFLAG_S tmp_value;
  2160. U32 value = (*(volatile U32 *)REG_I2S_RXFIFOFLAG);
  2161. tmp_value.all = value;
  2162. #if GH_I2S_ENABLE_DEBUG_PRINT
  2163. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxFifoFlag_ftv] --> 0x%08x\n",
  2164. REG_I2S_RXFIFOFLAG,value);
  2165. #endif
  2166. return tmp_value.bitc.ftv;
  2167. }
  2168. GH_INLINE U8 GH_I2S_get_RxFifoFlag_ri(void)
  2169. {
  2170. GH_I2S_RXFIFOFLAG_S tmp_value;
  2171. U32 value = (*(volatile U32 *)REG_I2S_RXFIFOFLAG);
  2172. tmp_value.all = value;
  2173. #if GH_I2S_ENABLE_DEBUG_PRINT
  2174. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxFifoFlag_ri] --> 0x%08x\n",
  2175. REG_I2S_RXFIFOFLAG,value);
  2176. #endif
  2177. return tmp_value.bitc.ri;
  2178. }
  2179. GH_INLINE U8 GH_I2S_get_RxFifoFlag_ff(void)
  2180. {
  2181. GH_I2S_RXFIFOFLAG_S tmp_value;
  2182. U32 value = (*(volatile U32 *)REG_I2S_RXFIFOFLAG);
  2183. tmp_value.all = value;
  2184. #if GH_I2S_ENABLE_DEBUG_PRINT
  2185. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_RxFifoFlag_ff] --> 0x%08x\n",
  2186. REG_I2S_RXFIFOFLAG,value);
  2187. #endif
  2188. return tmp_value.bitc.ff;
  2189. }
  2190. #endif /* GH_INLINE_LEVEL == 0 */
  2191. /*----------------------------------------------------------------------------*/
  2192. /* register I2S_WlReg (read/write) */
  2193. /*----------------------------------------------------------------------------*/
  2194. #if GH_INLINE_LEVEL == 0
  2195. /*! \brief Writes the register 'I2S_WlReg'. */
  2196. void GH_I2S_set_WlReg(U32 data);
  2197. /*! \brief Reads the register 'I2S_WlReg'. */
  2198. U32 GH_I2S_get_WlReg(void);
  2199. /*! \brief Writes the bit group 'Wlen' of register 'I2S_WlReg'. */
  2200. void GH_I2S_set_WlReg_Wlen(U8 data);
  2201. /*! \brief Reads the bit group 'Wlen' of register 'I2S_WlReg'. */
  2202. U8 GH_I2S_get_WlReg_Wlen(void);
  2203. #else /* GH_INLINE_LEVEL == 0 */
  2204. GH_INLINE void GH_I2S_set_WlReg(U32 data)
  2205. {
  2206. *(volatile U32 *)REG_I2S_WLREG = data;
  2207. #if GH_I2S_ENABLE_DEBUG_PRINT
  2208. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_WlReg] <-- 0x%08x\n",
  2209. REG_I2S_WLREG,data,data);
  2210. #endif
  2211. }
  2212. GH_INLINE U32 GH_I2S_get_WlReg(void)
  2213. {
  2214. U32 value = (*(volatile U32 *)REG_I2S_WLREG);
  2215. #if GH_I2S_ENABLE_DEBUG_PRINT
  2216. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_WlReg] --> 0x%08x\n",
  2217. REG_I2S_WLREG,value);
  2218. #endif
  2219. return value;
  2220. }
  2221. GH_INLINE void GH_I2S_set_WlReg_Wlen(U8 data)
  2222. {
  2223. GH_I2S_WLREG_S d;
  2224. d.all = *(volatile U32 *)REG_I2S_WLREG;
  2225. d.bitc.wlen = data;
  2226. *(volatile U32 *)REG_I2S_WLREG = d.all;
  2227. #if GH_I2S_ENABLE_DEBUG_PRINT
  2228. GH_I2S_DEBUG_PRINT_FUNCTION( "WRREG(0x%08x,0x%08x); \\\\ [GH_I2S_set_WlReg_Wlen] <-- 0x%08x\n",
  2229. REG_I2S_WLREG,d.all,d.all);
  2230. #endif
  2231. }
  2232. GH_INLINE U8 GH_I2S_get_WlReg_Wlen(void)
  2233. {
  2234. GH_I2S_WLREG_S tmp_value;
  2235. U32 value = (*(volatile U32 *)REG_I2S_WLREG);
  2236. tmp_value.all = value;
  2237. #if GH_I2S_ENABLE_DEBUG_PRINT
  2238. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_WlReg_Wlen] --> 0x%08x\n",
  2239. REG_I2S_WLREG,value);
  2240. #endif
  2241. return tmp_value.bitc.wlen;
  2242. }
  2243. #endif /* GH_INLINE_LEVEL == 0 */
  2244. /*----------------------------------------------------------------------------*/
  2245. /* register I2S_Rx_Dma (read) */
  2246. /*----------------------------------------------------------------------------*/
  2247. #if GH_INLINE_LEVEL == 0
  2248. /*! \brief Reads the register 'I2S_Rx_Dma'. */
  2249. U32 GH_I2S_get_Rx_Dma(void);
  2250. /*! \brief Reads the bit group 'data' of register 'I2S_Rx_Dma'. */
  2251. U32 GH_I2S_get_Rx_Dma_data(void);
  2252. #else /* GH_INLINE_LEVEL == 0 */
  2253. GH_INLINE U32 GH_I2S_get_Rx_Dma(void)
  2254. {
  2255. U32 value = (*(volatile U32 *)REG_I2S_RX_DMA);
  2256. #if GH_I2S_ENABLE_DEBUG_PRINT
  2257. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Rx_Dma] --> 0x%08x\n",
  2258. REG_I2S_RX_DMA,value);
  2259. #endif
  2260. return value;
  2261. }
  2262. GH_INLINE U32 GH_I2S_get_Rx_Dma_data(void)
  2263. {
  2264. GH_I2S_RX_DMA_S tmp_value;
  2265. U32 value = (*(volatile U32 *)REG_I2S_RX_DMA);
  2266. tmp_value.all = value;
  2267. #if GH_I2S_ENABLE_DEBUG_PRINT
  2268. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Rx_Dma_data] --> 0x%08x\n",
  2269. REG_I2S_RX_DMA,value);
  2270. #endif
  2271. return tmp_value.bitc.data;
  2272. }
  2273. #endif /* GH_INLINE_LEVEL == 0 */
  2274. /*----------------------------------------------------------------------------*/
  2275. /* register I2S_Tx_Left_Dma (read) */
  2276. /*----------------------------------------------------------------------------*/
  2277. #if GH_INLINE_LEVEL == 0
  2278. /*! \brief Reads the register 'I2S_Tx_Left_Dma'. */
  2279. U32 GH_I2S_get_Tx_Left_Dma(void);
  2280. /*! \brief Reads the bit group 'data' of register 'I2S_Tx_Left_Dma'. */
  2281. U32 GH_I2S_get_Tx_Left_Dma_data(void);
  2282. #else /* GH_INLINE_LEVEL == 0 */
  2283. GH_INLINE U32 GH_I2S_get_Tx_Left_Dma(void)
  2284. {
  2285. U32 value = (*(volatile U32 *)REG_I2S_TX_LEFT_DMA);
  2286. #if GH_I2S_ENABLE_DEBUG_PRINT
  2287. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Tx_Left_Dma] --> 0x%08x\n",
  2288. REG_I2S_TX_LEFT_DMA,value);
  2289. #endif
  2290. return value;
  2291. }
  2292. GH_INLINE U32 GH_I2S_get_Tx_Left_Dma_data(void)
  2293. {
  2294. GH_I2S_TX_LEFT_DMA_S tmp_value;
  2295. U32 value = (*(volatile U32 *)REG_I2S_TX_LEFT_DMA);
  2296. tmp_value.all = value;
  2297. #if GH_I2S_ENABLE_DEBUG_PRINT
  2298. GH_I2S_DEBUG_PRINT_FUNCTION( "value = RDREG(0x%08x); \\\\ [GH_I2S_get_Tx_Left_Dma_data] --> 0x%08x\n",
  2299. REG_I2S_TX_LEFT_DMA,value);
  2300. #endif
  2301. return tmp_value.bitc.data;
  2302. }
  2303. #endif /* GH_INLINE_LEVEL == 0 */
  2304. /*----------------------------------------------------------------------------*/
  2305. /* init function */
  2306. /*----------------------------------------------------------------------------*/
  2307. /*! \brief Initialises the registers and mirror variables. */
  2308. void GH_I2S_init(void);
  2309. #ifdef __cplusplus
  2310. }
  2311. #endif
  2312. #endif /* _GH_I2S_H */
  2313. /*----------------------------------------------------------------------------*/
  2314. /* end of file */
  2315. /*----------------------------------------------------------------------------*/