apb_ctrl_struct.h 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463
  1. // Copyright 2017-2018 Espressif Systems (Shanghai) PTE LTD
  2. //
  3. // Licensed under the Apache License, Version 2.0 (the "License");
  4. // you may not use this file except in compliance with the License.
  5. // You may obtain a copy of the License at
  6. //
  7. // http://www.apache.org/licenses/LICENSE-2.0
  8. //
  9. // Unless required by applicable law or agreed to in writing, software
  10. // distributed under the License is distributed on an "AS IS" BASIS,
  11. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  12. // See the License for the specific language governing permissions and
  13. // limitations under the License.
  14. #ifndef _SOC_APB_CTRL_STRUCT_H_
  15. #define _SOC_APB_CTRL_STRUCT_H_
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. typedef volatile struct {
  20. union {
  21. struct {
  22. uint32_t pre_div: 10;
  23. uint32_t clk_320m_en: 1;
  24. uint32_t clk_en: 1;
  25. uint32_t rst_tick: 1;
  26. uint32_t reserved13: 1;
  27. uint32_t soc_clk_sel: 2;
  28. uint32_t reserved16: 16;
  29. };
  30. uint32_t val;
  31. } clk_conf;
  32. union {
  33. struct {
  34. uint32_t xtal_tick: 8;
  35. uint32_t ck8m_tick: 8;
  36. uint32_t tick_enable: 1;
  37. uint32_t reserved17: 15;
  38. };
  39. uint32_t val;
  40. } tick_conf;
  41. union {
  42. struct {
  43. uint32_t clk20_oen: 1;
  44. uint32_t clk22_oen: 1;
  45. uint32_t clk44_oen: 1;
  46. uint32_t clk_bb_oen: 1;
  47. uint32_t clk80_oen: 1;
  48. uint32_t clk160_oen: 1;
  49. uint32_t clk_320m_oen: 1;
  50. uint32_t clk_adc_inf_oen: 1;
  51. uint32_t clk_dac_cpu_oen: 1;
  52. uint32_t clk40x_bb_oen: 1;
  53. uint32_t clk_xtal_oen: 1;
  54. uint32_t reserved11: 21;
  55. };
  56. uint32_t val;
  57. } clk_out_en;
  58. union {
  59. struct {
  60. uint32_t peri_io_swap: 8;
  61. uint32_t reserved8: 24;
  62. };
  63. uint32_t val;
  64. } host_inf_sel;
  65. union {
  66. struct {
  67. uint32_t ext_mem_pms_lock: 1;
  68. uint32_t reserved1: 31;
  69. };
  70. uint32_t val;
  71. } ext_mem_pms_lock;
  72. union {
  73. struct {
  74. uint32_t flash_ace0_attr: 3;
  75. uint32_t reserved3: 29;
  76. };
  77. uint32_t val;
  78. } flash_ace0_attr;
  79. union {
  80. struct {
  81. uint32_t flash_ace1_attr: 3;
  82. uint32_t reserved3: 29;
  83. };
  84. uint32_t val;
  85. } flash_ace1_attr;
  86. union {
  87. struct {
  88. uint32_t flash_ace2_attr: 3;
  89. uint32_t reserved3: 29;
  90. };
  91. uint32_t val;
  92. } flash_ace2_attr;
  93. union {
  94. struct {
  95. uint32_t flash_ace3_attr: 3;
  96. uint32_t reserved3: 29;
  97. };
  98. uint32_t val;
  99. } flash_ace3_attr;
  100. uint32_t flash_ace0_addr; /**/
  101. uint32_t flash_ace1_addr; /**/
  102. uint32_t flash_ace2_addr; /**/
  103. uint32_t flash_ace3_addr; /**/
  104. union {
  105. struct {
  106. uint32_t flash_ace0_size:16;
  107. uint32_t reserved16: 16;
  108. };
  109. uint32_t val;
  110. } flash_ace0_size;
  111. union {
  112. struct {
  113. uint32_t flash_ace1_size:16;
  114. uint32_t reserved16: 16;
  115. };
  116. uint32_t val;
  117. } flash_ace1_size;
  118. union {
  119. struct {
  120. uint32_t flash_ace2_size:16;
  121. uint32_t reserved16: 16;
  122. };
  123. uint32_t val;
  124. } flash_ace2_size;
  125. union {
  126. struct {
  127. uint32_t flash_ace3_size:16;
  128. uint32_t reserved16: 16;
  129. };
  130. uint32_t val;
  131. } flash_ace3_size;
  132. union {
  133. struct {
  134. uint32_t sram_ace0_attr: 3;
  135. uint32_t reserved3: 29;
  136. };
  137. uint32_t val;
  138. } sram_ace0_attr;
  139. union {
  140. struct {
  141. uint32_t sram_ace1_attr: 3;
  142. uint32_t reserved3: 29;
  143. };
  144. uint32_t val;
  145. } sram_ace1_attr;
  146. union {
  147. struct {
  148. uint32_t sram_ace2_attr: 3;
  149. uint32_t reserved3: 29;
  150. };
  151. uint32_t val;
  152. } sram_ace2_attr;
  153. union {
  154. struct {
  155. uint32_t sram_ace3_attr: 3;
  156. uint32_t reserved3: 29;
  157. };
  158. uint32_t val;
  159. } sram_ace3_attr;
  160. uint32_t sram_ace0_addr; /**/
  161. uint32_t sram_ace1_addr; /**/
  162. uint32_t sram_ace2_addr; /**/
  163. uint32_t sram_ace3_addr; /**/
  164. union {
  165. struct {
  166. uint32_t sram_ace0_size:16;
  167. uint32_t reserved16: 16;
  168. };
  169. uint32_t val;
  170. } sram_ace0_size;
  171. union {
  172. struct {
  173. uint32_t sram_ace1_size:16;
  174. uint32_t reserved16: 16;
  175. };
  176. uint32_t val;
  177. } sram_ace1_size;
  178. union {
  179. struct {
  180. uint32_t sram_ace2_size:16;
  181. uint32_t reserved16: 16;
  182. };
  183. uint32_t val;
  184. } sram_ace2_size;
  185. union {
  186. struct {
  187. uint32_t sram_ace3_size:16;
  188. uint32_t reserved16: 16;
  189. };
  190. uint32_t val;
  191. } sram_ace3_size;
  192. union {
  193. struct {
  194. uint32_t spi_mem_reject_int: 1;
  195. uint32_t spi_mem_reject_clr: 1;
  196. uint32_t spi_mem_reject_cde: 5;
  197. uint32_t reserved7: 25;
  198. };
  199. uint32_t val;
  200. } spi_mem_pms_ctrl;
  201. uint32_t spi_mem_reject_addr; /**/
  202. union {
  203. struct {
  204. uint32_t sdio_win_access_en: 1;
  205. uint32_t reserved1: 31;
  206. };
  207. uint32_t val;
  208. } sdio_ctrl;
  209. union {
  210. struct {
  211. uint32_t redcy_sig0: 31;
  212. uint32_t redcy_andor: 1;
  213. };
  214. uint32_t val;
  215. } redcy_sig0;
  216. union {
  217. struct {
  218. uint32_t redcy_sig1: 31;
  219. uint32_t redcy_nandor: 1;
  220. };
  221. uint32_t val;
  222. } redcy_sig1;
  223. uint32_t wifi_bb_cfg; /**/
  224. uint32_t wifi_bb_cfg_2; /**/
  225. uint32_t wifi_clk_en; /**/
  226. uint32_t wifi_rst_en; /**/
  227. union {
  228. struct {
  229. uint32_t agc_mem_force_pu: 1;
  230. uint32_t agc_mem_force_pd: 1;
  231. uint32_t pbus_mem_force_pu: 1;
  232. uint32_t pbus_mem_force_pd: 1;
  233. uint32_t dc_mem_force_pu: 1;
  234. uint32_t dc_mem_force_pd: 1;
  235. uint32_t reserved6: 26;
  236. };
  237. uint32_t val;
  238. } front_end_mem_pd;
  239. uint32_t reserved_9c;
  240. uint32_t reserved_a0;
  241. uint32_t reserved_a4;
  242. uint32_t reserved_a8;
  243. uint32_t reserved_ac;
  244. uint32_t reserved_b0;
  245. uint32_t reserved_b4;
  246. uint32_t reserved_b8;
  247. uint32_t reserved_bc;
  248. uint32_t reserved_c0;
  249. uint32_t reserved_c4;
  250. uint32_t reserved_c8;
  251. uint32_t reserved_cc;
  252. uint32_t reserved_d0;
  253. uint32_t reserved_d4;
  254. uint32_t reserved_d8;
  255. uint32_t reserved_dc;
  256. uint32_t reserved_e0;
  257. uint32_t reserved_e4;
  258. uint32_t reserved_e8;
  259. uint32_t reserved_ec;
  260. uint32_t reserved_f0;
  261. uint32_t reserved_f4;
  262. uint32_t reserved_f8;
  263. uint32_t reserved_fc;
  264. uint32_t reserved_100;
  265. uint32_t reserved_104;
  266. uint32_t reserved_108;
  267. uint32_t reserved_10c;
  268. uint32_t reserved_110;
  269. uint32_t reserved_114;
  270. uint32_t reserved_118;
  271. uint32_t reserved_11c;
  272. uint32_t reserved_120;
  273. uint32_t reserved_124;
  274. uint32_t reserved_128;
  275. uint32_t reserved_12c;
  276. uint32_t reserved_130;
  277. uint32_t reserved_134;
  278. uint32_t reserved_138;
  279. uint32_t reserved_13c;
  280. uint32_t reserved_140;
  281. uint32_t reserved_144;
  282. uint32_t reserved_148;
  283. uint32_t reserved_14c;
  284. uint32_t reserved_150;
  285. uint32_t reserved_154;
  286. uint32_t reserved_158;
  287. uint32_t reserved_15c;
  288. uint32_t reserved_160;
  289. uint32_t reserved_164;
  290. uint32_t reserved_168;
  291. uint32_t reserved_16c;
  292. uint32_t reserved_170;
  293. uint32_t reserved_174;
  294. uint32_t reserved_178;
  295. uint32_t reserved_17c;
  296. uint32_t reserved_180;
  297. uint32_t reserved_184;
  298. uint32_t reserved_188;
  299. uint32_t reserved_18c;
  300. uint32_t reserved_190;
  301. uint32_t reserved_194;
  302. uint32_t reserved_198;
  303. uint32_t reserved_19c;
  304. uint32_t reserved_1a0;
  305. uint32_t reserved_1a4;
  306. uint32_t reserved_1a8;
  307. uint32_t reserved_1ac;
  308. uint32_t reserved_1b0;
  309. uint32_t reserved_1b4;
  310. uint32_t reserved_1b8;
  311. uint32_t reserved_1bc;
  312. uint32_t reserved_1c0;
  313. uint32_t reserved_1c4;
  314. uint32_t reserved_1c8;
  315. uint32_t reserved_1cc;
  316. uint32_t reserved_1d0;
  317. uint32_t reserved_1d4;
  318. uint32_t reserved_1d8;
  319. uint32_t reserved_1dc;
  320. uint32_t reserved_1e0;
  321. uint32_t reserved_1e4;
  322. uint32_t reserved_1e8;
  323. uint32_t reserved_1ec;
  324. uint32_t reserved_1f0;
  325. uint32_t reserved_1f4;
  326. uint32_t reserved_1f8;
  327. uint32_t reserved_1fc;
  328. uint32_t reserved_200;
  329. uint32_t reserved_204;
  330. uint32_t reserved_208;
  331. uint32_t reserved_20c;
  332. uint32_t reserved_210;
  333. uint32_t reserved_214;
  334. uint32_t reserved_218;
  335. uint32_t reserved_21c;
  336. uint32_t reserved_220;
  337. uint32_t reserved_224;
  338. uint32_t reserved_228;
  339. uint32_t reserved_22c;
  340. uint32_t reserved_230;
  341. uint32_t reserved_234;
  342. uint32_t reserved_238;
  343. uint32_t reserved_23c;
  344. uint32_t reserved_240;
  345. uint32_t reserved_244;
  346. uint32_t reserved_248;
  347. uint32_t reserved_24c;
  348. uint32_t reserved_250;
  349. uint32_t reserved_254;
  350. uint32_t reserved_258;
  351. uint32_t reserved_25c;
  352. uint32_t reserved_260;
  353. uint32_t reserved_264;
  354. uint32_t reserved_268;
  355. uint32_t reserved_26c;
  356. uint32_t reserved_270;
  357. uint32_t reserved_274;
  358. uint32_t reserved_278;
  359. uint32_t reserved_27c;
  360. uint32_t reserved_280;
  361. uint32_t reserved_284;
  362. uint32_t reserved_288;
  363. uint32_t reserved_28c;
  364. uint32_t reserved_290;
  365. uint32_t reserved_294;
  366. uint32_t reserved_298;
  367. uint32_t reserved_29c;
  368. uint32_t reserved_2a0;
  369. uint32_t reserved_2a4;
  370. uint32_t reserved_2a8;
  371. uint32_t reserved_2ac;
  372. uint32_t reserved_2b0;
  373. uint32_t reserved_2b4;
  374. uint32_t reserved_2b8;
  375. uint32_t reserved_2bc;
  376. uint32_t reserved_2c0;
  377. uint32_t reserved_2c4;
  378. uint32_t reserved_2c8;
  379. uint32_t reserved_2cc;
  380. uint32_t reserved_2d0;
  381. uint32_t reserved_2d4;
  382. uint32_t reserved_2d8;
  383. uint32_t reserved_2dc;
  384. uint32_t reserved_2e0;
  385. uint32_t reserved_2e4;
  386. uint32_t reserved_2e8;
  387. uint32_t reserved_2ec;
  388. uint32_t reserved_2f0;
  389. uint32_t reserved_2f4;
  390. uint32_t reserved_2f8;
  391. uint32_t reserved_2fc;
  392. uint32_t reserved_300;
  393. uint32_t reserved_304;
  394. uint32_t reserved_308;
  395. uint32_t reserved_30c;
  396. uint32_t reserved_310;
  397. uint32_t reserved_314;
  398. uint32_t reserved_318;
  399. uint32_t reserved_31c;
  400. uint32_t reserved_320;
  401. uint32_t reserved_324;
  402. uint32_t reserved_328;
  403. uint32_t reserved_32c;
  404. uint32_t reserved_330;
  405. uint32_t reserved_334;
  406. uint32_t reserved_338;
  407. uint32_t reserved_33c;
  408. uint32_t reserved_340;
  409. uint32_t reserved_344;
  410. uint32_t reserved_348;
  411. uint32_t reserved_34c;
  412. uint32_t reserved_350;
  413. uint32_t reserved_354;
  414. uint32_t reserved_358;
  415. uint32_t reserved_35c;
  416. uint32_t reserved_360;
  417. uint32_t reserved_364;
  418. uint32_t reserved_368;
  419. uint32_t reserved_36c;
  420. uint32_t reserved_370;
  421. uint32_t reserved_374;
  422. uint32_t reserved_378;
  423. uint32_t reserved_37c;
  424. uint32_t reserved_380;
  425. uint32_t reserved_384;
  426. uint32_t reserved_388;
  427. uint32_t reserved_38c;
  428. uint32_t reserved_390;
  429. uint32_t reserved_394;
  430. uint32_t reserved_398;
  431. uint32_t reserved_39c;
  432. uint32_t reserved_3a0;
  433. uint32_t reserved_3a4;
  434. uint32_t reserved_3a8;
  435. uint32_t reserved_3ac;
  436. uint32_t reserved_3b0;
  437. uint32_t reserved_3b4;
  438. uint32_t reserved_3b8;
  439. uint32_t reserved_3bc;
  440. uint32_t reserved_3c0;
  441. uint32_t reserved_3c4;
  442. uint32_t reserved_3c8;
  443. uint32_t reserved_3cc;
  444. uint32_t reserved_3d0;
  445. uint32_t reserved_3d4;
  446. uint32_t reserved_3d8;
  447. uint32_t reserved_3dc;
  448. uint32_t reserved_3e0;
  449. uint32_t reserved_3e4;
  450. uint32_t reserved_3e8;
  451. uint32_t reserved_3ec;
  452. uint32_t reserved_3f0;
  453. uint32_t reserved_3f4;
  454. uint32_t reserved_3f8;
  455. uint32_t date; /**/
  456. } apb_ctrl_dev_t;
  457. extern apb_ctrl_dev_t APB_CTRL;
  458. #ifdef __cplusplus
  459. }
  460. #endif
  461. #endif /* _SOC_APB_CTRL_STRUCT_H_ */