nic301.h 4.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. /*
  2. * Copyright (C) 2014 Marek Vasut <marex@denx.de>
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef _NIC301_REGISTERS_H_
  7. #define _NIC301_REGISTERS_H_
  8. struct nic301_registers {
  9. u32 remap; /* 0x0 */
  10. /* Security Register Group */
  11. u32 _pad_0x4_0x8[1];
  12. u32 l4main;
  13. u32 l4sp;
  14. u32 l4mp; /* 0x10 */
  15. u32 l4osc1;
  16. u32 l4spim;
  17. u32 stm;
  18. u32 lwhps2fpgaregs; /* 0x20 */
  19. u32 _pad_0x24_0x28[1];
  20. u32 usb1;
  21. u32 nanddata;
  22. u32 _pad_0x30_0x80[20];
  23. u32 usb0; /* 0x80 */
  24. u32 nandregs;
  25. u32 qspidata;
  26. u32 fpgamgrdata;
  27. u32 hps2fpgaregs; /* 0x90 */
  28. u32 acp;
  29. u32 rom;
  30. u32 ocram;
  31. u32 sdrdata; /* 0xA0 */
  32. u32 _pad_0xa4_0x1fd0[1995];
  33. /* ID Register Group */
  34. u32 periph_id_4; /* 0x1FD0 */
  35. u32 _pad_0x1fd4_0x1fe0[3];
  36. u32 periph_id_0; /* 0x1FE0 */
  37. u32 periph_id_1;
  38. u32 periph_id_2;
  39. u32 periph_id_3;
  40. u32 comp_id_0; /* 0x1FF0 */
  41. u32 comp_id_1;
  42. u32 comp_id_2;
  43. u32 comp_id_3;
  44. u32 _pad_0x2000_0x2008[2];
  45. /* L4 MAIN */
  46. u32 l4main_fn_mod_bm_iss;
  47. u32 _pad_0x200c_0x3008[1023];
  48. /* L4 SP */
  49. u32 l4sp_fn_mod_bm_iss;
  50. u32 _pad_0x300c_0x4008[1023];
  51. /* L4 MP */
  52. u32 l4mp_fn_mod_bm_iss;
  53. u32 _pad_0x400c_0x5008[1023];
  54. /* L4 OSC1 */
  55. u32 l4osc_fn_mod_bm_iss;
  56. u32 _pad_0x500c_0x6008[1023];
  57. /* L4 SPIM */
  58. u32 l4spim_fn_mod_bm_iss;
  59. u32 _pad_0x600c_0x7008[1023];
  60. /* STM */
  61. u32 stm_fn_mod_bm_iss;
  62. u32 _pad_0x700c_0x7108[63];
  63. u32 stm_fn_mod;
  64. u32 _pad_0x710c_0x8008[959];
  65. /* LWHPS2FPGA */
  66. u32 lwhps2fpga_fn_mod_bm_iss;
  67. u32 _pad_0x800c_0x8108[63];
  68. u32 lwhps2fpga_fn_mod;
  69. u32 _pad_0x810c_0xa008[1983];
  70. /* USB1 */
  71. u32 usb1_fn_mod_bm_iss;
  72. u32 _pad_0xa00c_0xa044[14];
  73. u32 usb1_ahb_cntl;
  74. u32 _pad_0xa048_0xb008[1008];
  75. /* NANDDATA */
  76. u32 nanddata_fn_mod_bm_iss;
  77. u32 _pad_0xb00c_0xb108[63];
  78. u32 nanddata_fn_mod;
  79. u32 _pad_0xb10c_0x20008[21439];
  80. /* USB0 */
  81. u32 usb0_fn_mod_bm_iss;
  82. u32 _pad_0x2000c_0x20044[14];
  83. u32 usb0_ahb_cntl;
  84. u32 _pad_0x20048_0x21008[1008];
  85. /* NANDREGS */
  86. u32 nandregs_fn_mod_bm_iss;
  87. u32 _pad_0x2100c_0x21108[63];
  88. u32 nandregs_fn_mod;
  89. u32 _pad_0x2110c_0x22008[959];
  90. /* QSPIDATA */
  91. u32 qspidata_fn_mod_bm_iss;
  92. u32 _pad_0x2200c_0x22044[14];
  93. u32 qspidata_ahb_cntl;
  94. u32 _pad_0x22048_0x23008[1008];
  95. /* FPGAMGRDATA */
  96. u32 fpgamgrdata_fn_mod_bm_iss;
  97. u32 _pad_0x2300c_0x23040[13];
  98. u32 fpgamgrdata_wr_tidemark; /* 0x23040 */
  99. u32 _pad_0x23044_0x23108[49];
  100. u32 fn_mod;
  101. u32 _pad_0x2310c_0x24008[959];
  102. /* HPS2FPGA */
  103. u32 hps2fpga_fn_mod_bm_iss;
  104. u32 _pad_0x2400c_0x24040[13];
  105. u32 hps2fpga_wr_tidemark; /* 0x24040 */
  106. u32 _pad_0x24044_0x24108[49];
  107. u32 hps2fpga_fn_mod;
  108. u32 _pad_0x2410c_0x25008[959];
  109. /* ACP */
  110. u32 acp_fn_mod_bm_iss;
  111. u32 _pad_0x2500c_0x25108[63];
  112. u32 acp_fn_mod;
  113. u32 _pad_0x2510c_0x26008[959];
  114. /* Boot ROM */
  115. u32 bootrom_fn_mod_bm_iss;
  116. u32 _pad_0x2600c_0x26108[63];
  117. u32 bootrom_fn_mod;
  118. u32 _pad_0x2610c_0x27008[959];
  119. /* On-chip RAM */
  120. u32 ocram_fn_mod_bm_iss;
  121. u32 _pad_0x2700c_0x27040[13];
  122. u32 ocram_wr_tidemark; /* 0x27040 */
  123. u32 _pad_0x27044_0x27108[49];
  124. u32 ocram_fn_mod;
  125. u32 _pad_0x2710c_0x42024[27590];
  126. /* DAP */
  127. u32 dap_fn_mod2;
  128. u32 dap_fn_mod_ahb;
  129. u32 _pad_0x4202c_0x42100[53];
  130. u32 dap_read_qos; /* 0x42100 */
  131. u32 dap_write_qos;
  132. u32 dap_fn_mod;
  133. u32 _pad_0x4210c_0x43100[1021];
  134. /* MPU */
  135. u32 mpu_read_qos; /* 0x43100 */
  136. u32 mpu_write_qos;
  137. u32 mpu_fn_mod;
  138. u32 _pad_0x4310c_0x44028[967];
  139. /* SDMMC */
  140. u32 sdmmc_fn_mod_ahb;
  141. u32 _pad_0x4402c_0x44100[53];
  142. u32 sdmmc_read_qos; /* 0x44100 */
  143. u32 sdmmc_write_qos;
  144. u32 sdmmc_fn_mod;
  145. u32 _pad_0x4410c_0x45100[1021];
  146. /* DMA */
  147. u32 dma_read_qos; /* 0x45100 */
  148. u32 dma_write_qos;
  149. u32 dma_fn_mod;
  150. u32 _pad_0x4510c_0x46040[973];
  151. /* FPGA2HPS */
  152. u32 fpga2hps_wr_tidemark; /* 0x46040 */
  153. u32 _pad_0x46044_0x46100[47];
  154. u32 fpga2hps_read_qos; /* 0x46100 */
  155. u32 fpga2hps_write_qos;
  156. u32 fpga2hps_fn_mod;
  157. u32 _pad_0x4610c_0x47100[1021];
  158. /* ETR */
  159. u32 etr_read_qos; /* 0x47100 */
  160. u32 etr_write_qos;
  161. u32 etr_fn_mod;
  162. u32 _pad_0x4710c_0x48100[1021];
  163. /* EMAC0 */
  164. u32 emac0_read_qos; /* 0x48100 */
  165. u32 emac0_write_qos;
  166. u32 emac0_fn_mod;
  167. u32 _pad_0x4810c_0x49100[1021];
  168. /* EMAC1 */
  169. u32 emac1_read_qos; /* 0x49100 */
  170. u32 emac1_write_qos;
  171. u32 emac1_fn_mod;
  172. u32 _pad_0x4910c_0x4a028[967];
  173. /* USB0 */
  174. u32 usb0_fn_mod_ahb;
  175. u32 _pad_0x4a02c_0x4a100[53];
  176. u32 usb0_read_qos; /* 0x4A100 */
  177. u32 usb0_write_qos;
  178. u32 usb0_fn_mod;
  179. u32 _pad_0x4a10c_0x4b100[1021];
  180. /* NAND */
  181. u32 nand_read_qos; /* 0x4B100 */
  182. u32 nand_write_qos;
  183. u32 nand_fn_mod;
  184. u32 _pad_0x4b10c_0x4c028[967];
  185. /* USB1 */
  186. u32 usb1_fn_mod_ahb;
  187. u32 _pad_0x4c02c_0x4c100[53];
  188. u32 usb1_read_qos; /* 0x4C100 */
  189. u32 usb1_write_qos;
  190. u32 usb1_fn_mod;
  191. };
  192. #endif /* _NIC301_REGISTERS_H_ */