rst-rk3576.c 26 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651
  1. // SPDX-License-Identifier: GPL-2.0-or-later
  2. /*
  3. * Copyright (c) 2021 Rockchip Electronics Co., Ltd.
  4. * Copyright (c) 2024 Collabora Ltd.
  5. * Author: Detlev Casanova <detlev.casanova@collabora.com>
  6. * Based on Sebastien Reichel's implementation for RK3588
  7. */
  8. #include <linux/module.h>
  9. #include <linux/of.h>
  10. #include <dt-bindings/reset/rockchip,rk3576-cru.h>
  11. #include "clk.h"
  12. /* 0x27200000 + 0x0A00 */
  13. #define RK3576_CRU_RESET_OFFSET(id, reg, bit) [id] = (0 + reg * 16 + bit)
  14. /* 0x27208000 + 0x0A00 */
  15. #define RK3576_PHPCRU_RESET_OFFSET(id, reg, bit) [id] = (0x8000*4 + reg * 16 + bit)
  16. /* 0x27210000 + 0x0A00 */
  17. #define RK3576_SECURENSCRU_RESET_OFFSET(id, reg, bit) [id] = (0x10000*4 + reg * 16 + bit)
  18. /* 0x27220000 + 0x0A00 */
  19. #define RK3576_PMU1CRU_RESET_OFFSET(id, reg, bit) [id] = (0x20000*4 + reg * 16 + bit)
  20. /* mapping table for reset ID to register offset */
  21. static const int rk3576_register_offset[] = {
  22. /* SOFTRST_CON01 */
  23. RK3576_CRU_RESET_OFFSET(SRST_A_TOP_BIU, 1, 3),
  24. RK3576_CRU_RESET_OFFSET(SRST_P_TOP_BIU, 1, 5),
  25. RK3576_CRU_RESET_OFFSET(SRST_A_TOP_MID_BIU, 1, 6),
  26. RK3576_CRU_RESET_OFFSET(SRST_A_SECURE_HIGH_BIU, 1, 7),
  27. RK3576_CRU_RESET_OFFSET(SRST_H_TOP_BIU, 1, 14),
  28. /* SOFTRST_CON02 */
  29. RK3576_CRU_RESET_OFFSET(SRST_H_VO0VOP_CHANNEL_BIU, 2, 0),
  30. RK3576_CRU_RESET_OFFSET(SRST_A_VO0VOP_CHANNEL_BIU, 2, 1),
  31. /* SOFTRST_CON06 */
  32. RK3576_CRU_RESET_OFFSET(SRST_BISRINTF, 6, 2),
  33. /* SOFTRST_CON07 */
  34. RK3576_CRU_RESET_OFFSET(SRST_H_AUDIO_BIU, 7, 2),
  35. RK3576_CRU_RESET_OFFSET(SRST_H_ASRC_2CH_0, 7, 3),
  36. RK3576_CRU_RESET_OFFSET(SRST_H_ASRC_2CH_1, 7, 4),
  37. RK3576_CRU_RESET_OFFSET(SRST_H_ASRC_4CH_0, 7, 5),
  38. RK3576_CRU_RESET_OFFSET(SRST_H_ASRC_4CH_1, 7, 6),
  39. RK3576_CRU_RESET_OFFSET(SRST_ASRC_2CH_0, 7, 7),
  40. RK3576_CRU_RESET_OFFSET(SRST_ASRC_2CH_1, 7, 8),
  41. RK3576_CRU_RESET_OFFSET(SRST_ASRC_4CH_0, 7, 9),
  42. RK3576_CRU_RESET_OFFSET(SRST_ASRC_4CH_1, 7, 10),
  43. RK3576_CRU_RESET_OFFSET(SRST_M_SAI0_8CH, 7, 12),
  44. RK3576_CRU_RESET_OFFSET(SRST_H_SAI0_8CH, 7, 13),
  45. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_RX0, 7, 14),
  46. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_RX0, 7, 15),
  47. /* SOFTRST_CON08 */
  48. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_RX1, 8, 0),
  49. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_RX1, 8, 1),
  50. RK3576_CRU_RESET_OFFSET(SRST_M_SAI1_8CH, 8, 5),
  51. RK3576_CRU_RESET_OFFSET(SRST_H_SAI1_8CH, 8, 6),
  52. RK3576_CRU_RESET_OFFSET(SRST_M_SAI2_2CH, 8, 8),
  53. RK3576_CRU_RESET_OFFSET(SRST_H_SAI2_2CH, 8, 10),
  54. RK3576_CRU_RESET_OFFSET(SRST_M_SAI3_2CH, 8, 12),
  55. RK3576_CRU_RESET_OFFSET(SRST_H_SAI3_2CH, 8, 14),
  56. /* SOFTRST_CON09 */
  57. RK3576_CRU_RESET_OFFSET(SRST_M_SAI4_2CH, 9, 0),
  58. RK3576_CRU_RESET_OFFSET(SRST_H_SAI4_2CH, 9, 2),
  59. RK3576_CRU_RESET_OFFSET(SRST_H_ACDCDIG_DSM, 9, 3),
  60. RK3576_CRU_RESET_OFFSET(SRST_M_ACDCDIG_DSM, 9, 4),
  61. RK3576_CRU_RESET_OFFSET(SRST_PDM1, 9, 5),
  62. RK3576_CRU_RESET_OFFSET(SRST_H_PDM1, 9, 7),
  63. RK3576_CRU_RESET_OFFSET(SRST_M_PDM1, 9, 8),
  64. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_TX0, 9, 9),
  65. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_TX0, 9, 10),
  66. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_TX1, 9, 11),
  67. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_TX1, 9, 12),
  68. /* SOFTRST_CON11 */
  69. RK3576_CRU_RESET_OFFSET(SRST_A_BUS_BIU, 11, 3),
  70. RK3576_CRU_RESET_OFFSET(SRST_P_BUS_BIU, 11, 4),
  71. RK3576_CRU_RESET_OFFSET(SRST_P_CRU, 11, 5),
  72. RK3576_CRU_RESET_OFFSET(SRST_H_CAN0, 11, 6),
  73. RK3576_CRU_RESET_OFFSET(SRST_CAN0, 11, 7),
  74. RK3576_CRU_RESET_OFFSET(SRST_H_CAN1, 11, 8),
  75. RK3576_CRU_RESET_OFFSET(SRST_CAN1, 11, 9),
  76. RK3576_CRU_RESET_OFFSET(SRST_P_INTMUX2BUS, 11, 12),
  77. RK3576_CRU_RESET_OFFSET(SRST_P_VCCIO_IOC, 11, 13),
  78. RK3576_CRU_RESET_OFFSET(SRST_H_BUS_BIU, 11, 14),
  79. RK3576_CRU_RESET_OFFSET(SRST_KEY_SHIFT, 11, 15),
  80. /* SOFTRST_CON12 */
  81. RK3576_CRU_RESET_OFFSET(SRST_P_I2C1, 12, 0),
  82. RK3576_CRU_RESET_OFFSET(SRST_P_I2C2, 12, 1),
  83. RK3576_CRU_RESET_OFFSET(SRST_P_I2C3, 12, 2),
  84. RK3576_CRU_RESET_OFFSET(SRST_P_I2C4, 12, 3),
  85. RK3576_CRU_RESET_OFFSET(SRST_P_I2C5, 12, 4),
  86. RK3576_CRU_RESET_OFFSET(SRST_P_I2C6, 12, 5),
  87. RK3576_CRU_RESET_OFFSET(SRST_P_I2C7, 12, 6),
  88. RK3576_CRU_RESET_OFFSET(SRST_P_I2C8, 12, 7),
  89. RK3576_CRU_RESET_OFFSET(SRST_P_I2C9, 12, 8),
  90. RK3576_CRU_RESET_OFFSET(SRST_P_WDT_BUSMCU, 12, 9),
  91. RK3576_CRU_RESET_OFFSET(SRST_T_WDT_BUSMCU, 12, 10),
  92. RK3576_CRU_RESET_OFFSET(SRST_A_GIC, 12, 11),
  93. RK3576_CRU_RESET_OFFSET(SRST_I2C1, 12, 12),
  94. RK3576_CRU_RESET_OFFSET(SRST_I2C2, 12, 13),
  95. RK3576_CRU_RESET_OFFSET(SRST_I2C3, 12, 14),
  96. RK3576_CRU_RESET_OFFSET(SRST_I2C4, 12, 15),
  97. /* SOFTRST_CON13 */
  98. RK3576_CRU_RESET_OFFSET(SRST_I2C5, 13, 0),
  99. RK3576_CRU_RESET_OFFSET(SRST_I2C6, 13, 1),
  100. RK3576_CRU_RESET_OFFSET(SRST_I2C7, 13, 2),
  101. RK3576_CRU_RESET_OFFSET(SRST_I2C8, 13, 3),
  102. RK3576_CRU_RESET_OFFSET(SRST_I2C9, 13, 4),
  103. RK3576_CRU_RESET_OFFSET(SRST_P_SARADC, 13, 6),
  104. RK3576_CRU_RESET_OFFSET(SRST_SARADC, 13, 7),
  105. RK3576_CRU_RESET_OFFSET(SRST_P_TSADC, 13, 8),
  106. RK3576_CRU_RESET_OFFSET(SRST_TSADC, 13, 9),
  107. RK3576_CRU_RESET_OFFSET(SRST_P_UART0, 13, 10),
  108. RK3576_CRU_RESET_OFFSET(SRST_P_UART2, 13, 11),
  109. RK3576_CRU_RESET_OFFSET(SRST_P_UART3, 13, 12),
  110. RK3576_CRU_RESET_OFFSET(SRST_P_UART4, 13, 13),
  111. RK3576_CRU_RESET_OFFSET(SRST_P_UART5, 13, 14),
  112. RK3576_CRU_RESET_OFFSET(SRST_P_UART6, 13, 15),
  113. /* SOFTRST_CON14 */
  114. RK3576_CRU_RESET_OFFSET(SRST_P_UART7, 14, 0),
  115. RK3576_CRU_RESET_OFFSET(SRST_P_UART8, 14, 1),
  116. RK3576_CRU_RESET_OFFSET(SRST_P_UART9, 14, 2),
  117. RK3576_CRU_RESET_OFFSET(SRST_P_UART10, 14, 3),
  118. RK3576_CRU_RESET_OFFSET(SRST_P_UART11, 14, 4),
  119. RK3576_CRU_RESET_OFFSET(SRST_S_UART0, 14, 5),
  120. RK3576_CRU_RESET_OFFSET(SRST_S_UART2, 14, 6),
  121. RK3576_CRU_RESET_OFFSET(SRST_S_UART3, 14, 9),
  122. RK3576_CRU_RESET_OFFSET(SRST_S_UART4, 14, 12),
  123. RK3576_CRU_RESET_OFFSET(SRST_S_UART5, 14, 15),
  124. /* SOFTRST_CON15 */
  125. RK3576_CRU_RESET_OFFSET(SRST_S_UART6, 15, 2),
  126. RK3576_CRU_RESET_OFFSET(SRST_S_UART7, 15, 5),
  127. RK3576_CRU_RESET_OFFSET(SRST_S_UART8, 15, 8),
  128. RK3576_CRU_RESET_OFFSET(SRST_S_UART9, 15, 9),
  129. RK3576_CRU_RESET_OFFSET(SRST_S_UART10, 15, 10),
  130. RK3576_CRU_RESET_OFFSET(SRST_S_UART11, 15, 11),
  131. RK3576_CRU_RESET_OFFSET(SRST_P_SPI0, 15, 13),
  132. RK3576_CRU_RESET_OFFSET(SRST_P_SPI1, 15, 14),
  133. RK3576_CRU_RESET_OFFSET(SRST_P_SPI2, 15, 15),
  134. /* SOFTRST_CON16 */
  135. RK3576_CRU_RESET_OFFSET(SRST_P_SPI3, 16, 0),
  136. RK3576_CRU_RESET_OFFSET(SRST_P_SPI4, 16, 1),
  137. RK3576_CRU_RESET_OFFSET(SRST_SPI0, 16, 2),
  138. RK3576_CRU_RESET_OFFSET(SRST_SPI1, 16, 3),
  139. RK3576_CRU_RESET_OFFSET(SRST_SPI2, 16, 4),
  140. RK3576_CRU_RESET_OFFSET(SRST_SPI3, 16, 5),
  141. RK3576_CRU_RESET_OFFSET(SRST_SPI4, 16, 6),
  142. RK3576_CRU_RESET_OFFSET(SRST_P_WDT0, 16, 7),
  143. RK3576_CRU_RESET_OFFSET(SRST_T_WDT0, 16, 8),
  144. RK3576_CRU_RESET_OFFSET(SRST_P_SYS_GRF, 16, 9),
  145. RK3576_CRU_RESET_OFFSET(SRST_P_PWM1, 16, 10),
  146. RK3576_CRU_RESET_OFFSET(SRST_PWM1, 16, 11),
  147. /* SOFTRST_CON17 */
  148. RK3576_CRU_RESET_OFFSET(SRST_P_BUSTIMER0, 17, 3),
  149. RK3576_CRU_RESET_OFFSET(SRST_P_BUSTIMER1, 17, 4),
  150. RK3576_CRU_RESET_OFFSET(SRST_TIMER0, 17, 6),
  151. RK3576_CRU_RESET_OFFSET(SRST_TIMER1, 17, 7),
  152. RK3576_CRU_RESET_OFFSET(SRST_TIMER2, 17, 8),
  153. RK3576_CRU_RESET_OFFSET(SRST_TIMER3, 17, 9),
  154. RK3576_CRU_RESET_OFFSET(SRST_TIMER4, 17, 10),
  155. RK3576_CRU_RESET_OFFSET(SRST_TIMER5, 17, 11),
  156. RK3576_CRU_RESET_OFFSET(SRST_P_BUSIOC, 17, 12),
  157. RK3576_CRU_RESET_OFFSET(SRST_P_MAILBOX0, 17, 13),
  158. RK3576_CRU_RESET_OFFSET(SRST_P_GPIO1, 17, 15),
  159. /* SOFTRST_CON18 */
  160. RK3576_CRU_RESET_OFFSET(SRST_GPIO1, 18, 0),
  161. RK3576_CRU_RESET_OFFSET(SRST_P_GPIO2, 18, 1),
  162. RK3576_CRU_RESET_OFFSET(SRST_GPIO2, 18, 2),
  163. RK3576_CRU_RESET_OFFSET(SRST_P_GPIO3, 18, 3),
  164. RK3576_CRU_RESET_OFFSET(SRST_GPIO3, 18, 4),
  165. RK3576_CRU_RESET_OFFSET(SRST_P_GPIO4, 18, 5),
  166. RK3576_CRU_RESET_OFFSET(SRST_GPIO4, 18, 6),
  167. RK3576_CRU_RESET_OFFSET(SRST_A_DECOM, 18, 7),
  168. RK3576_CRU_RESET_OFFSET(SRST_P_DECOM, 18, 8),
  169. RK3576_CRU_RESET_OFFSET(SRST_D_DECOM, 18, 9),
  170. RK3576_CRU_RESET_OFFSET(SRST_TIMER6, 18, 11),
  171. RK3576_CRU_RESET_OFFSET(SRST_TIMER7, 18, 12),
  172. RK3576_CRU_RESET_OFFSET(SRST_TIMER8, 18, 13),
  173. RK3576_CRU_RESET_OFFSET(SRST_TIMER9, 18, 14),
  174. RK3576_CRU_RESET_OFFSET(SRST_TIMER10, 18, 15),
  175. /* SOFTRST_CON19 */
  176. RK3576_CRU_RESET_OFFSET(SRST_TIMER11, 19, 0),
  177. RK3576_CRU_RESET_OFFSET(SRST_A_DMAC0, 19, 1),
  178. RK3576_CRU_RESET_OFFSET(SRST_A_DMAC1, 19, 2),
  179. RK3576_CRU_RESET_OFFSET(SRST_A_DMAC2, 19, 3),
  180. RK3576_CRU_RESET_OFFSET(SRST_A_SPINLOCK, 19, 4),
  181. RK3576_CRU_RESET_OFFSET(SRST_REF_PVTPLL_BUS, 19, 5),
  182. RK3576_CRU_RESET_OFFSET(SRST_H_I3C0, 19, 7),
  183. RK3576_CRU_RESET_OFFSET(SRST_H_I3C1, 19, 9),
  184. RK3576_CRU_RESET_OFFSET(SRST_H_BUS_CM0_BIU, 19, 11),
  185. RK3576_CRU_RESET_OFFSET(SRST_F_BUS_CM0_CORE, 19, 12),
  186. RK3576_CRU_RESET_OFFSET(SRST_T_BUS_CM0_JTAG, 19, 13),
  187. /* SOFTRST_CON20 */
  188. RK3576_CRU_RESET_OFFSET(SRST_P_INTMUX2PMU, 20, 0),
  189. RK3576_CRU_RESET_OFFSET(SRST_P_INTMUX2DDR, 20, 1),
  190. RK3576_CRU_RESET_OFFSET(SRST_P_PVTPLL_BUS, 20, 3),
  191. RK3576_CRU_RESET_OFFSET(SRST_P_PWM2, 20, 4),
  192. RK3576_CRU_RESET_OFFSET(SRST_PWM2, 20, 5),
  193. RK3576_CRU_RESET_OFFSET(SRST_FREQ_PWM1, 20, 8),
  194. RK3576_CRU_RESET_OFFSET(SRST_COUNTER_PWM1, 20, 9),
  195. RK3576_CRU_RESET_OFFSET(SRST_I3C0, 20, 12),
  196. RK3576_CRU_RESET_OFFSET(SRST_I3C1, 20, 13),
  197. /* SOFTRST_CON21 */
  198. RK3576_CRU_RESET_OFFSET(SRST_P_DDR_MON_CH0, 21, 1),
  199. RK3576_CRU_RESET_OFFSET(SRST_P_DDR_BIU, 21, 2),
  200. RK3576_CRU_RESET_OFFSET(SRST_P_DDR_UPCTL_CH0, 21, 3),
  201. RK3576_CRU_RESET_OFFSET(SRST_TM_DDR_MON_CH0, 21, 4),
  202. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_BIU, 21, 5),
  203. RK3576_CRU_RESET_OFFSET(SRST_DFI_CH0, 21, 6),
  204. RK3576_CRU_RESET_OFFSET(SRST_DDR_MON_CH0, 21, 10),
  205. RK3576_CRU_RESET_OFFSET(SRST_P_DDR_HWLP_CH0, 21, 13),
  206. RK3576_CRU_RESET_OFFSET(SRST_P_DDR_MON_CH1, 21, 14),
  207. RK3576_CRU_RESET_OFFSET(SRST_P_DDR_HWLP_CH1, 21, 15),
  208. /* SOFTRST_CON22 */
  209. RK3576_CRU_RESET_OFFSET(SRST_P_DDR_UPCTL_CH1, 22, 0),
  210. RK3576_CRU_RESET_OFFSET(SRST_TM_DDR_MON_CH1, 22, 1),
  211. RK3576_CRU_RESET_OFFSET(SRST_DFI_CH1, 22, 2),
  212. RK3576_CRU_RESET_OFFSET(SRST_A_DDR01_MSCH0, 22, 3),
  213. RK3576_CRU_RESET_OFFSET(SRST_A_DDR01_MSCH1, 22, 4),
  214. RK3576_CRU_RESET_OFFSET(SRST_DDR_MON_CH1, 22, 6),
  215. RK3576_CRU_RESET_OFFSET(SRST_DDR_SCRAMBLE_CH0, 22, 9),
  216. RK3576_CRU_RESET_OFFSET(SRST_DDR_SCRAMBLE_CH1, 22, 10),
  217. RK3576_CRU_RESET_OFFSET(SRST_P_AHB2APB, 22, 12),
  218. RK3576_CRU_RESET_OFFSET(SRST_H_AHB2APB, 22, 13),
  219. RK3576_CRU_RESET_OFFSET(SRST_H_DDR_BIU, 22, 14),
  220. RK3576_CRU_RESET_OFFSET(SRST_F_DDR_CM0_CORE, 22, 15),
  221. /* SOFTRST_CON23 */
  222. RK3576_CRU_RESET_OFFSET(SRST_P_DDR01_MSCH0, 23, 1),
  223. RK3576_CRU_RESET_OFFSET(SRST_P_DDR01_MSCH1, 23, 2),
  224. RK3576_CRU_RESET_OFFSET(SRST_DDR_TIMER0, 23, 4),
  225. RK3576_CRU_RESET_OFFSET(SRST_DDR_TIMER1, 23, 5),
  226. RK3576_CRU_RESET_OFFSET(SRST_T_WDT_DDR, 23, 6),
  227. RK3576_CRU_RESET_OFFSET(SRST_P_WDT, 23, 7),
  228. RK3576_CRU_RESET_OFFSET(SRST_P_TIMER, 23, 8),
  229. RK3576_CRU_RESET_OFFSET(SRST_T_DDR_CM0_JTAG, 23, 9),
  230. RK3576_CRU_RESET_OFFSET(SRST_P_DDR_GRF, 23, 11),
  231. /* SOFTRST_CON25 */
  232. RK3576_CRU_RESET_OFFSET(SRST_DDR_UPCTL_CH0, 25, 1),
  233. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_0_CH0, 25, 2),
  234. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_1_CH0, 25, 3),
  235. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_2_CH0, 25, 4),
  236. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_3_CH0, 25, 5),
  237. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_4_CH0, 25, 6),
  238. /* SOFTRST_CON26 */
  239. RK3576_CRU_RESET_OFFSET(SRST_DDR_UPCTL_CH1, 26, 1),
  240. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_0_CH1, 26, 2),
  241. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_1_CH1, 26, 3),
  242. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_2_CH1, 26, 4),
  243. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_3_CH1, 26, 5),
  244. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_UPCTL_4_CH1, 26, 6),
  245. /* SOFTRST_CON27 */
  246. RK3576_CRU_RESET_OFFSET(SRST_REF_PVTPLL_DDR, 27, 0),
  247. RK3576_CRU_RESET_OFFSET(SRST_P_PVTPLL_DDR, 27, 1),
  248. /* SOFTRST_CON28 */
  249. RK3576_CRU_RESET_OFFSET(SRST_A_RKNN0, 28, 9),
  250. RK3576_CRU_RESET_OFFSET(SRST_A_RKNN0_BIU, 28, 11),
  251. RK3576_CRU_RESET_OFFSET(SRST_L_RKNN0_BIU, 28, 12),
  252. /* SOFTRST_CON29 */
  253. RK3576_CRU_RESET_OFFSET(SRST_A_RKNN1, 29, 0),
  254. RK3576_CRU_RESET_OFFSET(SRST_A_RKNN1_BIU, 29, 2),
  255. RK3576_CRU_RESET_OFFSET(SRST_L_RKNN1_BIU, 29, 3),
  256. /* SOFTRST_CON31 */
  257. RK3576_CRU_RESET_OFFSET(SRST_NPU_DAP, 31, 0),
  258. RK3576_CRU_RESET_OFFSET(SRST_L_NPUSUBSYS_BIU, 31, 1),
  259. RK3576_CRU_RESET_OFFSET(SRST_P_NPUTOP_BIU, 31, 9),
  260. RK3576_CRU_RESET_OFFSET(SRST_P_NPU_TIMER, 31, 10),
  261. RK3576_CRU_RESET_OFFSET(SRST_NPUTIMER0, 31, 12),
  262. RK3576_CRU_RESET_OFFSET(SRST_NPUTIMER1, 31, 13),
  263. RK3576_CRU_RESET_OFFSET(SRST_P_NPU_WDT, 31, 14),
  264. RK3576_CRU_RESET_OFFSET(SRST_T_NPU_WDT, 31, 15),
  265. /* SOFTRST_CON32 */
  266. RK3576_CRU_RESET_OFFSET(SRST_A_RKNN_CBUF, 32, 0),
  267. RK3576_CRU_RESET_OFFSET(SRST_A_RVCORE0, 32, 1),
  268. RK3576_CRU_RESET_OFFSET(SRST_P_NPU_GRF, 32, 2),
  269. RK3576_CRU_RESET_OFFSET(SRST_P_PVTPLL_NPU, 32, 3),
  270. RK3576_CRU_RESET_OFFSET(SRST_NPU_PVTPLL, 32, 4),
  271. RK3576_CRU_RESET_OFFSET(SRST_H_NPU_CM0_BIU, 32, 6),
  272. RK3576_CRU_RESET_OFFSET(SRST_F_NPU_CM0_CORE, 32, 7),
  273. RK3576_CRU_RESET_OFFSET(SRST_T_NPU_CM0_JTAG, 32, 8),
  274. RK3576_CRU_RESET_OFFSET(SRST_A_RKNNTOP_BIU, 32, 11),
  275. RK3576_CRU_RESET_OFFSET(SRST_H_RKNN_CBUF, 32, 12),
  276. RK3576_CRU_RESET_OFFSET(SRST_H_RKNNTOP_BIU, 32, 13),
  277. /* SOFTRST_CON33 */
  278. RK3576_CRU_RESET_OFFSET(SRST_H_NVM_BIU, 33, 2),
  279. RK3576_CRU_RESET_OFFSET(SRST_A_NVM_BIU, 33, 3),
  280. RK3576_CRU_RESET_OFFSET(SRST_S_FSPI, 33, 6),
  281. RK3576_CRU_RESET_OFFSET(SRST_H_FSPI, 33, 7),
  282. RK3576_CRU_RESET_OFFSET(SRST_C_EMMC, 33, 8),
  283. RK3576_CRU_RESET_OFFSET(SRST_H_EMMC, 33, 9),
  284. RK3576_CRU_RESET_OFFSET(SRST_A_EMMC, 33, 10),
  285. RK3576_CRU_RESET_OFFSET(SRST_B_EMMC, 33, 11),
  286. RK3576_CRU_RESET_OFFSET(SRST_T_EMMC, 33, 12),
  287. /* SOFTRST_CON34 */
  288. RK3576_CRU_RESET_OFFSET(SRST_P_GRF, 34, 1),
  289. RK3576_CRU_RESET_OFFSET(SRST_P_PHP_BIU, 34, 5),
  290. RK3576_CRU_RESET_OFFSET(SRST_A_PHP_BIU, 34, 9),
  291. RK3576_CRU_RESET_OFFSET(SRST_P_PCIE0, 34, 13),
  292. RK3576_CRU_RESET_OFFSET(SRST_PCIE0_POWER_UP, 34, 15),
  293. /* SOFTRST_CON35 */
  294. RK3576_CRU_RESET_OFFSET(SRST_A_USB3OTG1, 35, 3),
  295. RK3576_CRU_RESET_OFFSET(SRST_A_MMU0, 35, 11),
  296. RK3576_CRU_RESET_OFFSET(SRST_A_SLV_MMU0, 35, 13),
  297. RK3576_CRU_RESET_OFFSET(SRST_A_MMU1, 35, 14),
  298. /* SOFTRST_CON36 */
  299. RK3576_CRU_RESET_OFFSET(SRST_A_SLV_MMU1, 36, 0),
  300. RK3576_CRU_RESET_OFFSET(SRST_P_PCIE1, 36, 7),
  301. RK3576_CRU_RESET_OFFSET(SRST_PCIE1_POWER_UP, 36, 9),
  302. /* SOFTRST_CON37 */
  303. RK3576_CRU_RESET_OFFSET(SRST_RXOOB0, 37, 0),
  304. RK3576_CRU_RESET_OFFSET(SRST_RXOOB1, 37, 1),
  305. RK3576_CRU_RESET_OFFSET(SRST_PMALIVE0, 37, 2),
  306. RK3576_CRU_RESET_OFFSET(SRST_PMALIVE1, 37, 3),
  307. RK3576_CRU_RESET_OFFSET(SRST_A_SATA0, 37, 4),
  308. RK3576_CRU_RESET_OFFSET(SRST_A_SATA1, 37, 5),
  309. RK3576_CRU_RESET_OFFSET(SRST_ASIC1, 37, 6),
  310. RK3576_CRU_RESET_OFFSET(SRST_ASIC0, 37, 7),
  311. /* SOFTRST_CON40 */
  312. RK3576_CRU_RESET_OFFSET(SRST_P_CSIDPHY1, 40, 2),
  313. RK3576_CRU_RESET_OFFSET(SRST_SCAN_CSIDPHY1, 40, 3),
  314. /* SOFTRST_CON42 */
  315. RK3576_CRU_RESET_OFFSET(SRST_P_SDGMAC_GRF, 42, 3),
  316. RK3576_CRU_RESET_OFFSET(SRST_P_SDGMAC_BIU, 42, 4),
  317. RK3576_CRU_RESET_OFFSET(SRST_A_SDGMAC_BIU, 42, 5),
  318. RK3576_CRU_RESET_OFFSET(SRST_H_SDGMAC_BIU, 42, 6),
  319. RK3576_CRU_RESET_OFFSET(SRST_A_GMAC0, 42, 7),
  320. RK3576_CRU_RESET_OFFSET(SRST_A_GMAC1, 42, 8),
  321. RK3576_CRU_RESET_OFFSET(SRST_P_GMAC0, 42, 9),
  322. RK3576_CRU_RESET_OFFSET(SRST_P_GMAC1, 42, 10),
  323. RK3576_CRU_RESET_OFFSET(SRST_H_SDIO, 42, 12),
  324. /* SOFTRST_CON43 */
  325. RK3576_CRU_RESET_OFFSET(SRST_H_SDMMC0, 43, 2),
  326. RK3576_CRU_RESET_OFFSET(SRST_S_FSPI1, 43, 3),
  327. RK3576_CRU_RESET_OFFSET(SRST_H_FSPI1, 43, 4),
  328. RK3576_CRU_RESET_OFFSET(SRST_A_DSMC_BIU, 43, 6),
  329. RK3576_CRU_RESET_OFFSET(SRST_A_DSMC, 43, 7),
  330. RK3576_CRU_RESET_OFFSET(SRST_P_DSMC, 43, 8),
  331. RK3576_CRU_RESET_OFFSET(SRST_H_HSGPIO, 43, 10),
  332. RK3576_CRU_RESET_OFFSET(SRST_HSGPIO, 43, 11),
  333. RK3576_CRU_RESET_OFFSET(SRST_A_HSGPIO, 43, 13),
  334. /* SOFTRST_CON45 */
  335. RK3576_CRU_RESET_OFFSET(SRST_H_RKVDEC, 45, 3),
  336. RK3576_CRU_RESET_OFFSET(SRST_H_RKVDEC_BIU, 45, 5),
  337. RK3576_CRU_RESET_OFFSET(SRST_A_RKVDEC_BIU, 45, 6),
  338. RK3576_CRU_RESET_OFFSET(SRST_RKVDEC_HEVC_CA, 45, 8),
  339. RK3576_CRU_RESET_OFFSET(SRST_RKVDEC_CORE, 45, 9),
  340. /* SOFTRST_CON47 */
  341. RK3576_CRU_RESET_OFFSET(SRST_A_USB_BIU, 47, 3),
  342. RK3576_CRU_RESET_OFFSET(SRST_P_USBUFS_BIU, 47, 4),
  343. RK3576_CRU_RESET_OFFSET(SRST_A_USB3OTG0, 47, 5),
  344. RK3576_CRU_RESET_OFFSET(SRST_A_UFS_BIU, 47, 10),
  345. RK3576_CRU_RESET_OFFSET(SRST_A_MMU2, 47, 12),
  346. RK3576_CRU_RESET_OFFSET(SRST_A_SLV_MMU2, 47, 13),
  347. RK3576_CRU_RESET_OFFSET(SRST_A_UFS_SYS, 47, 15),
  348. /* SOFTRST_CON48 */
  349. RK3576_CRU_RESET_OFFSET(SRST_A_UFS, 48, 0),
  350. RK3576_CRU_RESET_OFFSET(SRST_P_USBUFS_GRF, 48, 1),
  351. RK3576_CRU_RESET_OFFSET(SRST_P_UFS_GRF, 48, 2),
  352. /* SOFTRST_CON49 */
  353. RK3576_CRU_RESET_OFFSET(SRST_H_VPU_BIU, 49, 6),
  354. RK3576_CRU_RESET_OFFSET(SRST_A_JPEG_BIU, 49, 7),
  355. RK3576_CRU_RESET_OFFSET(SRST_A_RGA_BIU, 49, 10),
  356. RK3576_CRU_RESET_OFFSET(SRST_A_VDPP_BIU, 49, 11),
  357. RK3576_CRU_RESET_OFFSET(SRST_A_EBC_BIU, 49, 12),
  358. RK3576_CRU_RESET_OFFSET(SRST_H_RGA2E_0, 49, 13),
  359. RK3576_CRU_RESET_OFFSET(SRST_A_RGA2E_0, 49, 14),
  360. RK3576_CRU_RESET_OFFSET(SRST_CORE_RGA2E_0, 49, 15),
  361. /* SOFTRST_CON50 */
  362. RK3576_CRU_RESET_OFFSET(SRST_A_JPEG, 50, 0),
  363. RK3576_CRU_RESET_OFFSET(SRST_H_JPEG, 50, 1),
  364. RK3576_CRU_RESET_OFFSET(SRST_H_VDPP, 50, 2),
  365. RK3576_CRU_RESET_OFFSET(SRST_A_VDPP, 50, 3),
  366. RK3576_CRU_RESET_OFFSET(SRST_CORE_VDPP, 50, 4),
  367. RK3576_CRU_RESET_OFFSET(SRST_H_RGA2E_1, 50, 5),
  368. RK3576_CRU_RESET_OFFSET(SRST_A_RGA2E_1, 50, 6),
  369. RK3576_CRU_RESET_OFFSET(SRST_CORE_RGA2E_1, 50, 7),
  370. RK3576_CRU_RESET_OFFSET(SRST_H_EBC, 50, 10),
  371. RK3576_CRU_RESET_OFFSET(SRST_A_EBC, 50, 11),
  372. RK3576_CRU_RESET_OFFSET(SRST_D_EBC, 50, 12),
  373. /* SOFTRST_CON51 */
  374. RK3576_CRU_RESET_OFFSET(SRST_H_VEPU0_BIU, 51, 2),
  375. RK3576_CRU_RESET_OFFSET(SRST_A_VEPU0_BIU, 51, 3),
  376. RK3576_CRU_RESET_OFFSET(SRST_H_VEPU0, 51, 4),
  377. RK3576_CRU_RESET_OFFSET(SRST_A_VEPU0, 51, 5),
  378. RK3576_CRU_RESET_OFFSET(SRST_VEPU0_CORE, 51, 6),
  379. /* SOFTRST_CON53 */
  380. RK3576_CRU_RESET_OFFSET(SRST_A_VI_BIU, 53, 3),
  381. RK3576_CRU_RESET_OFFSET(SRST_H_VI_BIU, 53, 4),
  382. RK3576_CRU_RESET_OFFSET(SRST_P_VI_BIU, 53, 5),
  383. RK3576_CRU_RESET_OFFSET(SRST_D_VICAP, 53, 6),
  384. RK3576_CRU_RESET_OFFSET(SRST_A_VICAP, 53, 7),
  385. RK3576_CRU_RESET_OFFSET(SRST_H_VICAP, 53, 8),
  386. RK3576_CRU_RESET_OFFSET(SRST_ISP0, 53, 10),
  387. RK3576_CRU_RESET_OFFSET(SRST_ISP0_VICAP, 53, 11),
  388. /* SOFTRST_CON54 */
  389. RK3576_CRU_RESET_OFFSET(SRST_CORE_VPSS, 54, 1),
  390. RK3576_CRU_RESET_OFFSET(SRST_P_CSI_HOST_0, 54, 4),
  391. RK3576_CRU_RESET_OFFSET(SRST_P_CSI_HOST_1, 54, 5),
  392. RK3576_CRU_RESET_OFFSET(SRST_P_CSI_HOST_2, 54, 6),
  393. RK3576_CRU_RESET_OFFSET(SRST_P_CSI_HOST_3, 54, 7),
  394. RK3576_CRU_RESET_OFFSET(SRST_P_CSI_HOST_4, 54, 8),
  395. /* SOFTRST_CON59 */
  396. RK3576_CRU_RESET_OFFSET(SRST_CIFIN, 59, 0),
  397. RK3576_CRU_RESET_OFFSET(SRST_VICAP_I0CLK, 59, 1),
  398. RK3576_CRU_RESET_OFFSET(SRST_VICAP_I1CLK, 59, 2),
  399. RK3576_CRU_RESET_OFFSET(SRST_VICAP_I2CLK, 59, 3),
  400. RK3576_CRU_RESET_OFFSET(SRST_VICAP_I3CLK, 59, 4),
  401. RK3576_CRU_RESET_OFFSET(SRST_VICAP_I4CLK, 59, 5),
  402. /* SOFTRST_CON61 */
  403. RK3576_CRU_RESET_OFFSET(SRST_A_VOP_BIU, 61, 4),
  404. RK3576_CRU_RESET_OFFSET(SRST_A_VOP2_BIU, 61, 5),
  405. RK3576_CRU_RESET_OFFSET(SRST_H_VOP_BIU, 61, 6),
  406. RK3576_CRU_RESET_OFFSET(SRST_P_VOP_BIU, 61, 7),
  407. RK3576_CRU_RESET_OFFSET(SRST_H_VOP, 61, 8),
  408. RK3576_CRU_RESET_OFFSET(SRST_A_VOP, 61, 9),
  409. RK3576_CRU_RESET_OFFSET(SRST_D_VP0, 61, 13),
  410. /* SOFTRST_CON62 */
  411. RK3576_CRU_RESET_OFFSET(SRST_D_VP1, 62, 0),
  412. RK3576_CRU_RESET_OFFSET(SRST_D_VP2, 62, 1),
  413. RK3576_CRU_RESET_OFFSET(SRST_P_VOP2_BIU, 62, 2),
  414. RK3576_CRU_RESET_OFFSET(SRST_P_VOPGRF, 62, 3),
  415. /* SOFTRST_CON63 */
  416. RK3576_CRU_RESET_OFFSET(SRST_H_VO0_BIU, 63, 5),
  417. RK3576_CRU_RESET_OFFSET(SRST_P_VO0_BIU, 63, 7),
  418. RK3576_CRU_RESET_OFFSET(SRST_A_HDCP0_BIU, 63, 9),
  419. RK3576_CRU_RESET_OFFSET(SRST_P_VO0_GRF, 63, 10),
  420. RK3576_CRU_RESET_OFFSET(SRST_A_HDCP0, 63, 12),
  421. RK3576_CRU_RESET_OFFSET(SRST_H_HDCP0, 63, 13),
  422. RK3576_CRU_RESET_OFFSET(SRST_HDCP0, 63, 14),
  423. /* SOFTRST_CON64 */
  424. RK3576_CRU_RESET_OFFSET(SRST_P_DSIHOST0, 64, 5),
  425. RK3576_CRU_RESET_OFFSET(SRST_DSIHOST0, 64, 6),
  426. RK3576_CRU_RESET_OFFSET(SRST_P_HDMITX0, 64, 7),
  427. RK3576_CRU_RESET_OFFSET(SRST_HDMITX0_REF, 64, 9),
  428. RK3576_CRU_RESET_OFFSET(SRST_P_EDP0, 64, 13),
  429. RK3576_CRU_RESET_OFFSET(SRST_EDP0_24M, 64, 14),
  430. /* SOFTRST_CON65 */
  431. RK3576_CRU_RESET_OFFSET(SRST_M_SAI5_8CH, 65, 4),
  432. RK3576_CRU_RESET_OFFSET(SRST_H_SAI5_8CH, 65, 5),
  433. RK3576_CRU_RESET_OFFSET(SRST_M_SAI6_8CH, 65, 8),
  434. RK3576_CRU_RESET_OFFSET(SRST_H_SAI6_8CH, 65, 9),
  435. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_TX2, 65, 10),
  436. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_TX2, 65, 13),
  437. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_RX2, 65, 14),
  438. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_RX2, 65, 15),
  439. /* SOFTRST_CON66 */
  440. RK3576_CRU_RESET_OFFSET(SRST_H_SAI8_8CH, 66, 0),
  441. RK3576_CRU_RESET_OFFSET(SRST_M_SAI8_8CH, 66, 2),
  442. /* SOFTRST_CON67 */
  443. RK3576_CRU_RESET_OFFSET(SRST_H_VO1_BIU, 67, 5),
  444. RK3576_CRU_RESET_OFFSET(SRST_P_VO1_BIU, 67, 6),
  445. RK3576_CRU_RESET_OFFSET(SRST_M_SAI7_8CH, 67, 9),
  446. RK3576_CRU_RESET_OFFSET(SRST_H_SAI7_8CH, 67, 10),
  447. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_TX3, 67, 11),
  448. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_TX4, 67, 12),
  449. RK3576_CRU_RESET_OFFSET(SRST_H_SPDIF_TX5, 67, 13),
  450. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_TX3, 67, 14),
  451. /* SOFTRST_CON68 */
  452. RK3576_CRU_RESET_OFFSET(SRST_DP0, 68, 0),
  453. RK3576_CRU_RESET_OFFSET(SRST_P_VO1_GRF, 68, 2),
  454. RK3576_CRU_RESET_OFFSET(SRST_A_HDCP1_BIU, 68, 3),
  455. RK3576_CRU_RESET_OFFSET(SRST_A_HDCP1, 68, 4),
  456. RK3576_CRU_RESET_OFFSET(SRST_H_HDCP1, 68, 5),
  457. RK3576_CRU_RESET_OFFSET(SRST_HDCP1, 68, 6),
  458. RK3576_CRU_RESET_OFFSET(SRST_H_SAI9_8CH, 68, 9),
  459. RK3576_CRU_RESET_OFFSET(SRST_M_SAI9_8CH, 68, 11),
  460. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_TX4, 68, 12),
  461. RK3576_CRU_RESET_OFFSET(SRST_M_SPDIF_TX5, 68, 13),
  462. /* SOFTRST_CON69 */
  463. RK3576_CRU_RESET_OFFSET(SRST_GPU, 69, 3),
  464. RK3576_CRU_RESET_OFFSET(SRST_A_S_GPU_BIU, 69, 6),
  465. RK3576_CRU_RESET_OFFSET(SRST_A_M0_GPU_BIU, 69, 7),
  466. RK3576_CRU_RESET_OFFSET(SRST_P_GPU_BIU, 69, 9),
  467. RK3576_CRU_RESET_OFFSET(SRST_P_GPU_GRF, 69, 13),
  468. RK3576_CRU_RESET_OFFSET(SRST_GPU_PVTPLL, 69, 14),
  469. RK3576_CRU_RESET_OFFSET(SRST_P_PVTPLL_GPU, 69, 15),
  470. /* SOFTRST_CON72 */
  471. RK3576_CRU_RESET_OFFSET(SRST_A_CENTER_BIU, 72, 4),
  472. RK3576_CRU_RESET_OFFSET(SRST_A_DMA2DDR, 72, 5),
  473. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_SHAREMEM, 72, 6),
  474. RK3576_CRU_RESET_OFFSET(SRST_A_DDR_SHAREMEM_BIU, 72, 7),
  475. RK3576_CRU_RESET_OFFSET(SRST_H_CENTER_BIU, 72, 8),
  476. RK3576_CRU_RESET_OFFSET(SRST_P_CENTER_GRF, 72, 9),
  477. RK3576_CRU_RESET_OFFSET(SRST_P_DMA2DDR, 72, 10),
  478. RK3576_CRU_RESET_OFFSET(SRST_P_SHAREMEM, 72, 11),
  479. RK3576_CRU_RESET_OFFSET(SRST_P_CENTER_BIU, 72, 12),
  480. /* SOFTRST_CON75 */
  481. RK3576_CRU_RESET_OFFSET(SRST_LINKSYM_HDMITXPHY0, 75, 1),
  482. /* SOFTRST_CON78 */
  483. RK3576_CRU_RESET_OFFSET(SRST_DP0_PIXELCLK, 78, 1),
  484. RK3576_CRU_RESET_OFFSET(SRST_PHY_DP0_TX, 78, 2),
  485. RK3576_CRU_RESET_OFFSET(SRST_DP1_PIXELCLK, 78, 3),
  486. RK3576_CRU_RESET_OFFSET(SRST_DP2_PIXELCLK, 78, 4),
  487. /* SOFTRST_CON79 */
  488. RK3576_CRU_RESET_OFFSET(SRST_H_VEPU1_BIU, 79, 1),
  489. RK3576_CRU_RESET_OFFSET(SRST_A_VEPU1_BIU, 79, 2),
  490. RK3576_CRU_RESET_OFFSET(SRST_H_VEPU1, 79, 3),
  491. RK3576_CRU_RESET_OFFSET(SRST_A_VEPU1, 79, 4),
  492. RK3576_CRU_RESET_OFFSET(SRST_VEPU1_CORE, 79, 5),
  493. /* PPLL_SOFTRST_CON00 */
  494. RK3576_PHPCRU_RESET_OFFSET(SRST_P_PHPPHY_CRU, 0, 1),
  495. RK3576_PHPCRU_RESET_OFFSET(SRST_P_APB2ASB_SLV_CHIP_TOP, 0, 3),
  496. RK3576_PHPCRU_RESET_OFFSET(SRST_P_PCIE2_COMBOPHY0, 0, 5),
  497. RK3576_PHPCRU_RESET_OFFSET(SRST_P_PCIE2_COMBOPHY0_GRF, 0, 6),
  498. RK3576_PHPCRU_RESET_OFFSET(SRST_P_PCIE2_COMBOPHY1, 0, 7),
  499. RK3576_PHPCRU_RESET_OFFSET(SRST_P_PCIE2_COMBOPHY1_GRF, 0, 8),
  500. /* PPLL_SOFTRST_CON01 */
  501. RK3576_PHPCRU_RESET_OFFSET(SRST_PCIE0_PIPE_PHY, 1, 5),
  502. RK3576_PHPCRU_RESET_OFFSET(SRST_PCIE1_PIPE_PHY, 1, 8),
  503. /* SECURENS_SOFTRST_CON00 */
  504. RK3576_SECURENSCRU_RESET_OFFSET(SRST_H_CRYPTO_NS, 0, 3),
  505. RK3576_SECURENSCRU_RESET_OFFSET(SRST_H_TRNG_NS, 0, 4),
  506. RK3576_SECURENSCRU_RESET_OFFSET(SRST_P_OTPC_NS, 0, 8),
  507. RK3576_SECURENSCRU_RESET_OFFSET(SRST_OTPC_NS, 0, 9),
  508. /* PMU1_SOFTRST_CON00 */
  509. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_HDPTX_GRF, 0, 0),
  510. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_HDPTX_APB, 0, 1),
  511. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_MIPI_DCPHY, 0, 2),
  512. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_DCPHY_GRF, 0, 3),
  513. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_BOT0_APB2ASB, 0, 4),
  514. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_BOT1_APB2ASB, 0, 5),
  515. RK3576_PMU1CRU_RESET_OFFSET(SRST_USB2DEBUG, 0, 6),
  516. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_CSIPHY_GRF, 0, 7),
  517. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_CSIPHY, 0, 8),
  518. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_USBPHY_GRF_0, 0, 9),
  519. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_USBPHY_GRF_1, 0, 10),
  520. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_USBDP_GRF, 0, 11),
  521. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_USBDPPHY, 0, 12),
  522. RK3576_PMU1CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY_INIT, 0, 15),
  523. /* PMU1_SOFTRST_CON01 */
  524. RK3576_PMU1CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY_CMN, 1, 0),
  525. RK3576_PMU1CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY_LANE, 1, 1),
  526. RK3576_PMU1CRU_RESET_OFFSET(SRST_USBDP_COMBO_PHY_PCS, 1, 2),
  527. RK3576_PMU1CRU_RESET_OFFSET(SRST_M_MIPI_DCPHY, 1, 3),
  528. RK3576_PMU1CRU_RESET_OFFSET(SRST_S_MIPI_DCPHY, 1, 4),
  529. RK3576_PMU1CRU_RESET_OFFSET(SRST_SCAN_CSIPHY, 1, 5),
  530. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_VCCIO6_IOC, 1, 6),
  531. RK3576_PMU1CRU_RESET_OFFSET(SRST_OTGPHY_0, 1, 7),
  532. RK3576_PMU1CRU_RESET_OFFSET(SRST_OTGPHY_1, 1, 8),
  533. RK3576_PMU1CRU_RESET_OFFSET(SRST_HDPTX_INIT, 1, 9),
  534. RK3576_PMU1CRU_RESET_OFFSET(SRST_HDPTX_CMN, 1, 10),
  535. RK3576_PMU1CRU_RESET_OFFSET(SRST_HDPTX_LANE, 1, 11),
  536. RK3576_PMU1CRU_RESET_OFFSET(SRST_HDMITXHDP, 1, 13),
  537. /* PMU1_SOFTRST_CON02 */
  538. RK3576_PMU1CRU_RESET_OFFSET(SRST_MPHY_INIT, 2, 0),
  539. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_MPHY_GRF, 2, 1),
  540. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_VCCIO7_IOC, 2, 3),
  541. /* PMU1_SOFTRST_CON03 */
  542. RK3576_PMU1CRU_RESET_OFFSET(SRST_H_PMU1_BIU, 3, 9),
  543. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_PMU1_NIU, 3, 10),
  544. RK3576_PMU1CRU_RESET_OFFSET(SRST_H_PMU_CM0_BIU, 3, 11),
  545. RK3576_PMU1CRU_RESET_OFFSET(SRST_PMU_CM0_CORE, 3, 12),
  546. RK3576_PMU1CRU_RESET_OFFSET(SRST_PMU_CM0_JTAG, 3, 13),
  547. /* PMU1_SOFTRST_CON04 */
  548. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_CRU_PMU1, 4, 1),
  549. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_PMU1_GRF, 4, 3),
  550. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_PMU1_IOC, 4, 4),
  551. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_PMU1WDT, 4, 5),
  552. RK3576_PMU1CRU_RESET_OFFSET(SRST_T_PMU1WDT, 4, 6),
  553. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_PMUTIMER, 4, 7),
  554. RK3576_PMU1CRU_RESET_OFFSET(SRST_PMUTIMER0, 4, 9),
  555. RK3576_PMU1CRU_RESET_OFFSET(SRST_PMUTIMER1, 4, 10),
  556. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_PMU1PWM, 4, 11),
  557. RK3576_PMU1CRU_RESET_OFFSET(SRST_PMU1PWM, 4, 12),
  558. /* PMU1_SOFTRST_CON05 */
  559. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_I2C0, 5, 1),
  560. RK3576_PMU1CRU_RESET_OFFSET(SRST_I2C0, 5, 2),
  561. RK3576_PMU1CRU_RESET_OFFSET(SRST_S_UART1, 5, 5),
  562. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_UART1, 5, 6),
  563. RK3576_PMU1CRU_RESET_OFFSET(SRST_PDM0, 5, 13),
  564. RK3576_PMU1CRU_RESET_OFFSET(SRST_H_PDM0, 5, 15),
  565. /* PMU1_SOFTRST_CON06 */
  566. RK3576_PMU1CRU_RESET_OFFSET(SRST_M_PDM0, 6, 0),
  567. RK3576_PMU1CRU_RESET_OFFSET(SRST_H_VAD, 6, 1),
  568. /* PMU1_SOFTRST_CON07 */
  569. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_PMU0GRF, 7, 4),
  570. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_PMU0IOC, 7, 5),
  571. RK3576_PMU1CRU_RESET_OFFSET(SRST_P_GPIO0, 7, 6),
  572. RK3576_PMU1CRU_RESET_OFFSET(SRST_DB_GPIO0, 7, 7),
  573. };
  574. void rk3576_rst_init(struct device_node *np, void __iomem *reg_base)
  575. {
  576. rockchip_register_softrst_lut(np,
  577. rk3576_register_offset,
  578. ARRAY_SIZE(rk3576_register_offset),
  579. reg_base + RK3576_SOFTRST_CON(0),
  580. ROCKCHIP_SOFTRST_HIWORD_MASK);
  581. }