gh_pmu.h 31 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661
  1. /*!
  2. *******************************************************************************
  3. **
  4. ** \file gh_pmu.h
  5. **
  6. ** \brief Power Management Unit.
  7. **
  8. ** Copyright: 2012 - 2016 (C) GoKe Microelectronics
  9. **
  10. ** \attention THIS SAMPLE CODE IS PROVIDED AS IS. GOKE MICROELECTRONICS
  11. ** ACCEPTS NO RESPONSIBILITY OR LIABILITY FOR ANY ERRORS OR
  12. ** OMMISSIONS.
  13. **
  14. ** \note Do not modify this file as it is generated automatically.
  15. **
  16. ******************************************************************************/
  17. #ifndef _GH_PMU_H
  18. #define _GH_PMU_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_PMU_ENABLE_DEBUG_PRINT 0
  30. #ifdef __LINUX__
  31. #define GH_PMU_DEBUG_PRINT_FUNCTION printk
  32. #else
  33. #define GH_PMU_DEBUG_PRINT_FUNCTION printf
  34. #endif
  35. #ifndef __LINUX__
  36. #if GH_PMU_ENABLE_DEBUG_PRINT
  37. #include <stdio.h>
  38. #endif
  39. #endif
  40. /*----------------------------------------------------------------------------*/
  41. /* registers */
  42. /*----------------------------------------------------------------------------*/
  43. #define REG_PMU_SYS_REG_CFG0 FIO_ADDRESS(PMU,0x9008A000) /* read/write */
  44. #define REG_PMU_SYS_REG_CFG1 FIO_ADDRESS(PMU,0x9008A004) /* read/write */
  45. #define REG_PMU_SYS_REG_CFG3 FIO_ADDRESS(PMU,0x9008A00C) /* read/write */
  46. #define REG_PMU_SYS_REG_CFG7 FIO_ADDRESS(PMU,0x9008A01C) /* read/write */
  47. #define REG_PMU_SYS_REG_CFG8 FIO_ADDRESS(PMU,0x9008A020) /* read/write */
  48. #define REG_PMU_SYS_REG_CFG9 FIO_ADDRESS(PMU,0x9008A024) /* read/write */
  49. #define REG_PMU_SYS_REG_CFG10 FIO_ADDRESS(PMU,0x9008A028) /* read/write */
  50. #define REG_PMU_SYS_REG_CFG11 FIO_ADDRESS(PMU,0x9008A02C) /* read/write */
  51. #define REG_PMU_SYS_REG_CFG16 FIO_ADDRESS(PMU,0x9008A040) /* read/write */
  52. #define REG_PMU_SYS_REG_CFG17 FIO_ADDRESS(PMU,0x9008A044) /* read/write */
  53. #define REG_PMU_SYS_REG_CFG18 FIO_ADDRESS(PMU,0x9008A048) /* read/write */
  54. #define REG_PMU_IRQ_EN_MASK FIO_ADDRESS(PMU,0x9008DC00) /* read/write */
  55. #define REG_PMU_IRQ_CLR_RTC FIO_ADDRESS(PMU,0x9008DC20) /* read/write */
  56. #define REG_PMU_IRQ_CLR_IRR FIO_ADDRESS(PMU,0x9008DC24) /* read/write */
  57. #define REG_PMU_IRQ_CLR_FPC FIO_ADDRESS(PMU,0x9008DC28) /* read/write */
  58. #define REG_PMU_IRQ_CLR_GPIO FIO_ADDRESS(PMU,0x9008DC2C) /* read/write */
  59. #define REG_PMU_IRQ_CLR_CEC FIO_ADDRESS(PMU,0x9008DC30) /* read/write */
  60. #define REG_PMU_IRQ_CLR_ADC FIO_ADDRESS(PMU,0x9008DC34) /* read/write */
  61. #define REG_PMU_IRQ_CLR_IRT FIO_ADDRESS(PMU,0x9008DC38) /* read/write */
  62. #define REG_PMU_IRQ_STATUS FIO_ADDRESS(PMU,0x9008DC40) /* read/write */
  63. #define REG_PMU_C51_LOADCODE_ADDR FIO_ADDRESS(PMU,0x900C0000) /* read/write */
  64. /*----------------------------------------------------------------------------*/
  65. /* bit group structures */
  66. /*----------------------------------------------------------------------------*/
  67. typedef union { /* PMU_SYS_REG_CFG0 */
  68. U32 all;
  69. struct {
  70. U32 pmu_en : 1;
  71. U32 : 3;
  72. U32 sys_reset : 1;
  73. U32 sw_reset : 1;
  74. U32 : 26;
  75. } bitc;
  76. } GH_PMU_SYS_REG_CFG0_S;
  77. typedef union { /* PMU_SYS_REG_CFG1 */
  78. U32 all;
  79. struct {
  80. U32 : 4;
  81. U32 gpio4 : 1;
  82. U32 : 2;
  83. U32 gpio7 : 1;
  84. U32 : 24;
  85. } bitc;
  86. } GH_PMU_SYS_REG_CFG1_S;
  87. typedef union { /* PMU_SYS_REG_CFG3 */
  88. U32 all;
  89. struct {
  90. U32 cec_en : 1;
  91. U32 : 2;
  92. U32 pt6964_key_in : 1;
  93. U32 ct1642_key_in : 1;
  94. U32 : 1;
  95. U32 pwr_wakeup : 1;
  96. U32 ir_in : 1;
  97. U32 : 24;
  98. } bitc;
  99. } GH_PMU_SYS_REG_CFG3_S;
  100. typedef union { /* PMU_SYS_REG_CFG7 */
  101. U32 all;
  102. struct {
  103. U32 power_down : 1;
  104. U32 : 31;
  105. } bitc;
  106. } GH_PMU_SYS_REG_CFG7_S;
  107. typedef union { /* PMU_SYS_REG_CFG8 */
  108. U32 all;
  109. struct {
  110. U32 wd_low_value : 8;
  111. U32 : 24;
  112. } bitc;
  113. } GH_PMU_SYS_REG_CFG8_S;
  114. typedef union { /* PMU_SYS_REG_CFG9 */
  115. U32 all;
  116. struct {
  117. U32 wd_high_value : 8;
  118. U32 : 24;
  119. } bitc;
  120. } GH_PMU_SYS_REG_CFG9_S;
  121. typedef union { /* PMU_SYS_REG_CFG10 */
  122. U32 all;
  123. struct {
  124. U32 wd_update : 8;
  125. U32 : 24;
  126. } bitc;
  127. } GH_PMU_SYS_REG_CFG10_S;
  128. typedef union { /* PMU_SYS_REG_CFG11 */
  129. U32 all;
  130. struct {
  131. U32 m51reset_dis : 1;
  132. U32 m51clk_en : 1;
  133. U32 : 2;
  134. U32 dlcode_en : 1;
  135. U32 dlcode_to_m51 : 1;
  136. U32 m51_handle : 1;
  137. U32 cpu_handle : 1;
  138. U32 : 24;
  139. } bitc;
  140. } GH_PMU_SYS_REG_CFG11_S;
  141. typedef union { /* PMU_SYS_REG_CFG16 */
  142. U32 all;
  143. struct {
  144. U32 xclk_iopad : 1;
  145. U32 rtc_iopad : 1;
  146. U32 : 30;
  147. } bitc;
  148. } GH_PMU_SYS_REG_CFG16_S;
  149. typedef union { /* PMU_SYS_REG_CFG17 */
  150. U32 all;
  151. struct {
  152. U32 rtc_clk_sel : 1;
  153. U32 rtc_cnt_reset : 1;
  154. U32 : 30;
  155. } bitc;
  156. } GH_PMU_SYS_REG_CFG17_S;
  157. typedef union { /* PMU_SYS_REG_CFG18 */
  158. U32 all;
  159. struct {
  160. U32 e : 2;
  161. U32 sr : 1;
  162. U32 smt : 1;
  163. U32 p : 2;
  164. U32 : 26;
  165. } bitc;
  166. } GH_PMU_SYS_REG_CFG18_S;
  167. typedef union { /* PMU_IRQ_EN_MASK */
  168. U32 all;
  169. struct {
  170. U32 rtc_en : 1;
  171. U32 irr_en : 1;
  172. U32 fpc_en : 1;
  173. U32 gpio_en : 1;
  174. U32 cec_en : 1;
  175. U32 adc_en : 1;
  176. U32 irt_en : 1;
  177. U32 : 25;
  178. } bitc;
  179. } GH_PMU_IRQ_EN_MASK_S;
  180. typedef union { /* PMU_IRQ_CLR_RTC */
  181. U32 all;
  182. struct {
  183. U32 irqclr : 8;
  184. U32 : 24;
  185. } bitc;
  186. } GH_PMU_IRQ_CLR_RTC_S;
  187. typedef union { /* PMU_IRQ_CLR_IRR */
  188. U32 all;
  189. struct {
  190. U32 irqclr : 8;
  191. U32 : 24;
  192. } bitc;
  193. } GH_PMU_IRQ_CLR_IRR_S;
  194. typedef union { /* PMU_IRQ_CLR_FPC */
  195. U32 all;
  196. struct {
  197. U32 irqclr : 8;
  198. U32 : 24;
  199. } bitc;
  200. } GH_PMU_IRQ_CLR_FPC_S;
  201. typedef union { /* PMU_IRQ_CLR_GPIO */
  202. U32 all;
  203. struct {
  204. U32 irqclr : 8;
  205. U32 : 24;
  206. } bitc;
  207. } GH_PMU_IRQ_CLR_GPIO_S;
  208. typedef union { /* PMU_IRQ_CLR_CEC */
  209. U32 all;
  210. struct {
  211. U32 irqclr : 8;
  212. U32 : 24;
  213. } bitc;
  214. } GH_PMU_IRQ_CLR_CEC_S;
  215. typedef union { /* PMU_IRQ_CLR_ADC */
  216. U32 all;
  217. struct {
  218. U32 irqclr : 8;
  219. U32 : 24;
  220. } bitc;
  221. } GH_PMU_IRQ_CLR_ADC_S;
  222. typedef union { /* PMU_IRQ_CLR_IRT */
  223. U32 all;
  224. struct {
  225. U32 irqclr : 8;
  226. U32 : 24;
  227. } bitc;
  228. } GH_PMU_IRQ_CLR_IRT_S;
  229. typedef union { /* PMU_IRQ_STATUS */
  230. U32 all;
  231. struct {
  232. U32 rtc_irq : 1;
  233. U32 irr_irq : 1;
  234. U32 fpc_irq : 1;
  235. U32 gpio_irq : 1;
  236. U32 cec_irq : 1;
  237. U32 adc_irq : 1;
  238. U32 irt_irq : 1;
  239. U32 : 25;
  240. } bitc;
  241. } GH_PMU_IRQ_STATUS_S;
  242. /*----------------------------------------------------------------------------*/
  243. /* mirror variables */
  244. /*----------------------------------------------------------------------------*/
  245. #ifdef __cplusplus
  246. extern "C" {
  247. #endif
  248. /*----------------------------------------------------------------------------*/
  249. /* register PMU_SYS_REG_CFG0 (read/write) */
  250. /*----------------------------------------------------------------------------*/
  251. /*! \brief Writes the register 'PMU_SYS_REG_CFG0'. */
  252. void GH_PMU_set_SYS_REG_CFG0(U32 data);
  253. /*! \brief Reads the register 'PMU_SYS_REG_CFG0'. */
  254. U32 GH_PMU_get_SYS_REG_CFG0(void);
  255. /*! \brief Writes the bit group 'PMU_EN' of register 'PMU_SYS_REG_CFG0'. */
  256. void GH_PMU_set_SYS_REG_CFG0_PMU_EN(U8 data);
  257. /*! \brief Reads the bit group 'PMU_EN' of register 'PMU_SYS_REG_CFG0'. */
  258. U8 GH_PMU_get_SYS_REG_CFG0_PMU_EN(void);
  259. /*! \brief Writes the bit group 'SYS_RESET' of register 'PMU_SYS_REG_CFG0'. */
  260. void GH_PMU_set_SYS_REG_CFG0_SYS_RESET(U8 data);
  261. /*! \brief Reads the bit group 'SYS_RESET' of register 'PMU_SYS_REG_CFG0'. */
  262. U8 GH_PMU_get_SYS_REG_CFG0_SYS_RESET(void);
  263. /*! \brief Writes the bit group 'SW_RESET' of register 'PMU_SYS_REG_CFG0'. */
  264. void GH_PMU_set_SYS_REG_CFG0_SW_RESET(U8 data);
  265. /*! \brief Reads the bit group 'SW_RESET' of register 'PMU_SYS_REG_CFG0'. */
  266. U8 GH_PMU_get_SYS_REG_CFG0_SW_RESET(void);
  267. /*----------------------------------------------------------------------------*/
  268. /* register PMU_SYS_REG_CFG1 (read/write) */
  269. /*----------------------------------------------------------------------------*/
  270. /*! \brief Writes the register 'PMU_SYS_REG_CFG1'. */
  271. void GH_PMU_set_SYS_REG_CFG1(U32 data);
  272. /*! \brief Reads the register 'PMU_SYS_REG_CFG1'. */
  273. U32 GH_PMU_get_SYS_REG_CFG1(void);
  274. /*! \brief Writes the bit group 'GPIO4' of register 'PMU_SYS_REG_CFG1'. */
  275. void GH_PMU_set_SYS_REG_CFG1_GPIO4(U8 data);
  276. /*! \brief Reads the bit group 'GPIO4' of register 'PMU_SYS_REG_CFG1'. */
  277. U8 GH_PMU_get_SYS_REG_CFG1_GPIO4(void);
  278. /*! \brief Writes the bit group 'GPIO7' of register 'PMU_SYS_REG_CFG1'. */
  279. void GH_PMU_set_SYS_REG_CFG1_GPIO7(U8 data);
  280. /*! \brief Reads the bit group 'GPIO7' of register 'PMU_SYS_REG_CFG1'. */
  281. U8 GH_PMU_get_SYS_REG_CFG1_GPIO7(void);
  282. /*----------------------------------------------------------------------------*/
  283. /* register PMU_SYS_REG_CFG3 (read/write) */
  284. /*----------------------------------------------------------------------------*/
  285. /*! \brief Writes the register 'PMU_SYS_REG_CFG3'. */
  286. void GH_PMU_set_SYS_REG_CFG3(U32 data);
  287. /*! \brief Reads the register 'PMU_SYS_REG_CFG3'. */
  288. U32 GH_PMU_get_SYS_REG_CFG3(void);
  289. /*! \brief Writes the bit group 'CEC_EN' of register 'PMU_SYS_REG_CFG3'. */
  290. void GH_PMU_set_SYS_REG_CFG3_CEC_EN(U8 data);
  291. /*! \brief Reads the bit group 'CEC_EN' of register 'PMU_SYS_REG_CFG3'. */
  292. U8 GH_PMU_get_SYS_REG_CFG3_CEC_EN(void);
  293. /*! \brief Writes the bit group 'PT6964_KEY_IN' of register 'PMU_SYS_REG_CFG3'. */
  294. void GH_PMU_set_SYS_REG_CFG3_PT6964_KEY_IN(U8 data);
  295. /*! \brief Reads the bit group 'PT6964_KEY_IN' of register 'PMU_SYS_REG_CFG3'. */
  296. U8 GH_PMU_get_SYS_REG_CFG3_PT6964_KEY_IN(void);
  297. /*! \brief Writes the bit group 'CT1642_KEY_IN' of register 'PMU_SYS_REG_CFG3'. */
  298. void GH_PMU_set_SYS_REG_CFG3_CT1642_KEY_IN(U8 data);
  299. /*! \brief Reads the bit group 'CT1642_KEY_IN' of register 'PMU_SYS_REG_CFG3'. */
  300. U8 GH_PMU_get_SYS_REG_CFG3_CT1642_KEY_IN(void);
  301. /*! \brief Writes the bit group 'PWR_WAKEUP' of register 'PMU_SYS_REG_CFG3'. */
  302. void GH_PMU_set_SYS_REG_CFG3_PWR_WAKEUP(U8 data);
  303. /*! \brief Reads the bit group 'PWR_WAKEUP' of register 'PMU_SYS_REG_CFG3'. */
  304. U8 GH_PMU_get_SYS_REG_CFG3_PWR_WAKEUP(void);
  305. /*! \brief Writes the bit group 'IR_IN' of register 'PMU_SYS_REG_CFG3'. */
  306. void GH_PMU_set_SYS_REG_CFG3_IR_IN(U8 data);
  307. /*! \brief Reads the bit group 'IR_IN' of register 'PMU_SYS_REG_CFG3'. */
  308. U8 GH_PMU_get_SYS_REG_CFG3_IR_IN(void);
  309. /*----------------------------------------------------------------------------*/
  310. /* register PMU_SYS_REG_CFG7 (read/write) */
  311. /*----------------------------------------------------------------------------*/
  312. /*! \brief Writes the register 'PMU_SYS_REG_CFG7'. */
  313. void GH_PMU_set_SYS_REG_CFG7(U32 data);
  314. /*! \brief Reads the register 'PMU_SYS_REG_CFG7'. */
  315. U32 GH_PMU_get_SYS_REG_CFG7(void);
  316. /*! \brief Writes the bit group 'POWER_DOWN' of register 'PMU_SYS_REG_CFG7'. */
  317. void GH_PMU_set_SYS_REG_CFG7_POWER_DOWN(U8 data);
  318. /*! \brief Reads the bit group 'POWER_DOWN' of register 'PMU_SYS_REG_CFG7'. */
  319. U8 GH_PMU_get_SYS_REG_CFG7_POWER_DOWN(void);
  320. /*----------------------------------------------------------------------------*/
  321. /* register PMU_SYS_REG_CFG8 (read/write) */
  322. /*----------------------------------------------------------------------------*/
  323. /*! \brief Writes the register 'PMU_SYS_REG_CFG8'. */
  324. void GH_PMU_set_SYS_REG_CFG8(U32 data);
  325. /*! \brief Reads the register 'PMU_SYS_REG_CFG8'. */
  326. U32 GH_PMU_get_SYS_REG_CFG8(void);
  327. /*! \brief Writes the bit group 'WD_LOW_VALUE' of register 'PMU_SYS_REG_CFG8'. */
  328. void GH_PMU_set_SYS_REG_CFG8_WD_LOW_VALUE(U8 data);
  329. /*! \brief Reads the bit group 'WD_LOW_VALUE' of register 'PMU_SYS_REG_CFG8'. */
  330. U8 GH_PMU_get_SYS_REG_CFG8_WD_LOW_VALUE(void);
  331. /*----------------------------------------------------------------------------*/
  332. /* register PMU_SYS_REG_CFG9 (read/write) */
  333. /*----------------------------------------------------------------------------*/
  334. /*! \brief Writes the register 'PMU_SYS_REG_CFG9'. */
  335. void GH_PMU_set_SYS_REG_CFG9(U32 data);
  336. /*! \brief Reads the register 'PMU_SYS_REG_CFG9'. */
  337. U32 GH_PMU_get_SYS_REG_CFG9(void);
  338. /*! \brief Writes the bit group 'WD_HIGH_VALUE' of register 'PMU_SYS_REG_CFG9'. */
  339. void GH_PMU_set_SYS_REG_CFG9_WD_HIGH_VALUE(U8 data);
  340. /*! \brief Reads the bit group 'WD_HIGH_VALUE' of register 'PMU_SYS_REG_CFG9'. */
  341. U8 GH_PMU_get_SYS_REG_CFG9_WD_HIGH_VALUE(void);
  342. /*----------------------------------------------------------------------------*/
  343. /* register PMU_SYS_REG_CFG10 (read/write) */
  344. /*----------------------------------------------------------------------------*/
  345. /*! \brief Writes the register 'PMU_SYS_REG_CFG10'. */
  346. void GH_PMU_set_SYS_REG_CFG10(U32 data);
  347. /*! \brief Reads the register 'PMU_SYS_REG_CFG10'. */
  348. U32 GH_PMU_get_SYS_REG_CFG10(void);
  349. /*! \brief Writes the bit group 'WD_UPDATE' of register 'PMU_SYS_REG_CFG10'. */
  350. void GH_PMU_set_SYS_REG_CFG10_WD_UPDATE(U8 data);
  351. /*! \brief Reads the bit group 'WD_UPDATE' of register 'PMU_SYS_REG_CFG10'. */
  352. U8 GH_PMU_get_SYS_REG_CFG10_WD_UPDATE(void);
  353. /*----------------------------------------------------------------------------*/
  354. /* register PMU_SYS_REG_CFG11 (read/write) */
  355. /*----------------------------------------------------------------------------*/
  356. /*! \brief Writes the register 'PMU_SYS_REG_CFG11'. */
  357. void GH_PMU_set_SYS_REG_CFG11(U32 data);
  358. /*! \brief Reads the register 'PMU_SYS_REG_CFG11'. */
  359. U32 GH_PMU_get_SYS_REG_CFG11(void);
  360. /*! \brief Writes the bit group 'M51RESET_DIS' of register 'PMU_SYS_REG_CFG11'. */
  361. void GH_PMU_set_SYS_REG_CFG11_M51RESET_DIS(U8 data);
  362. /*! \brief Reads the bit group 'M51RESET_DIS' of register 'PMU_SYS_REG_CFG11'. */
  363. U8 GH_PMU_get_SYS_REG_CFG11_M51RESET_DIS(void);
  364. /*! \brief Writes the bit group 'M51CLK_EN' of register 'PMU_SYS_REG_CFG11'. */
  365. void GH_PMU_set_SYS_REG_CFG11_M51CLK_EN(U8 data);
  366. /*! \brief Reads the bit group 'M51CLK_EN' of register 'PMU_SYS_REG_CFG11'. */
  367. U8 GH_PMU_get_SYS_REG_CFG11_M51CLK_EN(void);
  368. /*! \brief Writes the bit group 'DLCODE_EN' of register 'PMU_SYS_REG_CFG11'. */
  369. void GH_PMU_set_SYS_REG_CFG11_DLCODE_EN(U8 data);
  370. /*! \brief Reads the bit group 'DLCODE_EN' of register 'PMU_SYS_REG_CFG11'. */
  371. U8 GH_PMU_get_SYS_REG_CFG11_DLCODE_EN(void);
  372. /*! \brief Writes the bit group 'DLCODE_TO_M51' of register 'PMU_SYS_REG_CFG11'. */
  373. void GH_PMU_set_SYS_REG_CFG11_DLCODE_TO_M51(U8 data);
  374. /*! \brief Reads the bit group 'DLCODE_TO_M51' of register 'PMU_SYS_REG_CFG11'. */
  375. U8 GH_PMU_get_SYS_REG_CFG11_DLCODE_TO_M51(void);
  376. /*! \brief Writes the bit group 'M51_HANDLE' of register 'PMU_SYS_REG_CFG11'. */
  377. void GH_PMU_set_SYS_REG_CFG11_M51_HANDLE(U8 data);
  378. /*! \brief Reads the bit group 'M51_HANDLE' of register 'PMU_SYS_REG_CFG11'. */
  379. U8 GH_PMU_get_SYS_REG_CFG11_M51_HANDLE(void);
  380. /*! \brief Writes the bit group 'CPU_HANDLE' of register 'PMU_SYS_REG_CFG11'. */
  381. void GH_PMU_set_SYS_REG_CFG11_CPU_HANDLE(U8 data);
  382. /*! \brief Reads the bit group 'CPU_HANDLE' of register 'PMU_SYS_REG_CFG11'. */
  383. U8 GH_PMU_get_SYS_REG_CFG11_CPU_HANDLE(void);
  384. /*----------------------------------------------------------------------------*/
  385. /* register PMU_SYS_REG_CFG16 (read/write) */
  386. /*----------------------------------------------------------------------------*/
  387. /*! \brief Writes the register 'PMU_SYS_REG_CFG16'. */
  388. void GH_PMU_set_SYS_REG_CFG16(U32 data);
  389. /*! \brief Reads the register 'PMU_SYS_REG_CFG16'. */
  390. U32 GH_PMU_get_SYS_REG_CFG16(void);
  391. /*! \brief Writes the bit group 'XCLK_IOPAD' of register 'PMU_SYS_REG_CFG16'. */
  392. void GH_PMU_set_SYS_REG_CFG16_XCLK_IOPAD(U8 data);
  393. /*! \brief Reads the bit group 'XCLK_IOPAD' of register 'PMU_SYS_REG_CFG16'. */
  394. U8 GH_PMU_get_SYS_REG_CFG16_XCLK_IOPAD(void);
  395. /*! \brief Writes the bit group 'RTC_IOPAD' of register 'PMU_SYS_REG_CFG16'. */
  396. void GH_PMU_set_SYS_REG_CFG16_RTC_IOPAD(U8 data);
  397. /*! \brief Reads the bit group 'RTC_IOPAD' of register 'PMU_SYS_REG_CFG16'. */
  398. U8 GH_PMU_get_SYS_REG_CFG16_RTC_IOPAD(void);
  399. /*----------------------------------------------------------------------------*/
  400. /* register PMU_SYS_REG_CFG17 (read/write) */
  401. /*----------------------------------------------------------------------------*/
  402. /*! \brief Writes the register 'PMU_SYS_REG_CFG17'. */
  403. void GH_PMU_set_SYS_REG_CFG17(U32 data);
  404. /*! \brief Reads the register 'PMU_SYS_REG_CFG17'. */
  405. U32 GH_PMU_get_SYS_REG_CFG17(void);
  406. /*! \brief Writes the bit group 'RTC_CLK_SEL' of register 'PMU_SYS_REG_CFG17'. */
  407. void GH_PMU_set_SYS_REG_CFG17_RTC_CLK_SEL(U8 data);
  408. /*! \brief Reads the bit group 'RTC_CLK_SEL' of register 'PMU_SYS_REG_CFG17'. */
  409. U8 GH_PMU_get_SYS_REG_CFG17_RTC_CLK_SEL(void);
  410. /*! \brief Writes the bit group 'RTC_CNT_RESET' of register 'PMU_SYS_REG_CFG17'. */
  411. void GH_PMU_set_SYS_REG_CFG17_RTC_CNT_RESET(U8 data);
  412. /*! \brief Reads the bit group 'RTC_CNT_RESET' of register 'PMU_SYS_REG_CFG17'. */
  413. U8 GH_PMU_get_SYS_REG_CFG17_RTC_CNT_RESET(void);
  414. /*----------------------------------------------------------------------------*/
  415. /* register PMU_SYS_REG_CFG18 (read/write) */
  416. /*----------------------------------------------------------------------------*/
  417. /*! \brief Writes the register 'PMU_SYS_REG_CFG18'. */
  418. void GH_PMU_set_SYS_REG_CFG18(U8 index, U32 data);
  419. /*! \brief Reads the register 'PMU_SYS_REG_CFG18'. */
  420. U32 GH_PMU_get_SYS_REG_CFG18(U8 index);
  421. /*! \brief Writes the bit group 'E' of register 'PMU_SYS_REG_CFG18'. */
  422. void GH_PMU_set_SYS_REG_CFG18_E(U8 index, U8 data);
  423. /*! \brief Reads the bit group 'E' of register 'PMU_SYS_REG_CFG18'. */
  424. U8 GH_PMU_get_SYS_REG_CFG18_E(U8 index);
  425. /*! \brief Writes the bit group 'SR' of register 'PMU_SYS_REG_CFG18'. */
  426. void GH_PMU_set_SYS_REG_CFG18_SR(U8 index, U8 data);
  427. /*! \brief Reads the bit group 'SR' of register 'PMU_SYS_REG_CFG18'. */
  428. U8 GH_PMU_get_SYS_REG_CFG18_SR(U8 index);
  429. /*! \brief Writes the bit group 'SMT' of register 'PMU_SYS_REG_CFG18'. */
  430. void GH_PMU_set_SYS_REG_CFG18_SMT(U8 index, U8 data);
  431. /*! \brief Reads the bit group 'SMT' of register 'PMU_SYS_REG_CFG18'. */
  432. U8 GH_PMU_get_SYS_REG_CFG18_SMT(U8 index);
  433. /*! \brief Writes the bit group 'P' of register 'PMU_SYS_REG_CFG18'. */
  434. void GH_PMU_set_SYS_REG_CFG18_P(U8 index, U8 data);
  435. /*! \brief Reads the bit group 'P' of register 'PMU_SYS_REG_CFG18'. */
  436. U8 GH_PMU_get_SYS_REG_CFG18_P(U8 index);
  437. /*----------------------------------------------------------------------------*/
  438. /* register PMU_IRQ_EN_MASK (read/write) */
  439. /*----------------------------------------------------------------------------*/
  440. /*! \brief Writes the register 'PMU_IRQ_EN_MASK'. */
  441. void GH_PMU_set_IRQ_EN_MASK(U32 data);
  442. /*! \brief Reads the register 'PMU_IRQ_EN_MASK'. */
  443. U32 GH_PMU_get_IRQ_EN_MASK(void);
  444. /*! \brief Writes the bit group 'RTC_EN' of register 'PMU_IRQ_EN_MASK'. */
  445. void GH_PMU_set_IRQ_EN_MASK_RTC_EN(U8 data);
  446. /*! \brief Reads the bit group 'RTC_EN' of register 'PMU_IRQ_EN_MASK'. */
  447. U8 GH_PMU_get_IRQ_EN_MASK_RTC_EN(void);
  448. /*! \brief Writes the bit group 'IRR_EN' of register 'PMU_IRQ_EN_MASK'. */
  449. void GH_PMU_set_IRQ_EN_MASK_IRR_EN(U8 data);
  450. /*! \brief Reads the bit group 'IRR_EN' of register 'PMU_IRQ_EN_MASK'. */
  451. U8 GH_PMU_get_IRQ_EN_MASK_IRR_EN(void);
  452. /*! \brief Writes the bit group 'FPC_EN' of register 'PMU_IRQ_EN_MASK'. */
  453. void GH_PMU_set_IRQ_EN_MASK_FPC_EN(U8 data);
  454. /*! \brief Reads the bit group 'FPC_EN' of register 'PMU_IRQ_EN_MASK'. */
  455. U8 GH_PMU_get_IRQ_EN_MASK_FPC_EN(void);
  456. /*! \brief Writes the bit group 'GPIO_EN' of register 'PMU_IRQ_EN_MASK'. */
  457. void GH_PMU_set_IRQ_EN_MASK_GPIO_EN(U8 data);
  458. /*! \brief Reads the bit group 'GPIO_EN' of register 'PMU_IRQ_EN_MASK'. */
  459. U8 GH_PMU_get_IRQ_EN_MASK_GPIO_EN(void);
  460. /*! \brief Writes the bit group 'CEC_EN' of register 'PMU_IRQ_EN_MASK'. */
  461. void GH_PMU_set_IRQ_EN_MASK_CEC_EN(U8 data);
  462. /*! \brief Reads the bit group 'CEC_EN' of register 'PMU_IRQ_EN_MASK'. */
  463. U8 GH_PMU_get_IRQ_EN_MASK_CEC_EN(void);
  464. /*! \brief Writes the bit group 'ADC_EN' of register 'PMU_IRQ_EN_MASK'. */
  465. void GH_PMU_set_IRQ_EN_MASK_ADC_EN(U8 data);
  466. /*! \brief Reads the bit group 'ADC_EN' of register 'PMU_IRQ_EN_MASK'. */
  467. U8 GH_PMU_get_IRQ_EN_MASK_ADC_EN(void);
  468. /*! \brief Writes the bit group 'IRT_EN' of register 'PMU_IRQ_EN_MASK'. */
  469. void GH_PMU_set_IRQ_EN_MASK_IRT_EN(U8 data);
  470. /*! \brief Reads the bit group 'IRT_EN' of register 'PMU_IRQ_EN_MASK'. */
  471. U8 GH_PMU_get_IRQ_EN_MASK_IRT_EN(void);
  472. /*----------------------------------------------------------------------------*/
  473. /* register PMU_IRQ_CLR_RTC (read/write) */
  474. /*----------------------------------------------------------------------------*/
  475. /*! \brief Writes the register 'PMU_IRQ_CLR_RTC'. */
  476. void GH_PMU_set_IRQ_CLR_RTC(U32 data);
  477. /*! \brief Reads the register 'PMU_IRQ_CLR_RTC'. */
  478. U32 GH_PMU_get_IRQ_CLR_RTC(void);
  479. /*! \brief Writes the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_RTC'. */
  480. void GH_PMU_set_IRQ_CLR_RTC_IRQCLR(U8 data);
  481. /*! \brief Reads the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_RTC'. */
  482. U8 GH_PMU_get_IRQ_CLR_RTC_IRQCLR(void);
  483. /*----------------------------------------------------------------------------*/
  484. /* register PMU_IRQ_CLR_IRR (read/write) */
  485. /*----------------------------------------------------------------------------*/
  486. /*! \brief Writes the register 'PMU_IRQ_CLR_IRR'. */
  487. void GH_PMU_set_IRQ_CLR_IRR(U32 data);
  488. /*! \brief Reads the register 'PMU_IRQ_CLR_IRR'. */
  489. U32 GH_PMU_get_IRQ_CLR_IRR(void);
  490. /*! \brief Writes the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_IRR'. */
  491. void GH_PMU_set_IRQ_CLR_IRR_IRQCLR(U8 data);
  492. /*! \brief Reads the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_IRR'. */
  493. U8 GH_PMU_get_IRQ_CLR_IRR_IRQCLR(void);
  494. /*----------------------------------------------------------------------------*/
  495. /* register PMU_IRQ_CLR_FPC (read/write) */
  496. /*----------------------------------------------------------------------------*/
  497. /*! \brief Writes the register 'PMU_IRQ_CLR_FPC'. */
  498. void GH_PMU_set_IRQ_CLR_FPC(U32 data);
  499. /*! \brief Reads the register 'PMU_IRQ_CLR_FPC'. */
  500. U32 GH_PMU_get_IRQ_CLR_FPC(void);
  501. /*! \brief Writes the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_FPC'. */
  502. void GH_PMU_set_IRQ_CLR_FPC_IRQCLR(U8 data);
  503. /*! \brief Reads the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_FPC'. */
  504. U8 GH_PMU_get_IRQ_CLR_FPC_IRQCLR(void);
  505. /*----------------------------------------------------------------------------*/
  506. /* register PMU_IRQ_CLR_GPIO (read/write) */
  507. /*----------------------------------------------------------------------------*/
  508. /*! \brief Writes the register 'PMU_IRQ_CLR_GPIO'. */
  509. void GH_PMU_set_IRQ_CLR_GPIO(U32 data);
  510. /*! \brief Reads the register 'PMU_IRQ_CLR_GPIO'. */
  511. U32 GH_PMU_get_IRQ_CLR_GPIO(void);
  512. /*! \brief Writes the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_GPIO'. */
  513. void GH_PMU_set_IRQ_CLR_GPIO_IRQCLR(U8 data);
  514. /*! \brief Reads the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_GPIO'. */
  515. U8 GH_PMU_get_IRQ_CLR_GPIO_IRQCLR(void);
  516. /*----------------------------------------------------------------------------*/
  517. /* register PMU_IRQ_CLR_CEC (read/write) */
  518. /*----------------------------------------------------------------------------*/
  519. /*! \brief Writes the register 'PMU_IRQ_CLR_CEC'. */
  520. void GH_PMU_set_IRQ_CLR_CEC(U32 data);
  521. /*! \brief Reads the register 'PMU_IRQ_CLR_CEC'. */
  522. U32 GH_PMU_get_IRQ_CLR_CEC(void);
  523. /*! \brief Writes the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_CEC'. */
  524. void GH_PMU_set_IRQ_CLR_CEC_IRQCLR(U8 data);
  525. /*! \brief Reads the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_CEC'. */
  526. U8 GH_PMU_get_IRQ_CLR_CEC_IRQCLR(void);
  527. /*----------------------------------------------------------------------------*/
  528. /* register PMU_IRQ_CLR_ADC (read/write) */
  529. /*----------------------------------------------------------------------------*/
  530. /*! \brief Writes the register 'PMU_IRQ_CLR_ADC'. */
  531. void GH_PMU_set_IRQ_CLR_ADC(U32 data);
  532. /*! \brief Reads the register 'PMU_IRQ_CLR_ADC'. */
  533. U32 GH_PMU_get_IRQ_CLR_ADC(void);
  534. /*! \brief Writes the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_ADC'. */
  535. void GH_PMU_set_IRQ_CLR_ADC_IRQCLR(U8 data);
  536. /*! \brief Reads the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_ADC'. */
  537. U8 GH_PMU_get_IRQ_CLR_ADC_IRQCLR(void);
  538. /*----------------------------------------------------------------------------*/
  539. /* register PMU_IRQ_CLR_IRT (read/write) */
  540. /*----------------------------------------------------------------------------*/
  541. /*! \brief Writes the register 'PMU_IRQ_CLR_IRT'. */
  542. void GH_PMU_set_IRQ_CLR_IRT(U32 data);
  543. /*! \brief Reads the register 'PMU_IRQ_CLR_IRT'. */
  544. U32 GH_PMU_get_IRQ_CLR_IRT(void);
  545. /*! \brief Writes the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_IRT'. */
  546. void GH_PMU_set_IRQ_CLR_IRT_IRQCLR(U8 data);
  547. /*! \brief Reads the bit group 'IRQCLR' of register 'PMU_IRQ_CLR_IRT'. */
  548. U8 GH_PMU_get_IRQ_CLR_IRT_IRQCLR(void);
  549. /*----------------------------------------------------------------------------*/
  550. /* register PMU_IRQ_STATUS (read/write) */
  551. /*----------------------------------------------------------------------------*/
  552. /*! \brief Writes the register 'PMU_IRQ_STATUS'. */
  553. void GH_PMU_set_IRQ_STATUS(U32 data);
  554. /*! \brief Reads the register 'PMU_IRQ_STATUS'. */
  555. U32 GH_PMU_get_IRQ_STATUS(void);
  556. /*! \brief Writes the bit group 'RTC_IRQ' of register 'PMU_IRQ_STATUS'. */
  557. void GH_PMU_set_IRQ_STATUS_RTC_IRQ(U8 data);
  558. /*! \brief Reads the bit group 'RTC_IRQ' of register 'PMU_IRQ_STATUS'. */
  559. U8 GH_PMU_get_IRQ_STATUS_RTC_IRQ(void);
  560. /*! \brief Writes the bit group 'IRR_IRQ' of register 'PMU_IRQ_STATUS'. */
  561. void GH_PMU_set_IRQ_STATUS_IRR_IRQ(U8 data);
  562. /*! \brief Reads the bit group 'IRR_IRQ' of register 'PMU_IRQ_STATUS'. */
  563. U8 GH_PMU_get_IRQ_STATUS_IRR_IRQ(void);
  564. /*! \brief Writes the bit group 'FPC_IRQ' of register 'PMU_IRQ_STATUS'. */
  565. void GH_PMU_set_IRQ_STATUS_FPC_IRQ(U8 data);
  566. /*! \brief Reads the bit group 'FPC_IRQ' of register 'PMU_IRQ_STATUS'. */
  567. U8 GH_PMU_get_IRQ_STATUS_FPC_IRQ(void);
  568. /*! \brief Writes the bit group 'GPIO_IRQ' of register 'PMU_IRQ_STATUS'. */
  569. void GH_PMU_set_IRQ_STATUS_GPIO_IRQ(U8 data);
  570. /*! \brief Reads the bit group 'GPIO_IRQ' of register 'PMU_IRQ_STATUS'. */
  571. U8 GH_PMU_get_IRQ_STATUS_GPIO_IRQ(void);
  572. /*! \brief Writes the bit group 'CEC_IRQ' of register 'PMU_IRQ_STATUS'. */
  573. void GH_PMU_set_IRQ_STATUS_CEC_IRQ(U8 data);
  574. /*! \brief Reads the bit group 'CEC_IRQ' of register 'PMU_IRQ_STATUS'. */
  575. U8 GH_PMU_get_IRQ_STATUS_CEC_IRQ(void);
  576. /*! \brief Writes the bit group 'ADC_IRQ' of register 'PMU_IRQ_STATUS'. */
  577. void GH_PMU_set_IRQ_STATUS_ADC_IRQ(U8 data);
  578. /*! \brief Reads the bit group 'ADC_IRQ' of register 'PMU_IRQ_STATUS'. */
  579. U8 GH_PMU_get_IRQ_STATUS_ADC_IRQ(void);
  580. /*! \brief Writes the bit group 'IRT_IRQ' of register 'PMU_IRQ_STATUS'. */
  581. void GH_PMU_set_IRQ_STATUS_IRT_IRQ(U8 data);
  582. /*! \brief Reads the bit group 'IRT_IRQ' of register 'PMU_IRQ_STATUS'. */
  583. U8 GH_PMU_get_IRQ_STATUS_IRT_IRQ(void);
  584. /*----------------------------------------------------------------------------*/
  585. /* register PMU_C51_LOADCODE_ADDR (read/write) */
  586. /*----------------------------------------------------------------------------*/
  587. /*! \brief Writes the register 'PMU_C51_LOADCODE_ADDR'. */
  588. void GH_PMU_set_C51_LOADCODE_ADDR(U16 index, U32 data);
  589. /*! \brief Reads the register 'PMU_C51_LOADCODE_ADDR'. */
  590. U32 GH_PMU_get_C51_LOADCODE_ADDR(U16 index);
  591. /*----------------------------------------------------------------------------*/
  592. /* init function */
  593. /*----------------------------------------------------------------------------*/
  594. /*! \brief Initialises the registers and mirror variables. */
  595. void GH_PMU_init(void);
  596. #ifdef SRC_INLINE
  597. #define SRC_INC 1
  598. #include "gh_pmu.c"
  599. #undef SRC_INC
  600. #endif
  601. #ifdef __cplusplus
  602. }
  603. #endif
  604. #endif /* _GH_PMU_H */
  605. /*----------------------------------------------------------------------------*/
  606. /* end of file */
  607. /*----------------------------------------------------------------------------*/