reg_fw_iomux.h 27 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675
  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 _REG_FW_IOMUX_H_
  13. #define _REG_FW_IOMUX_H_
  14. // Auto generated by dtools(see dtools.txt for its version).
  15. // Don't edit it manually!
  16. #define REG_REG_FW_IOMUX_BASE (0x51306000)
  17. typedef volatile struct
  18. {
  19. uint32_t reg_rd_ctrl_0; // 0x00000000
  20. uint32_t reg_rd_ctrl_1; // 0x00000004
  21. uint32_t reg_rd_ctrl_2; // 0x00000008
  22. uint32_t reg_rd_ctrl_3; // 0x0000000c
  23. uint32_t reg_wr_ctrl_0; // 0x00000010
  24. uint32_t reg_wr_ctrl_1; // 0x00000014
  25. uint32_t reg_wr_ctrl_2; // 0x00000018
  26. uint32_t reg_wr_ctrl_3; // 0x0000001c
  27. uint32_t bit_ctrl_addr_array0; // 0x00000020
  28. uint32_t bit_ctrl_addr_array1; // 0x00000024
  29. uint32_t bit_ctrl_addr_array2; // 0x00000028
  30. uint32_t bit_ctrl_addr_array3; // 0x0000002c
  31. uint32_t bit_ctrl_addr_array4; // 0x00000030
  32. uint32_t bit_ctrl_addr_array5; // 0x00000034
  33. uint32_t bit_ctrl_addr_array6; // 0x00000038
  34. uint32_t bit_ctrl_addr_array7; // 0x0000003c
  35. uint32_t bit_ctrl_array0; // 0x00000040
  36. uint32_t bit_ctrl_array1; // 0x00000044
  37. uint32_t bit_ctrl_array2; // 0x00000048
  38. uint32_t bit_ctrl_array3; // 0x0000004c
  39. uint32_t bit_ctrl_array4; // 0x00000050
  40. uint32_t bit_ctrl_array5; // 0x00000054
  41. uint32_t bit_ctrl_array6; // 0x00000058
  42. uint32_t bit_ctrl_array7; // 0x0000005c
  43. } HWP_REG_FW_IOMUX_T;
  44. #define hwp_regFwIomux ((HWP_REG_FW_IOMUX_T *)REG_ACCESS_ADDRESS(REG_REG_FW_IOMUX_BASE))
  45. // reg_rd_ctrl_0
  46. typedef union {
  47. uint32_t v;
  48. struct
  49. {
  50. uint32_t __0_0 : 1; // [0]
  51. uint32_t pin_ctrl_reg0_rd_sec : 1; // [1]
  52. uint32_t pin_ctrl_reg1_rd_sec : 1; // [2]
  53. uint32_t pin_ctrl_reg2_rd_sec : 1; // [3]
  54. uint32_t pin_ctrl_reg3_rd_sec : 1; // [4]
  55. uint32_t pin_ctrl_reg4_rd_sec : 1; // [5]
  56. uint32_t pin_ctrl_reg5_rd_sec : 1; // [6]
  57. uint32_t rfdig_gpio_7_rd_sec : 1; // [7]
  58. uint32_t rfdig_gpio_6_rd_sec : 1; // [8]
  59. uint32_t rfdig_gpio_5_rd_sec : 1; // [9]
  60. uint32_t rfdig_gpio_4_rd_sec : 1; // [10]
  61. uint32_t rfdig_gpio_3_rd_sec : 1; // [11]
  62. uint32_t rfdig_gpio_2_rd_sec : 1; // [12]
  63. uint32_t rfdig_gpio_1_rd_sec : 1; // [13]
  64. uint32_t rfdig_gpio_0_rd_sec : 1; // [14]
  65. uint32_t keyin_4_rd_sec : 1; // [15]
  66. uint32_t keyout_5_rd_sec : 1; // [16]
  67. uint32_t keyin_5_rd_sec : 1; // [17]
  68. uint32_t keyout_4_rd_sec : 1; // [18]
  69. uint32_t uart_1_rts_rd_sec : 1; // [19]
  70. uint32_t uart_1_txd_rd_sec : 1; // [20]
  71. uint32_t uart_1_rxd_rd_sec : 1; // [21]
  72. uint32_t uart_1_cts_rd_sec : 1; // [22]
  73. uint32_t gpio_0_rd_sec : 1; // [23]
  74. uint32_t gpio_3_rd_sec : 1; // [24]
  75. uint32_t gpio_2_rd_sec : 1; // [25]
  76. uint32_t gpio_1_rd_sec : 1; // [26]
  77. uint32_t gpio_7_rd_sec : 1; // [27]
  78. uint32_t gpio_6_rd_sec : 1; // [28]
  79. uint32_t gpio_5_rd_sec : 1; // [29]
  80. uint32_t gpio_4_rd_sec : 1; // [30]
  81. uint32_t adi_sda_rd_sec : 1; // [31]
  82. } b;
  83. } REG_REG_FW_IOMUX_REG_RD_CTRL_0_T;
  84. // reg_rd_ctrl_1
  85. typedef union {
  86. uint32_t v;
  87. struct
  88. {
  89. uint32_t adi_scl_rd_sec : 1; // [0]
  90. uint32_t resetb_rd_sec : 1; // [1]
  91. uint32_t osc_32k_rd_sec : 1; // [2]
  92. uint32_t pmic_ext_int_rd_sec : 1; // [3]
  93. uint32_t chip_pd_rd_sec : 1; // [4]
  94. uint32_t ptest_rd_sec : 1; // [5]
  95. uint32_t clk26m_pmic_rd_sec : 1; // [6]
  96. uint32_t sim_1_rst_rd_sec : 1; // [7]
  97. uint32_t sim_1_dio_rd_sec : 1; // [8]
  98. uint32_t sim_1_clk_rd_sec : 1; // [9]
  99. uint32_t sim_0_rst_rd_sec : 1; // [10]
  100. uint32_t sim_0_dio_rd_sec : 1; // [11]
  101. uint32_t sim_0_clk_rd_sec : 1; // [12]
  102. uint32_t sw_clk_rd_sec : 1; // [13]
  103. uint32_t sw_dio_rd_sec : 1; // [14]
  104. uint32_t debug_host_tx_rd_sec : 1; // [15]
  105. uint32_t debug_host_rx_rd_sec : 1; // [16]
  106. uint32_t debug_host_clk_rd_sec : 1; // [17]
  107. uint32_t camera_rst_l_rd_sec : 1; // [18]
  108. uint32_t spi_camera_sck_rd_sec : 1; // [19]
  109. uint32_t spi_camera_si_1_rd_sec : 1; // [20]
  110. uint32_t spi_camera_si_0_rd_sec : 1; // [21]
  111. uint32_t camera_ref_clk_rd_sec : 1; // [22]
  112. uint32_t camera_pwdn_rd_sec : 1; // [23]
  113. uint32_t i2s_sdat_i_rd_sec : 1; // [24]
  114. uint32_t i2s1_sdat_o_rd_sec : 1; // [25]
  115. uint32_t i2s1_lrck_rd_sec : 1; // [26]
  116. uint32_t i2s1_bck_rd_sec : 1; // [27]
  117. uint32_t i2s1_mclk_rd_sec : 1; // [28]
  118. uint32_t i2c_m2_scl_rd_sec : 1; // [29]
  119. uint32_t i2c_m2_sda_rd_sec : 1; // [30]
  120. uint32_t nand_sel_rd_sec : 1; // [31]
  121. } b;
  122. } REG_REG_FW_IOMUX_REG_RD_CTRL_1_T;
  123. // reg_rd_ctrl_2
  124. typedef union {
  125. uint32_t v;
  126. struct
  127. {
  128. uint32_t keyout_3_rd_sec : 1; // [0]
  129. uint32_t keyout_2_rd_sec : 1; // [1]
  130. uint32_t keyout_1_rd_sec : 1; // [2]
  131. uint32_t keyout_0_rd_sec : 1; // [3]
  132. uint32_t keyin_3_rd_sec : 1; // [4]
  133. uint32_t keyin_2_rd_sec : 1; // [5]
  134. uint32_t keyin_1_rd_sec : 1; // [6]
  135. uint32_t keyin_0_rd_sec : 1; // [7]
  136. uint32_t lcd_rstb_rd_sec : 1; // [8]
  137. uint32_t lcd_fmark_rd_sec : 1; // [9]
  138. uint32_t spi_lcd_select_rd_sec : 1; // [10]
  139. uint32_t spi_lcd_cs_rd_sec : 1; // [11]
  140. uint32_t spi_lcd_clk_rd_sec : 1; // [12]
  141. uint32_t spi_lcd_sdc_rd_sec : 1; // [13]
  142. uint32_t spi_lcd_sio_rd_sec : 1; // [14]
  143. uint32_t sdmmc1_rst_rd_sec : 1; // [15]
  144. uint32_t sdmmc1_data_7_rd_sec : 1; // [16]
  145. uint32_t sdmmc1_data_6_rd_sec : 1; // [17]
  146. uint32_t sdmmc1_data_5_rd_sec : 1; // [18]
  147. uint32_t sdmmc1_data_4_rd_sec : 1; // [19]
  148. uint32_t sdmmc1_data_3_rd_sec : 1; // [20]
  149. uint32_t sdmmc1_data_2_rd_sec : 1; // [21]
  150. uint32_t sdmmc1_data_1_rd_sec : 1; // [22]
  151. uint32_t sdmmc1_data_0_rd_sec : 1; // [23]
  152. uint32_t sdmmc1_cmd_rd_sec : 1; // [24]
  153. uint32_t sdmmc1_clk_rd_sec : 1; // [25]
  154. uint32_t uart_2_rts_rd_sec : 1; // [26]
  155. uint32_t uart_2_cts_rd_sec : 1; // [27]
  156. uint32_t uart_2_txd_rd_sec : 1; // [28]
  157. uint32_t uart_2_rxd_rd_sec : 1; // [29]
  158. uint32_t i2c_m1_sda_rd_sec : 1; // [30]
  159. uint32_t i2c_m1_scl_rd_sec : 1; // [31]
  160. } b;
  161. } REG_REG_FW_IOMUX_REG_RD_CTRL_2_T;
  162. // reg_rd_ctrl_3
  163. typedef union {
  164. uint32_t v;
  165. struct
  166. {
  167. uint32_t gpio_23_rd_sec : 1; // [0]
  168. uint32_t gpio_22_rd_sec : 1; // [1]
  169. uint32_t gpio_21_rd_sec : 1; // [2]
  170. uint32_t gpio_20_rd_sec : 1; // [3]
  171. uint32_t gpio_19_rd_sec : 1; // [4]
  172. uint32_t gpio_18_rd_sec : 1; // [5]
  173. uint32_t gpio_17_rd_sec : 1; // [6]
  174. uint32_t gpio_16_rd_sec : 1; // [7]
  175. uint32_t m_spi_d_3_rd_sec : 1; // [8]
  176. uint32_t m_spi_d_2_rd_sec : 1; // [9]
  177. uint32_t m_spi_d_1_rd_sec : 1; // [10]
  178. uint32_t m_spi_d_0_rd_sec : 1; // [11]
  179. uint32_t m_spi_cs_rd_sec : 1; // [12]
  180. uint32_t m_spi_clk_rd_sec : 1; // [13]
  181. uint32_t __31_14 : 18; // [31:14]
  182. } b;
  183. } REG_REG_FW_IOMUX_REG_RD_CTRL_3_T;
  184. // reg_wr_ctrl_0
  185. typedef union {
  186. uint32_t v;
  187. struct
  188. {
  189. uint32_t __0_0 : 1; // [0]
  190. uint32_t pin_ctrl_reg0_wr_sec : 1; // [1]
  191. uint32_t pin_ctrl_reg1_wr_sec : 1; // [2]
  192. uint32_t pin_ctrl_reg2_wr_sec : 1; // [3]
  193. uint32_t pin_ctrl_reg3_wr_sec : 1; // [4]
  194. uint32_t pin_ctrl_reg4_wr_sec : 1; // [5]
  195. uint32_t pin_ctrl_reg5_wr_sec : 1; // [6]
  196. uint32_t rfdig_gpio_7_wr_sec : 1; // [7]
  197. uint32_t rfdig_gpio_6_wr_sec : 1; // [8]
  198. uint32_t rfdig_gpio_5_wr_sec : 1; // [9]
  199. uint32_t rfdig_gpio_4_wr_sec : 1; // [10]
  200. uint32_t rfdig_gpio_3_wr_sec : 1; // [11]
  201. uint32_t rfdig_gpio_2_wr_sec : 1; // [12]
  202. uint32_t rfdig_gpio_1_wr_sec : 1; // [13]
  203. uint32_t rfdig_gpio_0_wr_sec : 1; // [14]
  204. uint32_t keyin_4_wr_sec : 1; // [15]
  205. uint32_t keyout_5_wr_sec : 1; // [16]
  206. uint32_t keyin_5_wr_sec : 1; // [17]
  207. uint32_t keyout_4_wr_sec : 1; // [18]
  208. uint32_t uart_1_rts_wr_sec : 1; // [19]
  209. uint32_t uart_1_txd_wr_sec : 1; // [20]
  210. uint32_t uart_1_rxd_wr_sec : 1; // [21]
  211. uint32_t uart_1_cts_wr_sec : 1; // [22]
  212. uint32_t gpio_0_wr_sec : 1; // [23]
  213. uint32_t gpio_3_wr_sec : 1; // [24]
  214. uint32_t gpio_2_wr_sec : 1; // [25]
  215. uint32_t gpio_1_wr_sec : 1; // [26]
  216. uint32_t gpio_7_wr_sec : 1; // [27]
  217. uint32_t gpio_6_wr_sec : 1; // [28]
  218. uint32_t gpio_5_wr_sec : 1; // [29]
  219. uint32_t gpio_4_wr_sec : 1; // [30]
  220. uint32_t adi_sda_wr_sec : 1; // [31]
  221. } b;
  222. } REG_REG_FW_IOMUX_REG_WR_CTRL_0_T;
  223. // reg_wr_ctrl_1
  224. typedef union {
  225. uint32_t v;
  226. struct
  227. {
  228. uint32_t adi_scl_wr_sec : 1; // [0]
  229. uint32_t resetb_wr_sec : 1; // [1]
  230. uint32_t osc_32k_wr_sec : 1; // [2]
  231. uint32_t pmic_ext_int_wr_sec : 1; // [3]
  232. uint32_t chip_pd_wr_sec : 1; // [4]
  233. uint32_t ptest_wr_sec : 1; // [5]
  234. uint32_t clk26m_pmic_wr_sec : 1; // [6]
  235. uint32_t sim_1_rst_wr_sec : 1; // [7]
  236. uint32_t sim_1_dio_wr_sec : 1; // [8]
  237. uint32_t sim_1_clk_wr_sec : 1; // [9]
  238. uint32_t sim_0_rst_wr_sec : 1; // [10]
  239. uint32_t sim_0_dio_wr_sec : 1; // [11]
  240. uint32_t sim_0_clk_wr_sec : 1; // [12]
  241. uint32_t sw_clk_wr_sec : 1; // [13]
  242. uint32_t sw_dio_wr_sec : 1; // [14]
  243. uint32_t debug_host_tx_wr_sec : 1; // [15]
  244. uint32_t debug_host_rx_wr_sec : 1; // [16]
  245. uint32_t debug_host_clk_wr_sec : 1; // [17]
  246. uint32_t camera_rst_l_wr_sec : 1; // [18]
  247. uint32_t spi_camera_sck_wr_sec : 1; // [19]
  248. uint32_t spi_camera_si_1_wr_sec : 1; // [20]
  249. uint32_t spi_camera_si_0_wr_sec : 1; // [21]
  250. uint32_t camera_ref_clk_wr_sec : 1; // [22]
  251. uint32_t camera_pwdn_wr_sec : 1; // [23]
  252. uint32_t i2s_sdat_i_wr_sec : 1; // [24]
  253. uint32_t i2s1_sdat_o_wr_sec : 1; // [25]
  254. uint32_t i2s1_lrck_wr_sec : 1; // [26]
  255. uint32_t i2s1_bck_wr_sec : 1; // [27]
  256. uint32_t i2s1_mclk_wr_sec : 1; // [28]
  257. uint32_t i2c_m2_scl_wr_sec : 1; // [29]
  258. uint32_t i2c_m2_sda_wr_sec : 1; // [30]
  259. uint32_t nand_sel_wr_sec : 1; // [31]
  260. } b;
  261. } REG_REG_FW_IOMUX_REG_WR_CTRL_1_T;
  262. // reg_wr_ctrl_2
  263. typedef union {
  264. uint32_t v;
  265. struct
  266. {
  267. uint32_t keyout_3_wr_sec : 1; // [0]
  268. uint32_t keyout_2_wr_sec : 1; // [1]
  269. uint32_t keyout_1_wr_sec : 1; // [2]
  270. uint32_t keyout_0_wr_sec : 1; // [3]
  271. uint32_t keyin_3_wr_sec : 1; // [4]
  272. uint32_t keyin_2_wr_sec : 1; // [5]
  273. uint32_t keyin_1_wr_sec : 1; // [6]
  274. uint32_t keyin_0_wr_sec : 1; // [7]
  275. uint32_t lcd_rstb_wr_sec : 1; // [8]
  276. uint32_t lcd_fmark_wr_sec : 1; // [9]
  277. uint32_t spi_lcd_select_wr_sec : 1; // [10]
  278. uint32_t spi_lcd_cs_wr_sec : 1; // [11]
  279. uint32_t spi_lcd_clk_wr_sec : 1; // [12]
  280. uint32_t spi_lcd_sdc_wr_sec : 1; // [13]
  281. uint32_t spi_lcd_sio_wr_sec : 1; // [14]
  282. uint32_t sdmmc1_rst_wr_sec : 1; // [15]
  283. uint32_t sdmmc1_data_7_wr_sec : 1; // [16]
  284. uint32_t sdmmc1_data_6_wr_sec : 1; // [17]
  285. uint32_t sdmmc1_data_5_wr_sec : 1; // [18]
  286. uint32_t sdmmc1_data_4_wr_sec : 1; // [19]
  287. uint32_t sdmmc1_data_3_wr_sec : 1; // [20]
  288. uint32_t sdmmc1_data_2_wr_sec : 1; // [21]
  289. uint32_t sdmmc1_data_1_wr_sec : 1; // [22]
  290. uint32_t sdmmc1_data_0_wr_sec : 1; // [23]
  291. uint32_t sdmmc1_cmd_wr_sec : 1; // [24]
  292. uint32_t sdmmc1_clk_wr_sec : 1; // [25]
  293. uint32_t uart_2_rts_wr_sec : 1; // [26]
  294. uint32_t uart_2_cts_wr_sec : 1; // [27]
  295. uint32_t uart_2_txd_wr_sec : 1; // [28]
  296. uint32_t uart_2_rxd_wr_sec : 1; // [29]
  297. uint32_t i2c_m1_sda_wr_sec : 1; // [30]
  298. uint32_t i2c_m1_scl_wr_sec : 1; // [31]
  299. } b;
  300. } REG_REG_FW_IOMUX_REG_WR_CTRL_2_T;
  301. // reg_wr_ctrl_3
  302. typedef union {
  303. uint32_t v;
  304. struct
  305. {
  306. uint32_t gpio_23_wr_sec : 1; // [0]
  307. uint32_t gpio_22_wr_sec : 1; // [1]
  308. uint32_t gpio_21_wr_sec : 1; // [2]
  309. uint32_t gpio_20_wr_sec : 1; // [3]
  310. uint32_t gpio_19_wr_sec : 1; // [4]
  311. uint32_t gpio_18_wr_sec : 1; // [5]
  312. uint32_t gpio_17_wr_sec : 1; // [6]
  313. uint32_t gpio_16_wr_sec : 1; // [7]
  314. uint32_t m_spi_d_3_wr_sec : 1; // [8]
  315. uint32_t m_spi_d_2_wr_sec : 1; // [9]
  316. uint32_t m_spi_d_1_wr_sec : 1; // [10]
  317. uint32_t m_spi_d_0_wr_sec : 1; // [11]
  318. uint32_t m_spi_cs_wr_sec : 1; // [12]
  319. uint32_t m_spi_clk_wr_sec : 1; // [13]
  320. uint32_t __31_14 : 18; // [31:14]
  321. } b;
  322. } REG_REG_FW_IOMUX_REG_WR_CTRL_3_T;
  323. // bit_ctrl_addr_array0
  324. typedef union {
  325. uint32_t v;
  326. struct
  327. {
  328. uint32_t bit_ctrl_addr_array0 : 14; // [13:0]
  329. uint32_t __31_14 : 18; // [31:14]
  330. } b;
  331. } REG_REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY0_T;
  332. // bit_ctrl_addr_array1
  333. typedef union {
  334. uint32_t v;
  335. struct
  336. {
  337. uint32_t bit_ctrl_addr_array1 : 14; // [13:0]
  338. uint32_t __31_14 : 18; // [31:14]
  339. } b;
  340. } REG_REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY1_T;
  341. // bit_ctrl_addr_array2
  342. typedef union {
  343. uint32_t v;
  344. struct
  345. {
  346. uint32_t bit_ctrl_addr_array2 : 14; // [13:0]
  347. uint32_t __31_14 : 18; // [31:14]
  348. } b;
  349. } REG_REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY2_T;
  350. // bit_ctrl_addr_array3
  351. typedef union {
  352. uint32_t v;
  353. struct
  354. {
  355. uint32_t bit_ctrl_addr_array3 : 14; // [13:0]
  356. uint32_t __31_14 : 18; // [31:14]
  357. } b;
  358. } REG_REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY3_T;
  359. // bit_ctrl_addr_array4
  360. typedef union {
  361. uint32_t v;
  362. struct
  363. {
  364. uint32_t bit_ctrl_addr_array4 : 14; // [13:0]
  365. uint32_t __31_14 : 18; // [31:14]
  366. } b;
  367. } REG_REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY4_T;
  368. // bit_ctrl_addr_array5
  369. typedef union {
  370. uint32_t v;
  371. struct
  372. {
  373. uint32_t bit_ctrl_addr_array5 : 14; // [13:0]
  374. uint32_t __31_14 : 18; // [31:14]
  375. } b;
  376. } REG_REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY5_T;
  377. // bit_ctrl_addr_array6
  378. typedef union {
  379. uint32_t v;
  380. struct
  381. {
  382. uint32_t bit_ctrl_addr_array6 : 14; // [13:0]
  383. uint32_t __31_14 : 18; // [31:14]
  384. } b;
  385. } REG_REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY6_T;
  386. // bit_ctrl_addr_array7
  387. typedef union {
  388. uint32_t v;
  389. struct
  390. {
  391. uint32_t bit_ctrl_addr_array7 : 14; // [13:0]
  392. uint32_t __31_14 : 18; // [31:14]
  393. } b;
  394. } REG_REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY7_T;
  395. // reg_rd_ctrl_0
  396. #define REG_FW_IOMUX_PIN_CTRL_REG0_RD_SEC (1 << 1)
  397. #define REG_FW_IOMUX_PIN_CTRL_REG1_RD_SEC (1 << 2)
  398. #define REG_FW_IOMUX_PIN_CTRL_REG2_RD_SEC (1 << 3)
  399. #define REG_FW_IOMUX_PIN_CTRL_REG3_RD_SEC (1 << 4)
  400. #define REG_FW_IOMUX_PIN_CTRL_REG4_RD_SEC (1 << 5)
  401. #define REG_FW_IOMUX_PIN_CTRL_REG5_RD_SEC (1 << 6)
  402. #define REG_FW_IOMUX_RFDIG_GPIO_7_RD_SEC (1 << 7)
  403. #define REG_FW_IOMUX_RFDIG_GPIO_6_RD_SEC (1 << 8)
  404. #define REG_FW_IOMUX_RFDIG_GPIO_5_RD_SEC (1 << 9)
  405. #define REG_FW_IOMUX_RFDIG_GPIO_4_RD_SEC (1 << 10)
  406. #define REG_FW_IOMUX_RFDIG_GPIO_3_RD_SEC (1 << 11)
  407. #define REG_FW_IOMUX_RFDIG_GPIO_2_RD_SEC (1 << 12)
  408. #define REG_FW_IOMUX_RFDIG_GPIO_1_RD_SEC (1 << 13)
  409. #define REG_FW_IOMUX_RFDIG_GPIO_0_RD_SEC (1 << 14)
  410. #define REG_FW_IOMUX_KEYIN_4_RD_SEC (1 << 15)
  411. #define REG_FW_IOMUX_KEYOUT_5_RD_SEC (1 << 16)
  412. #define REG_FW_IOMUX_KEYIN_5_RD_SEC (1 << 17)
  413. #define REG_FW_IOMUX_KEYOUT_4_RD_SEC (1 << 18)
  414. #define REG_FW_IOMUX_UART_1_RTS_RD_SEC (1 << 19)
  415. #define REG_FW_IOMUX_UART_1_TXD_RD_SEC (1 << 20)
  416. #define REG_FW_IOMUX_UART_1_RXD_RD_SEC (1 << 21)
  417. #define REG_FW_IOMUX_UART_1_CTS_RD_SEC (1 << 22)
  418. #define REG_FW_IOMUX_GPIO_0_RD_SEC (1 << 23)
  419. #define REG_FW_IOMUX_GPIO_3_RD_SEC (1 << 24)
  420. #define REG_FW_IOMUX_GPIO_2_RD_SEC (1 << 25)
  421. #define REG_FW_IOMUX_GPIO_1_RD_SEC (1 << 26)
  422. #define REG_FW_IOMUX_GPIO_7_RD_SEC (1 << 27)
  423. #define REG_FW_IOMUX_GPIO_6_RD_SEC (1 << 28)
  424. #define REG_FW_IOMUX_GPIO_5_RD_SEC (1 << 29)
  425. #define REG_FW_IOMUX_GPIO_4_RD_SEC (1 << 30)
  426. #define REG_FW_IOMUX_ADI_SDA_RD_SEC (1 << 31)
  427. // reg_rd_ctrl_1
  428. #define REG_FW_IOMUX_ADI_SCL_RD_SEC (1 << 0)
  429. #define REG_FW_IOMUX_RESETB_RD_SEC (1 << 1)
  430. #define REG_FW_IOMUX_OSC_32K_RD_SEC (1 << 2)
  431. #define REG_FW_IOMUX_PMIC_EXT_INT_RD_SEC (1 << 3)
  432. #define REG_FW_IOMUX_CHIP_PD_RD_SEC (1 << 4)
  433. #define REG_FW_IOMUX_PTEST_RD_SEC (1 << 5)
  434. #define REG_FW_IOMUX_CLK26M_PMIC_RD_SEC (1 << 6)
  435. #define REG_FW_IOMUX_SIM_1_RST_RD_SEC (1 << 7)
  436. #define REG_FW_IOMUX_SIM_1_DIO_RD_SEC (1 << 8)
  437. #define REG_FW_IOMUX_SIM_1_CLK_RD_SEC (1 << 9)
  438. #define REG_FW_IOMUX_SIM_0_RST_RD_SEC (1 << 10)
  439. #define REG_FW_IOMUX_SIM_0_DIO_RD_SEC (1 << 11)
  440. #define REG_FW_IOMUX_SIM_0_CLK_RD_SEC (1 << 12)
  441. #define REG_FW_IOMUX_SW_CLK_RD_SEC (1 << 13)
  442. #define REG_FW_IOMUX_SW_DIO_RD_SEC (1 << 14)
  443. #define REG_FW_IOMUX_DEBUG_HOST_TX_RD_SEC (1 << 15)
  444. #define REG_FW_IOMUX_DEBUG_HOST_RX_RD_SEC (1 << 16)
  445. #define REG_FW_IOMUX_DEBUG_HOST_CLK_RD_SEC (1 << 17)
  446. #define REG_FW_IOMUX_CAMERA_RST_L_RD_SEC (1 << 18)
  447. #define REG_FW_IOMUX_SPI_CAMERA_SCK_RD_SEC (1 << 19)
  448. #define REG_FW_IOMUX_SPI_CAMERA_SI_1_RD_SEC (1 << 20)
  449. #define REG_FW_IOMUX_SPI_CAMERA_SI_0_RD_SEC (1 << 21)
  450. #define REG_FW_IOMUX_CAMERA_REF_CLK_RD_SEC (1 << 22)
  451. #define REG_FW_IOMUX_CAMERA_PWDN_RD_SEC (1 << 23)
  452. #define REG_FW_IOMUX_I2S_SDAT_I_RD_SEC (1 << 24)
  453. #define REG_FW_IOMUX_I2S1_SDAT_O_RD_SEC (1 << 25)
  454. #define REG_FW_IOMUX_I2S1_LRCK_RD_SEC (1 << 26)
  455. #define REG_FW_IOMUX_I2S1_BCK_RD_SEC (1 << 27)
  456. #define REG_FW_IOMUX_I2S1_MCLK_RD_SEC (1 << 28)
  457. #define REG_FW_IOMUX_I2C_M2_SCL_RD_SEC (1 << 29)
  458. #define REG_FW_IOMUX_I2C_M2_SDA_RD_SEC (1 << 30)
  459. #define REG_FW_IOMUX_NAND_SEL_RD_SEC (1 << 31)
  460. // reg_rd_ctrl_2
  461. #define REG_FW_IOMUX_KEYOUT_3_RD_SEC (1 << 0)
  462. #define REG_FW_IOMUX_KEYOUT_2_RD_SEC (1 << 1)
  463. #define REG_FW_IOMUX_KEYOUT_1_RD_SEC (1 << 2)
  464. #define REG_FW_IOMUX_KEYOUT_0_RD_SEC (1 << 3)
  465. #define REG_FW_IOMUX_KEYIN_3_RD_SEC (1 << 4)
  466. #define REG_FW_IOMUX_KEYIN_2_RD_SEC (1 << 5)
  467. #define REG_FW_IOMUX_KEYIN_1_RD_SEC (1 << 6)
  468. #define REG_FW_IOMUX_KEYIN_0_RD_SEC (1 << 7)
  469. #define REG_FW_IOMUX_LCD_RSTB_RD_SEC (1 << 8)
  470. #define REG_FW_IOMUX_LCD_FMARK_RD_SEC (1 << 9)
  471. #define REG_FW_IOMUX_SPI_LCD_SELECT_RD_SEC (1 << 10)
  472. #define REG_FW_IOMUX_SPI_LCD_CS_RD_SEC (1 << 11)
  473. #define REG_FW_IOMUX_SPI_LCD_CLK_RD_SEC (1 << 12)
  474. #define REG_FW_IOMUX_SPI_LCD_SDC_RD_SEC (1 << 13)
  475. #define REG_FW_IOMUX_SPI_LCD_SIO_RD_SEC (1 << 14)
  476. #define REG_FW_IOMUX_SDMMC1_RST_RD_SEC (1 << 15)
  477. #define REG_FW_IOMUX_SDMMC1_DATA_7_RD_SEC (1 << 16)
  478. #define REG_FW_IOMUX_SDMMC1_DATA_6_RD_SEC (1 << 17)
  479. #define REG_FW_IOMUX_SDMMC1_DATA_5_RD_SEC (1 << 18)
  480. #define REG_FW_IOMUX_SDMMC1_DATA_4_RD_SEC (1 << 19)
  481. #define REG_FW_IOMUX_SDMMC1_DATA_3_RD_SEC (1 << 20)
  482. #define REG_FW_IOMUX_SDMMC1_DATA_2_RD_SEC (1 << 21)
  483. #define REG_FW_IOMUX_SDMMC1_DATA_1_RD_SEC (1 << 22)
  484. #define REG_FW_IOMUX_SDMMC1_DATA_0_RD_SEC (1 << 23)
  485. #define REG_FW_IOMUX_SDMMC1_CMD_RD_SEC (1 << 24)
  486. #define REG_FW_IOMUX_SDMMC1_CLK_RD_SEC (1 << 25)
  487. #define REG_FW_IOMUX_UART_2_RTS_RD_SEC (1 << 26)
  488. #define REG_FW_IOMUX_UART_2_CTS_RD_SEC (1 << 27)
  489. #define REG_FW_IOMUX_UART_2_TXD_RD_SEC (1 << 28)
  490. #define REG_FW_IOMUX_UART_2_RXD_RD_SEC (1 << 29)
  491. #define REG_FW_IOMUX_I2C_M1_SDA_RD_SEC (1 << 30)
  492. #define REG_FW_IOMUX_I2C_M1_SCL_RD_SEC (1 << 31)
  493. // reg_rd_ctrl_3
  494. #define REG_FW_IOMUX_GPIO_23_RD_SEC (1 << 0)
  495. #define REG_FW_IOMUX_GPIO_22_RD_SEC (1 << 1)
  496. #define REG_FW_IOMUX_GPIO_21_RD_SEC (1 << 2)
  497. #define REG_FW_IOMUX_GPIO_20_RD_SEC (1 << 3)
  498. #define REG_FW_IOMUX_GPIO_19_RD_SEC (1 << 4)
  499. #define REG_FW_IOMUX_GPIO_18_RD_SEC (1 << 5)
  500. #define REG_FW_IOMUX_GPIO_17_RD_SEC (1 << 6)
  501. #define REG_FW_IOMUX_GPIO_16_RD_SEC (1 << 7)
  502. #define REG_FW_IOMUX_M_SPI_D_3_RD_SEC (1 << 8)
  503. #define REG_FW_IOMUX_M_SPI_D_2_RD_SEC (1 << 9)
  504. #define REG_FW_IOMUX_M_SPI_D_1_RD_SEC (1 << 10)
  505. #define REG_FW_IOMUX_M_SPI_D_0_RD_SEC (1 << 11)
  506. #define REG_FW_IOMUX_M_SPI_CS_RD_SEC (1 << 12)
  507. #define REG_FW_IOMUX_M_SPI_CLK_RD_SEC (1 << 13)
  508. // reg_wr_ctrl_0
  509. #define REG_FW_IOMUX_PIN_CTRL_REG0_WR_SEC (1 << 1)
  510. #define REG_FW_IOMUX_PIN_CTRL_REG1_WR_SEC (1 << 2)
  511. #define REG_FW_IOMUX_PIN_CTRL_REG2_WR_SEC (1 << 3)
  512. #define REG_FW_IOMUX_PIN_CTRL_REG3_WR_SEC (1 << 4)
  513. #define REG_FW_IOMUX_PIN_CTRL_REG4_WR_SEC (1 << 5)
  514. #define REG_FW_IOMUX_PIN_CTRL_REG5_WR_SEC (1 << 6)
  515. #define REG_FW_IOMUX_RFDIG_GPIO_7_WR_SEC (1 << 7)
  516. #define REG_FW_IOMUX_RFDIG_GPIO_6_WR_SEC (1 << 8)
  517. #define REG_FW_IOMUX_RFDIG_GPIO_5_WR_SEC (1 << 9)
  518. #define REG_FW_IOMUX_RFDIG_GPIO_4_WR_SEC (1 << 10)
  519. #define REG_FW_IOMUX_RFDIG_GPIO_3_WR_SEC (1 << 11)
  520. #define REG_FW_IOMUX_RFDIG_GPIO_2_WR_SEC (1 << 12)
  521. #define REG_FW_IOMUX_RFDIG_GPIO_1_WR_SEC (1 << 13)
  522. #define REG_FW_IOMUX_RFDIG_GPIO_0_WR_SEC (1 << 14)
  523. #define REG_FW_IOMUX_KEYIN_4_WR_SEC (1 << 15)
  524. #define REG_FW_IOMUX_KEYOUT_5_WR_SEC (1 << 16)
  525. #define REG_FW_IOMUX_KEYIN_5_WR_SEC (1 << 17)
  526. #define REG_FW_IOMUX_KEYOUT_4_WR_SEC (1 << 18)
  527. #define REG_FW_IOMUX_UART_1_RTS_WR_SEC (1 << 19)
  528. #define REG_FW_IOMUX_UART_1_TXD_WR_SEC (1 << 20)
  529. #define REG_FW_IOMUX_UART_1_RXD_WR_SEC (1 << 21)
  530. #define REG_FW_IOMUX_UART_1_CTS_WR_SEC (1 << 22)
  531. #define REG_FW_IOMUX_GPIO_0_WR_SEC (1 << 23)
  532. #define REG_FW_IOMUX_GPIO_3_WR_SEC (1 << 24)
  533. #define REG_FW_IOMUX_GPIO_2_WR_SEC (1 << 25)
  534. #define REG_FW_IOMUX_GPIO_1_WR_SEC (1 << 26)
  535. #define REG_FW_IOMUX_GPIO_7_WR_SEC (1 << 27)
  536. #define REG_FW_IOMUX_GPIO_6_WR_SEC (1 << 28)
  537. #define REG_FW_IOMUX_GPIO_5_WR_SEC (1 << 29)
  538. #define REG_FW_IOMUX_GPIO_4_WR_SEC (1 << 30)
  539. #define REG_FW_IOMUX_ADI_SDA_WR_SEC (1 << 31)
  540. // reg_wr_ctrl_1
  541. #define REG_FW_IOMUX_ADI_SCL_WR_SEC (1 << 0)
  542. #define REG_FW_IOMUX_RESETB_WR_SEC (1 << 1)
  543. #define REG_FW_IOMUX_OSC_32K_WR_SEC (1 << 2)
  544. #define REG_FW_IOMUX_PMIC_EXT_INT_WR_SEC (1 << 3)
  545. #define REG_FW_IOMUX_CHIP_PD_WR_SEC (1 << 4)
  546. #define REG_FW_IOMUX_PTEST_WR_SEC (1 << 5)
  547. #define REG_FW_IOMUX_CLK26M_PMIC_WR_SEC (1 << 6)
  548. #define REG_FW_IOMUX_SIM_1_RST_WR_SEC (1 << 7)
  549. #define REG_FW_IOMUX_SIM_1_DIO_WR_SEC (1 << 8)
  550. #define REG_FW_IOMUX_SIM_1_CLK_WR_SEC (1 << 9)
  551. #define REG_FW_IOMUX_SIM_0_RST_WR_SEC (1 << 10)
  552. #define REG_FW_IOMUX_SIM_0_DIO_WR_SEC (1 << 11)
  553. #define REG_FW_IOMUX_SIM_0_CLK_WR_SEC (1 << 12)
  554. #define REG_FW_IOMUX_SW_CLK_WR_SEC (1 << 13)
  555. #define REG_FW_IOMUX_SW_DIO_WR_SEC (1 << 14)
  556. #define REG_FW_IOMUX_DEBUG_HOST_TX_WR_SEC (1 << 15)
  557. #define REG_FW_IOMUX_DEBUG_HOST_RX_WR_SEC (1 << 16)
  558. #define REG_FW_IOMUX_DEBUG_HOST_CLK_WR_SEC (1 << 17)
  559. #define REG_FW_IOMUX_CAMERA_RST_L_WR_SEC (1 << 18)
  560. #define REG_FW_IOMUX_SPI_CAMERA_SCK_WR_SEC (1 << 19)
  561. #define REG_FW_IOMUX_SPI_CAMERA_SI_1_WR_SEC (1 << 20)
  562. #define REG_FW_IOMUX_SPI_CAMERA_SI_0_WR_SEC (1 << 21)
  563. #define REG_FW_IOMUX_CAMERA_REF_CLK_WR_SEC (1 << 22)
  564. #define REG_FW_IOMUX_CAMERA_PWDN_WR_SEC (1 << 23)
  565. #define REG_FW_IOMUX_I2S_SDAT_I_WR_SEC (1 << 24)
  566. #define REG_FW_IOMUX_I2S1_SDAT_O_WR_SEC (1 << 25)
  567. #define REG_FW_IOMUX_I2S1_LRCK_WR_SEC (1 << 26)
  568. #define REG_FW_IOMUX_I2S1_BCK_WR_SEC (1 << 27)
  569. #define REG_FW_IOMUX_I2S1_MCLK_WR_SEC (1 << 28)
  570. #define REG_FW_IOMUX_I2C_M2_SCL_WR_SEC (1 << 29)
  571. #define REG_FW_IOMUX_I2C_M2_SDA_WR_SEC (1 << 30)
  572. #define REG_FW_IOMUX_NAND_SEL_WR_SEC (1 << 31)
  573. // reg_wr_ctrl_2
  574. #define REG_FW_IOMUX_KEYOUT_3_WR_SEC (1 << 0)
  575. #define REG_FW_IOMUX_KEYOUT_2_WR_SEC (1 << 1)
  576. #define REG_FW_IOMUX_KEYOUT_1_WR_SEC (1 << 2)
  577. #define REG_FW_IOMUX_KEYOUT_0_WR_SEC (1 << 3)
  578. #define REG_FW_IOMUX_KEYIN_3_WR_SEC (1 << 4)
  579. #define REG_FW_IOMUX_KEYIN_2_WR_SEC (1 << 5)
  580. #define REG_FW_IOMUX_KEYIN_1_WR_SEC (1 << 6)
  581. #define REG_FW_IOMUX_KEYIN_0_WR_SEC (1 << 7)
  582. #define REG_FW_IOMUX_LCD_RSTB_WR_SEC (1 << 8)
  583. #define REG_FW_IOMUX_LCD_FMARK_WR_SEC (1 << 9)
  584. #define REG_FW_IOMUX_SPI_LCD_SELECT_WR_SEC (1 << 10)
  585. #define REG_FW_IOMUX_SPI_LCD_CS_WR_SEC (1 << 11)
  586. #define REG_FW_IOMUX_SPI_LCD_CLK_WR_SEC (1 << 12)
  587. #define REG_FW_IOMUX_SPI_LCD_SDC_WR_SEC (1 << 13)
  588. #define REG_FW_IOMUX_SPI_LCD_SIO_WR_SEC (1 << 14)
  589. #define REG_FW_IOMUX_SDMMC1_RST_WR_SEC (1 << 15)
  590. #define REG_FW_IOMUX_SDMMC1_DATA_7_WR_SEC (1 << 16)
  591. #define REG_FW_IOMUX_SDMMC1_DATA_6_WR_SEC (1 << 17)
  592. #define REG_FW_IOMUX_SDMMC1_DATA_5_WR_SEC (1 << 18)
  593. #define REG_FW_IOMUX_SDMMC1_DATA_4_WR_SEC (1 << 19)
  594. #define REG_FW_IOMUX_SDMMC1_DATA_3_WR_SEC (1 << 20)
  595. #define REG_FW_IOMUX_SDMMC1_DATA_2_WR_SEC (1 << 21)
  596. #define REG_FW_IOMUX_SDMMC1_DATA_1_WR_SEC (1 << 22)
  597. #define REG_FW_IOMUX_SDMMC1_DATA_0_WR_SEC (1 << 23)
  598. #define REG_FW_IOMUX_SDMMC1_CMD_WR_SEC (1 << 24)
  599. #define REG_FW_IOMUX_SDMMC1_CLK_WR_SEC (1 << 25)
  600. #define REG_FW_IOMUX_UART_2_RTS_WR_SEC (1 << 26)
  601. #define REG_FW_IOMUX_UART_2_CTS_WR_SEC (1 << 27)
  602. #define REG_FW_IOMUX_UART_2_TXD_WR_SEC (1 << 28)
  603. #define REG_FW_IOMUX_UART_2_RXD_WR_SEC (1 << 29)
  604. #define REG_FW_IOMUX_I2C_M1_SDA_WR_SEC (1 << 30)
  605. #define REG_FW_IOMUX_I2C_M1_SCL_WR_SEC (1 << 31)
  606. // reg_wr_ctrl_3
  607. #define REG_FW_IOMUX_GPIO_23_WR_SEC (1 << 0)
  608. #define REG_FW_IOMUX_GPIO_22_WR_SEC (1 << 1)
  609. #define REG_FW_IOMUX_GPIO_21_WR_SEC (1 << 2)
  610. #define REG_FW_IOMUX_GPIO_20_WR_SEC (1 << 3)
  611. #define REG_FW_IOMUX_GPIO_19_WR_SEC (1 << 4)
  612. #define REG_FW_IOMUX_GPIO_18_WR_SEC (1 << 5)
  613. #define REG_FW_IOMUX_GPIO_17_WR_SEC (1 << 6)
  614. #define REG_FW_IOMUX_GPIO_16_WR_SEC (1 << 7)
  615. #define REG_FW_IOMUX_M_SPI_D_3_WR_SEC (1 << 8)
  616. #define REG_FW_IOMUX_M_SPI_D_2_WR_SEC (1 << 9)
  617. #define REG_FW_IOMUX_M_SPI_D_1_WR_SEC (1 << 10)
  618. #define REG_FW_IOMUX_M_SPI_D_0_WR_SEC (1 << 11)
  619. #define REG_FW_IOMUX_M_SPI_CS_WR_SEC (1 << 12)
  620. #define REG_FW_IOMUX_M_SPI_CLK_WR_SEC (1 << 13)
  621. // bit_ctrl_addr_array0
  622. #define REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY0(n) (((n)&0x3fff) << 0)
  623. // bit_ctrl_addr_array1
  624. #define REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY1(n) (((n)&0x3fff) << 0)
  625. // bit_ctrl_addr_array2
  626. #define REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY2(n) (((n)&0x3fff) << 0)
  627. // bit_ctrl_addr_array3
  628. #define REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY3(n) (((n)&0x3fff) << 0)
  629. // bit_ctrl_addr_array4
  630. #define REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY4(n) (((n)&0x3fff) << 0)
  631. // bit_ctrl_addr_array5
  632. #define REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY5(n) (((n)&0x3fff) << 0)
  633. // bit_ctrl_addr_array6
  634. #define REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY6(n) (((n)&0x3fff) << 0)
  635. // bit_ctrl_addr_array7
  636. #define REG_FW_IOMUX_BIT_CTRL_ADDR_ARRAY7(n) (((n)&0x3fff) << 0)
  637. #endif // _REG_FW_IOMUX_H_