slv_fw_lps_ifc.h 7.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253
  1. /* Copyright (C) 2018 RDA Technologies Limited and/or its affiliates("RDA").
  2. * All rights reserved.
  3. *
  4. * This software is supplied "AS IS" without any warranties.
  5. * RDA assumes no responsibility or liability for the use of the software,
  6. * conveys no license or title under any patent, copyright, or mask work
  7. * right to the product. RDA reserves the right to make changes in the
  8. * software without notification. RDA also make no representation or
  9. * warranty that such application will be suitable for the specified use
  10. * without further testing or modification.
  11. */
  12. #ifndef _SLV_FW_LPS_IFC_H_
  13. #define _SLV_FW_LPS_IFC_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define REG_SLV_FW_LPS_IFC_BASE (0x51300000)
  17. typedef volatile struct
  18. {
  19. uint32_t port0_default_address_0; // 0x00000000
  20. uint32_t port_int_en; // 0x00000004
  21. uint32_t port_int_clr; // 0x00000008
  22. uint32_t port_int_raw; // 0x0000000c
  23. uint32_t port_int_fin; // 0x00000010
  24. uint32_t rd_sec_0; // 0x00000014
  25. uint32_t wr_sec_0; // 0x00000018
  26. uint32_t id0_first_addr_0; // 0x0000001c
  27. uint32_t id0_last_addr_0; // 0x00000020
  28. uint32_t id0_mstid_0; // 0x00000024
  29. uint32_t id0_mstid_1; // 0x00000028
  30. uint32_t id0_mstid_2; // 0x0000002c
  31. uint32_t id0_mstid_3; // 0x00000030
  32. uint32_t id0_mstid_4; // 0x00000034
  33. uint32_t id0_mstid_5; // 0x00000038
  34. uint32_t id0_mstid_6; // 0x0000003c
  35. uint32_t id0_mstid_7; // 0x00000040
  36. uint32_t id1_first_addr_0; // 0x00000044
  37. uint32_t id1_last_addr_0; // 0x00000048
  38. uint32_t id1_mstid_0; // 0x0000004c
  39. uint32_t id1_mstid_1; // 0x00000050
  40. uint32_t id1_mstid_2; // 0x00000054
  41. uint32_t id1_mstid_3; // 0x00000058
  42. uint32_t id1_mstid_4; // 0x0000005c
  43. uint32_t id1_mstid_5; // 0x00000060
  44. uint32_t id1_mstid_6; // 0x00000064
  45. uint32_t id1_mstid_7; // 0x00000068
  46. uint32_t clk_gate_bypass; // 0x0000006c
  47. } HWP_SLV_FW_LPS_IFC_T;
  48. #define hwp_slvFwLpsIfc ((HWP_SLV_FW_LPS_IFC_T *)REG_ACCESS_ADDRESS(REG_SLV_FW_LPS_IFC_BASE))
  49. // port0_default_address_0
  50. typedef union {
  51. uint32_t v;
  52. struct
  53. {
  54. uint32_t port0_default_address_0 : 16; // [15:0]
  55. uint32_t __31_16 : 16; // [31:16]
  56. } b;
  57. } REG_SLV_FW_LPS_IFC_PORT0_DEFAULT_ADDRESS_0_T;
  58. // port_int_en
  59. typedef union {
  60. uint32_t v;
  61. struct
  62. {
  63. uint32_t port_0_w_en : 1; // [0]
  64. uint32_t port_0_r_en : 1; // [1]
  65. uint32_t __31_2 : 30; // [31:2]
  66. } b;
  67. } REG_SLV_FW_LPS_IFC_PORT_INT_EN_T;
  68. // port_int_clr
  69. typedef union {
  70. uint32_t v;
  71. struct
  72. {
  73. uint32_t port_0_w_clr : 1; // [0], write clear
  74. uint32_t port_0_r_clr : 1; // [1], write clear
  75. uint32_t __31_2 : 30; // [31:2]
  76. } b;
  77. } REG_SLV_FW_LPS_IFC_PORT_INT_CLR_T;
  78. // port_int_raw
  79. typedef union {
  80. uint32_t v;
  81. struct
  82. {
  83. uint32_t port_0_w_raw : 1; // [0], read only
  84. uint32_t port_0_r_raw : 1; // [1], read only
  85. uint32_t __31_2 : 30; // [31:2]
  86. } b;
  87. } REG_SLV_FW_LPS_IFC_PORT_INT_RAW_T;
  88. // port_int_fin
  89. typedef union {
  90. uint32_t v;
  91. struct
  92. {
  93. uint32_t port_0_w_fin : 1; // [0], read only
  94. uint32_t port_0_r_fin : 1; // [1], read only
  95. uint32_t __31_2 : 30; // [31:2]
  96. } b;
  97. } REG_SLV_FW_LPS_IFC_PORT_INT_FIN_T;
  98. // rd_sec_0
  99. typedef union {
  100. uint32_t v;
  101. struct
  102. {
  103. uint32_t lps_ifc_rd_sec : 2; // [1:0]
  104. uint32_t ana_wrap3_rd_sec : 2; // [3:2]
  105. uint32_t rtc_timer_rd_sec : 2; // [5:4]
  106. uint32_t pwrctrl_rd_sec : 2; // [7:6]
  107. uint32_t keypad_rd_sec : 2; // [9:8]
  108. uint32_t apb_reg_rd_sec : 2; // [11:10]
  109. uint32_t gpio1_rd_sec : 2; // [13:12]
  110. uint32_t idle_lps_rd_sec : 2; // [15:14]
  111. uint32_t uart1_rd_sec : 2; // [17:16]
  112. uint32_t __31_18 : 14; // [31:18]
  113. } b;
  114. } REG_SLV_FW_LPS_IFC_RD_SEC_0_T;
  115. // wr_sec_0
  116. typedef union {
  117. uint32_t v;
  118. struct
  119. {
  120. uint32_t lps_ifc_wr_sec : 2; // [1:0]
  121. uint32_t ana_wrap3_wr_sec : 2; // [3:2]
  122. uint32_t rtc_timer_wr_sec : 2; // [5:4]
  123. uint32_t pwrctrl_wr_sec : 2; // [7:6]
  124. uint32_t keypad_wr_sec : 2; // [9:8]
  125. uint32_t apb_reg_wr_sec : 2; // [11:10]
  126. uint32_t gpio1_wr_sec : 2; // [13:12]
  127. uint32_t idle_lps_wr_sec : 2; // [15:14]
  128. uint32_t uart1_wr_sec : 2; // [17:16]
  129. uint32_t __31_18 : 14; // [31:18]
  130. } b;
  131. } REG_SLV_FW_LPS_IFC_WR_SEC_0_T;
  132. // id0_first_addr_0
  133. typedef union {
  134. uint32_t v;
  135. struct
  136. {
  137. uint32_t first_addr_0 : 16; // [15:0]
  138. uint32_t __31_16 : 16; // [31:16]
  139. } b;
  140. } REG_SLV_FW_LPS_IFC_ID0_FIRST_ADDR_0_T;
  141. // id0_last_addr_0
  142. typedef union {
  143. uint32_t v;
  144. struct
  145. {
  146. uint32_t last_addr_0 : 16; // [15:0]
  147. uint32_t __31_16 : 16; // [31:16]
  148. } b;
  149. } REG_SLV_FW_LPS_IFC_ID0_LAST_ADDR_0_T;
  150. // id1_first_addr_0
  151. typedef union {
  152. uint32_t v;
  153. struct
  154. {
  155. uint32_t first_addr_0 : 16; // [15:0]
  156. uint32_t __31_16 : 16; // [31:16]
  157. } b;
  158. } REG_SLV_FW_LPS_IFC_ID1_FIRST_ADDR_0_T;
  159. // id1_last_addr_0
  160. typedef union {
  161. uint32_t v;
  162. struct
  163. {
  164. uint32_t last_addr_0 : 16; // [15:0]
  165. uint32_t __31_16 : 16; // [31:16]
  166. } b;
  167. } REG_SLV_FW_LPS_IFC_ID1_LAST_ADDR_0_T;
  168. // clk_gate_bypass
  169. typedef union {
  170. uint32_t v;
  171. struct
  172. {
  173. uint32_t clk_gate_bypass : 1; // [0]
  174. uint32_t fw_resp_en : 1; // [1]
  175. uint32_t __31_2 : 30; // [31:2]
  176. } b;
  177. } REG_SLV_FW_LPS_IFC_CLK_GATE_BYPASS_T;
  178. // port0_default_address_0
  179. #define SLV_FW_LPS_IFC_PORT0_DEFAULT_ADDRESS_0(n) (((n)&0xffff) << 0)
  180. // port_int_en
  181. #define SLV_FW_LPS_IFC_PORT_0_W_EN (1 << 0)
  182. #define SLV_FW_LPS_IFC_PORT_0_R_EN (1 << 1)
  183. // port_int_clr
  184. #define SLV_FW_LPS_IFC_PORT_0_W_CLR (1 << 0)
  185. #define SLV_FW_LPS_IFC_PORT_0_R_CLR (1 << 1)
  186. // port_int_raw
  187. #define SLV_FW_LPS_IFC_PORT_0_W_RAW (1 << 0)
  188. #define SLV_FW_LPS_IFC_PORT_0_R_RAW (1 << 1)
  189. // port_int_fin
  190. #define SLV_FW_LPS_IFC_PORT_0_W_FIN (1 << 0)
  191. #define SLV_FW_LPS_IFC_PORT_0_R_FIN (1 << 1)
  192. // rd_sec_0
  193. #define SLV_FW_LPS_IFC_LPS_IFC_RD_SEC(n) (((n)&0x3) << 0)
  194. #define SLV_FW_LPS_IFC_ANA_WRAP3_RD_SEC(n) (((n)&0x3) << 2)
  195. #define SLV_FW_LPS_IFC_RTC_TIMER_RD_SEC(n) (((n)&0x3) << 4)
  196. #define SLV_FW_LPS_IFC_PWRCTRL_RD_SEC(n) (((n)&0x3) << 6)
  197. #define SLV_FW_LPS_IFC_KEYPAD_RD_SEC(n) (((n)&0x3) << 8)
  198. #define SLV_FW_LPS_IFC_APB_REG_RD_SEC(n) (((n)&0x3) << 10)
  199. #define SLV_FW_LPS_IFC_GPIO1_RD_SEC(n) (((n)&0x3) << 12)
  200. #define SLV_FW_LPS_IFC_IDLE_LPS_RD_SEC(n) (((n)&0x3) << 14)
  201. #define SLV_FW_LPS_IFC_UART1_RD_SEC(n) (((n)&0x3) << 16)
  202. // wr_sec_0
  203. #define SLV_FW_LPS_IFC_LPS_IFC_WR_SEC(n) (((n)&0x3) << 0)
  204. #define SLV_FW_LPS_IFC_ANA_WRAP3_WR_SEC(n) (((n)&0x3) << 2)
  205. #define SLV_FW_LPS_IFC_RTC_TIMER_WR_SEC(n) (((n)&0x3) << 4)
  206. #define SLV_FW_LPS_IFC_PWRCTRL_WR_SEC(n) (((n)&0x3) << 6)
  207. #define SLV_FW_LPS_IFC_KEYPAD_WR_SEC(n) (((n)&0x3) << 8)
  208. #define SLV_FW_LPS_IFC_APB_REG_WR_SEC(n) (((n)&0x3) << 10)
  209. #define SLV_FW_LPS_IFC_GPIO1_WR_SEC(n) (((n)&0x3) << 12)
  210. #define SLV_FW_LPS_IFC_IDLE_LPS_WR_SEC(n) (((n)&0x3) << 14)
  211. #define SLV_FW_LPS_IFC_UART1_WR_SEC(n) (((n)&0x3) << 16)
  212. // id0_first_addr_0
  213. #define SLV_FW_LPS_IFC_FIRST_ADDR_0(n) (((n)&0xffff) << 0)
  214. // id0_last_addr_0
  215. #define SLV_FW_LPS_IFC_LAST_ADDR_0(n) (((n)&0xffff) << 0)
  216. // id1_first_addr_0
  217. #define SLV_FW_LPS_IFC_FIRST_ADDR_0(n) (((n)&0xffff) << 0)
  218. // id1_last_addr_0
  219. #define SLV_FW_LPS_IFC_LAST_ADDR_0(n) (((n)&0xffff) << 0)
  220. // clk_gate_bypass
  221. #define SLV_FW_LPS_IFC_CLK_GATE_BYPASS (1 << 0)
  222. #define SLV_FW_LPS_IFC_FW_RESP_EN (1 << 1)
  223. #endif // _SLV_FW_LPS_IFC_H_