1 /* SPDX-License-Identifier: GPL-2.0 OR MIT */
2 /*
3  * Copyright (C) 2022 Emil Renner Berthing <kernel@esmil.dk>
4  * Copyright (C) 2022 StarFive Technology Co., Ltd.
5  */
6 
7 #ifndef __DT_BINDINGS_RESET_STARFIVE_JH7110_CRG_H__
8 #define __DT_BINDINGS_RESET_STARFIVE_JH7110_CRG_H__
9 
10 /* SYSCRG resets */
11 #define JH7110_SYSRST_JTAG_APB			0
12 #define JH7110_SYSRST_SYSCON_APB		1
13 #define JH7110_SYSRST_IOMUX_APB			2
14 #define JH7110_SYSRST_BUS			3
15 #define JH7110_SYSRST_DEBUG			4
16 #define JH7110_SYSRST_CORE0			5
17 #define JH7110_SYSRST_CORE1			6
18 #define JH7110_SYSRST_CORE2			7
19 #define JH7110_SYSRST_CORE3			8
20 #define JH7110_SYSRST_CORE4			9
21 #define JH7110_SYSRST_CORE0_ST			10
22 #define JH7110_SYSRST_CORE1_ST			11
23 #define JH7110_SYSRST_CORE2_ST			12
24 #define JH7110_SYSRST_CORE3_ST			13
25 #define JH7110_SYSRST_CORE4_ST			14
26 #define JH7110_SYSRST_TRACE0			15
27 #define JH7110_SYSRST_TRACE1			16
28 #define JH7110_SYSRST_TRACE2			17
29 #define JH7110_SYSRST_TRACE3			18
30 #define JH7110_SYSRST_TRACE4			19
31 #define JH7110_SYSRST_TRACE_COM			20
32 #define JH7110_SYSRST_GPU_APB			21
33 #define JH7110_SYSRST_GPU_DOMA			22
34 #define JH7110_SYSRST_NOC_BUS_APB		23
35 #define JH7110_SYSRST_NOC_BUS_AXICFG0_AXI	24
36 #define JH7110_SYSRST_NOC_BUS_CPU_AXI		25
37 #define JH7110_SYSRST_NOC_BUS_DISP_AXI		26
38 #define JH7110_SYSRST_NOC_BUS_GPU_AXI		27
39 #define JH7110_SYSRST_NOC_BUS_ISP_AXI		28
40 #define JH7110_SYSRST_NOC_BUS_DDRC		29
41 #define JH7110_SYSRST_NOC_BUS_STG_AXI		30
42 #define JH7110_SYSRST_NOC_BUS_VDEC_AXI		31
43 
44 #define JH7110_SYSRST_NOC_BUS_VENC_AXI		32
45 #define JH7110_SYSRST_AXI_CFG1_AHB		33
46 #define JH7110_SYSRST_AXI_CFG1_MAIN		34
47 #define JH7110_SYSRST_AXI_CFG0_MAIN		35
48 #define JH7110_SYSRST_AXI_CFG0_MAIN_DIV		36
49 #define JH7110_SYSRST_AXI_CFG0_HIFI4		37
50 #define JH7110_SYSRST_DDR_AXI			38
51 #define JH7110_SYSRST_DDR_OSC			39
52 #define JH7110_SYSRST_DDR_APB			40
53 #define JH7110_SYSRST_ISP_TOP			41
54 #define JH7110_SYSRST_ISP_TOP_AXI		42
55 #define JH7110_SYSRST_VOUT_TOP_SRC		43
56 #define JH7110_SYSRST_CODAJ12_AXI		44
57 #define JH7110_SYSRST_CODAJ12_CORE		45
58 #define JH7110_SYSRST_CODAJ12_APB		46
59 #define JH7110_SYSRST_WAVE511_AXI		47
60 #define JH7110_SYSRST_WAVE511_BPU		48
61 #define JH7110_SYSRST_WAVE511_VCE		49
62 #define JH7110_SYSRST_WAVE511_APB		50
63 #define JH7110_SYSRST_VDEC_JPG			51
64 #define JH7110_SYSRST_VDEC_MAIN			52
65 #define JH7110_SYSRST_AXIMEM0_AXI		53
66 #define JH7110_SYSRST_WAVE420L_AXI		54
67 #define JH7110_SYSRST_WAVE420L_BPU		55
68 #define JH7110_SYSRST_WAVE420L_VCE		56
69 #define JH7110_SYSRST_WAVE420L_APB		57
70 #define JH7110_SYSRST_AXIMEM1_AXI		58
71 #define JH7110_SYSRST_AXIMEM2_AXI		59
72 #define JH7110_SYSRST_INTMEM			60
73 #define JH7110_SYSRST_QSPI_AHB			61
74 #define JH7110_SYSRST_QSPI_APB			62
75 #define JH7110_SYSRST_QSPI_REF			63
76 
77 #define JH7110_SYSRST_SDIO0_AHB			64
78 #define JH7110_SYSRST_SDIO1_AHB			65
79 #define JH7110_SYSRST_GMAC1_AXI			66
80 #define JH7110_SYSRST_GMAC1_AHB			67
81 #define JH7110_SYSRST_MAILBOX_APB		68
82 #define JH7110_SYSRST_SPI0_APB			69
83 #define JH7110_SYSRST_SPI1_APB			70
84 #define JH7110_SYSRST_SPI2_APB			71
85 #define JH7110_SYSRST_SPI3_APB			72
86 #define JH7110_SYSRST_SPI4_APB			73
87 #define JH7110_SYSRST_SPI5_APB			74
88 #define JH7110_SYSRST_SPI6_APB			75
89 #define JH7110_SYSRST_I2C0_APB			76
90 #define JH7110_SYSRST_I2C1_APB			77
91 #define JH7110_SYSRST_I2C2_APB			78
92 #define JH7110_SYSRST_I2C3_APB			79
93 #define JH7110_SYSRST_I2C4_APB			80
94 #define JH7110_SYSRST_I2C5_APB			81
95 #define JH7110_SYSRST_I2C6_APB			82
96 #define JH7110_SYSRST_UART0_APB			83
97 #define JH7110_SYSRST_UART0_CORE		84
98 #define JH7110_SYSRST_UART1_APB			85
99 #define JH7110_SYSRST_UART1_CORE		86
100 #define JH7110_SYSRST_UART2_APB			87
101 #define JH7110_SYSRST_UART2_CORE		88
102 #define JH7110_SYSRST_UART3_APB			89
103 #define JH7110_SYSRST_UART3_CORE		90
104 #define JH7110_SYSRST_UART4_APB			91
105 #define JH7110_SYSRST_UART4_CORE		92
106 #define JH7110_SYSRST_UART5_APB			93
107 #define JH7110_SYSRST_UART5_CORE		94
108 #define JH7110_SYSRST_SPDIF_APB			95
109 
110 #define JH7110_SYSRST_PWMDAC_APB		96
111 #define JH7110_SYSRST_PDM_DMIC			97
112 #define JH7110_SYSRST_PDM_APB			98
113 #define JH7110_SYSRST_I2SRX_APB			99
114 #define JH7110_SYSRST_I2SRX_BCLK		100
115 #define JH7110_SYSRST_I2STX0_APB		101
116 #define JH7110_SYSRST_I2STX0_BCLK		102
117 #define JH7110_SYSRST_I2STX1_APB		103
118 #define JH7110_SYSRST_I2STX1_BCLK		104
119 #define JH7110_SYSRST_TDM_AHB			105
120 #define JH7110_SYSRST_TDM_CORE			106
121 #define JH7110_SYSRST_TDM_APB			107
122 #define JH7110_SYSRST_PWM_APB			108
123 #define JH7110_SYSRST_WDT_APB			109
124 #define JH7110_SYSRST_WDT_CORE			110
125 #define JH7110_SYSRST_CAN0_APB			111
126 #define JH7110_SYSRST_CAN0_CORE			112
127 #define JH7110_SYSRST_CAN0_TIMER		113
128 #define JH7110_SYSRST_CAN1_APB			114
129 #define JH7110_SYSRST_CAN1_CORE			115
130 #define JH7110_SYSRST_CAN1_TIMER		116
131 #define JH7110_SYSRST_TIMER_APB			117
132 #define JH7110_SYSRST_TIMER0			118
133 #define JH7110_SYSRST_TIMER1			119
134 #define JH7110_SYSRST_TIMER2			120
135 #define JH7110_SYSRST_TIMER3			121
136 #define JH7110_SYSRST_INT_CTRL_APB		122
137 #define JH7110_SYSRST_TEMP_APB			123
138 #define JH7110_SYSRST_TEMP_CORE			124
139 #define JH7110_SYSRST_JTAG_CERTIFICATION	125
140 
141 #define JH7110_SYSRST_END			126
142 
143 /* AONCRG resets */
144 #define JH7110_AONRST_GMAC0_AXI			0
145 #define JH7110_AONRST_GMAC0_AHB			1
146 #define JH7110_AONRST_IOMUX			2
147 #define JH7110_AONRST_PMU_APB			3
148 #define JH7110_AONRST_PMU_WKUP			4
149 #define JH7110_AONRST_RTC_APB			5
150 #define JH7110_AONRST_RTC_CAL			6
151 #define JH7110_AONRST_RTC_32K			7
152 
153 #define JH7110_AONRST_END			8
154 
155 /* STGCRG resets */
156 #define JH7110_STGRST_SYSCON			0
157 #define JH7110_STGRST_HIFI4_CORE		1
158 #define JH7110_STGRST_HIFI4_AXI			2
159 #define JH7110_STGRST_SEC_AHB			3
160 #define JH7110_STGRST_E24_CORE			4
161 #define JH7110_STGRST_DMA1P_AXI			5
162 #define JH7110_STGRST_DMA1P_AHB			6
163 #define JH7110_STGRST_USB0_AXI			7
164 #define JH7110_STGRST_USB0_APB			8
165 #define JH7110_STGRST_USB0_UTMI_APB		9
166 #define JH7110_STGRST_USB0_PWRUP		10
167 #define JH7110_STGRST_PCIE0_AXI_MST0		11
168 #define JH7110_STGRST_PCIE0_AXI_SLV0		12
169 #define JH7110_STGRST_PCIE0_AXI_SLV		13
170 #define JH7110_STGRST_PCIE0_BRG			14
171 #define JH7110_STGRST_PCIE0_CORE		15
172 #define JH7110_STGRST_PCIE0_APB			16
173 #define JH7110_STGRST_PCIE1_AXI_MST0		17
174 #define JH7110_STGRST_PCIE1_AXI_SLV0		18
175 #define JH7110_STGRST_PCIE1_AXI_SLV		19
176 #define JH7110_STGRST_PCIE1_BRG			20
177 #define JH7110_STGRST_PCIE1_CORE		21
178 #define JH7110_STGRST_PCIE1_APB			22
179 
180 #define JH7110_STGRST_END			23
181 
182 /* ISPCRG resets */
183 #define JH7110_ISPRST_ISPV2_TOP_WRAPPER_P	0
184 #define JH7110_ISPRST_ISPV2_TOP_WRAPPER_C	1
185 #define JH7110_ISPRST_M31DPHY_HW		2
186 #define JH7110_ISPRST_M31DPHY_B09_AON		3
187 #define JH7110_ISPRST_VIN_APB			4
188 #define JH7110_ISPRST_VIN_PIXEL_IF0		5
189 #define JH7110_ISPRST_VIN_PIXEL_IF1		6
190 #define JH7110_ISPRST_VIN_PIXEL_IF2		7
191 #define JH7110_ISPRST_VIN_PIXEL_IF3		8
192 #define JH7110_ISPRST_VIN_SYS			9
193 #define JH7110_ISPRST_VIN_P_AXI_RD		10
194 #define JH7110_ISPRST_VIN_P_AXI_WR		11
195 
196 #define JH7110_ISPRST_END			12
197 
198 /* VOUTCRG resets */
199 #define JH7110_VOUTRST_DC8200_AXI		0
200 #define JH7110_VOUTRST_DC8200_AHB		1
201 #define JH7110_VOUTRST_DC8200_CORE		2
202 #define JH7110_VOUTRST_DSITX_DPI		3
203 #define JH7110_VOUTRST_DSITX_APB		4
204 #define JH7110_VOUTRST_DSITX_RXESC		5
205 #define JH7110_VOUTRST_DSITX_SYS		6
206 #define JH7110_VOUTRST_DSITX_TXBYTEHS		7
207 #define JH7110_VOUTRST_DSITX_TXESC		8
208 #define JH7110_VOUTRST_HDMI_TX_HDMI		9
209 #define JH7110_VOUTRST_MIPITX_DPHY_SYS		10
210 #define JH7110_VOUTRST_MIPITX_DPHY_TXBYTEHS	11
211 
212 #define JH7110_VOUTRST_END			12
213 
214 #endif /* __DT_BINDINGS_RESET_STARFIVE_JH7110_CRG_H__ */
215