nic301.h 4.5 KB

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