sysctl.h 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195
  1. #ifndef _SYSCTL_H
  2. #define _SYSCTL_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define SYS_BOOT_SAMPLE 0x0
  7. #define SYS_CPUPLL_CFG 0X4
  8. #define SYS_SYSPLL_CFG 0X8
  9. #define SYS_DDRPLL_CFG 0xc
  10. #define SYS_VPUPLL_CFG 0x10
  11. #define SYS_MFCPLL_CFG 0X14
  12. #define SYS_AHBPLL_CFG 0X18
  13. #define SYS_GPUPLL_CFG 0X1C
  14. #define SYS_SYSPLL_SPRD_CTL 0X20
  15. #define SYS_AHBPLL_SPRD_CTL 0X24
  16. #define SYS_VPUPLL_SPRD_CTL 0X28
  17. #define SYS_WDTRST_REG 0X30
  18. #define SYS_BUS_CLK_CFG 0x40
  19. #define SYS_BUS_CLK1_CFG 0x180
  20. #define SYS_PER_CLK_CFG 0x44
  21. #define SYS_SDMMC_CLK_CFG 0x48
  22. #define SYS_VOU_CLK_CFG 0x4c
  23. #define SYS_BUS_CLK_EN 0x50
  24. #define SYS_BUS_CLK_EN1 0x54
  25. #define SYS_PER_CLK_EN 0x58
  26. #define SYS_PER_CLK_EN1 0x184
  27. #define SYS_SOFTRESET_CTL 0x5c
  28. #define SYS_SOFTRESET_CTL1 0x60
  29. #define SYS_SOFTRESET_CTL2 0x188
  30. #define SYS_SSP_CLK_CFG 0x64
  31. #define SYS_TIMER_CLK_CFG 0x68
  32. #define SYS_I2S_NCO_CFG 0x6c
  33. #define SYS_I2S_NCO_CFG1 0x18c
  34. #define SYS_SDMMC1_CLK_CFG 0x70
  35. #define SYS_DDR_CTL1_CFG 0X74
  36. #define SYS_PERCTL_CFG 0x78
  37. #define SYS_TIMER1_CLK_CFG 0x7c
  38. #define SYS_ANA_CFG 0x80
  39. #define SYS_ANA1_CFG 0x84
  40. #define SYS_ANA2_CFG 0x88
  41. #define SYS_ANA3_CFG 0x8c
  42. #define SYS_ANA4_CFG 0x90
  43. #define SYS_ANA5_CFG 0x94
  44. #define SYS_ANA6_CFG 0x98
  45. #define SYS_ANA8_CFG 0xA0
  46. #define SYS_ADC_CLK1_CFG 0xA4
  47. #define SYS_PAD_CTRL00 0xc0
  48. #define SYS_PAD_CTRL01 0xc4
  49. #define SYS_PAD_CTRL02 0xc8
  50. #define SYS_PAD_CTRL03 0xcc
  51. #define SYS_PAD_CTRL04 0xd0
  52. #define SYS_PAD_CTRL05 0xd4
  53. #define SYS_PAD_CTRL06 0xd8
  54. #define SYS_PAD_CTRL07 0xdc
  55. #define SYS_PAD_CTRL08 0xe0
  56. #define SYS_PAD_CTRL09 0xe4
  57. #define SYS_PAD_CTRL10 0xe8
  58. #define SYS_PAD_CTRL11 0xec
  59. #define SYS_PAD_CTRL12 0xf0
  60. #define SYS_PAD_CTRL13 0xf4
  61. #define SYS_PAD_CTRL14 0xf8
  62. #define SYS_IO_DRIVER00 0x100
  63. #define SYS_IO_DRIVER01 0x104
  64. #define SYS_IO_DRIVER02 0x108
  65. #define SYS_IO_DRIVER03 0x10c
  66. #define SYS_IO_DRIVER04 0x110
  67. #define SYS_IO_DRIVER05 0x114
  68. #define SYS_IO_DRIVER06 0x118
  69. #define SYS_IO_DRIVER07 0x11c
  70. #define SYS_IO_DRIVER08 0x120
  71. #define SYS_IO_DRIVER09 0x124
  72. #define SYS_IO_DRIVER10 0x128
  73. #define SYS_IO_DRIVER11 0x12c
  74. #define SYS_IO_DRIVER14 0x138
  75. #define SYS_IO_DRIVER15 0x13c
  76. #define SYS_PAD_PUDCTL0 0x140
  77. #define SYS_PAD_PUDCTL1 0x144
  78. #define SYS_PAD_PUDCTL2 0x148
  79. #define SYS_PAD_PUDCTL3 0x14c
  80. #define SYS_PAD_PUDCTL4 0x150
  81. #define SYS_PAD_PUDCTL5 0x154
  82. #define SYS_PAD_PUDCTL6 0x158
  83. #define SYS_PAD_PUDCTL7 0x15c
  84. #define SYS_PAD_PUDCTL8 0x160
  85. #define SYS_PAD_PUDCTL9 0x164
  86. #define SYS_PAD_PUDCTL10 0x168
  87. #define SYS_PAD_PUDCTL11 0x16c
  88. #define SYS_PAD_PUDCTL13 0x174
  89. #define SYS_PAD_PUDCTL14 0x178
  90. #define SYS_MIPI_CTL 0X190
  91. #define SYS_MIPI_BIST 0X194
  92. #define SYS_MIPI_CLK_CFG 0X198
  93. #define SYS_MIPI_CSI_CFG1 0X19C
  94. #define SYS_MIPI_CSI_CFG2 0X1A0
  95. #define SYS_MIPI_CSI_CFG3 0X1A4
  96. #define SYS_MIPI_CSI_CFG4 0X1A8
  97. #define SYS_GBUS_PRIORITY 0X1AC
  98. #define SYS_CHBUS_PRIORITY 0X1B0
  99. #define SYS_MIPI_TEST_CTL 0X1C0
  100. #define SYS_MIPI_TEST_CTL1 0X1C4
  101. #define SYS_WRAP_CFG 0X1C8
  102. #define SYS_RDC_CFG 0X200
  103. enum soft_rst_n{
  104. // SOF_RST_CTL0
  105. softreset_sdmmc1 = (32*0+31),
  106. softreset_i2s1 = (32*0+30),
  107. softreset_qoi_core = (32*0+29),
  108. softreset_qoi = (32*0+28),
  109. softreset_rcrt = (32*0+26),
  110. softreset_adc = (32*0+25),
  111. softreset_rtc = (32*0+24),
  112. softreset_i2s = (32*0+23),
  113. softreset_wdt = (32*0+22),
  114. softreset_pwm = (32*0+21),
  115. softreset_timer3 = (32*0+20),
  116. softreset_timer2 = (32*0+19),
  117. softreset_timer1 = (32*0+18),
  118. softreset_timer0 = (32*0+17),
  119. softreset_gpio = (32*0+16),
  120. softreset_uart3 = (32*0+15),
  121. softreset_uart2 = (32*0+14),
  122. softreset_uart1 = (32*0+13),
  123. softreset_uart0 = (32*0+12),
  124. softreset_i2c1 = (32*0+11),
  125. softreset_i2c = (32*0+10),
  126. softreset_ssp1 = (32*0+9),
  127. softreset_ssp0 = (32*0+8),
  128. softreset_gpu_core = (32*0+7),
  129. softreset_gpu = (32*0+6),
  130. softreset_itu = (32*0+5),
  131. softreset_sdmmc = (32*0+4),
  132. softreset_usb = (32*0+3),
  133. softreset_pxp = (32*0+2),
  134. softreset_dma = (32*0+1),
  135. softreset_lcd = (32*0+0),
  136. // SOF_RST_CTL1
  137. softreset_cabuspclk = (32*1+31),
  138. softreset_chbuspclk = (32*1+30),
  139. softreset_gbuspclk = (32*1+29),
  140. softreset_mailbox = (32*1+28),
  141. softreset_sema = (32*1+27),
  142. softreset_crc = (32*1+26),
  143. softreset_buspclk = (32*1+25),
  144. softreset_adc1 = (32*1+24),
  145. softreset_cpu_cnt = (32*1+23),
  146. softreset_usbphy = (32*1+22),
  147. softreset_ddrphy = (32*1+21),
  148. softreset_ddrctl = (32*1+20),
  149. softreset_ddr3 = (32*1+19),
  150. softreset_ddr2 = (32*1+18),
  151. softreset_ddr1 = (32*1+17),
  152. softreset_ddr0 = (32*1+16),
  153. softreset_codec = (32*1+7),
  154. softreset_eth = (32*1+6),
  155. softreset_utmi = (32*1+5),
  156. softreset_ble = (32*1+4),
  157. softreset_h2xusb = (32*1+3),
  158. softreset_h2xdma = (32*1+2),
  159. softreset_ssp2 = (32*1+1),
  160. softreset_mfc = (32*1+0),
  161. // SOF_RST_CTL2
  162. softreset_csi_pix2xclk = (32*2+6),
  163. softreset_csi_pixclk = (32*2+5),
  164. softreset_wrap_sram = (32*2+4),
  165. softreset_wrap = (32*2+3),
  166. softreset_adc2 = (32*2+2),
  167. softreset_csi = (32*2+1),
  168. softreset_dsi = (32*2+0),
  169. };
  170. extern void vSysctlConfigure(uint32_t regoffset, uint32_t bitoffset, uint32_t mask, uint32_t val);
  171. extern void sys_soft_reset (enum soft_rst_n reset_dev);
  172. extern void sys_soft_reset_from_isr (enum soft_rst_n reset_dev);
  173. #ifdef __cplusplus
  174. }
  175. #endif
  176. #endif