xref: /linux/include/soc/spacemit/k3-syscon.h (revision c17ee635fd3a482b2ad2bf5e269755c2eae5f25e)
1*091d19ccSYixun Lan /* SPDX-License-Identifier: GPL-2.0-only */
2*091d19ccSYixun Lan 
3*091d19ccSYixun Lan /* SpacemiT clock and reset driver definitions for the K3 SoC */
4*091d19ccSYixun Lan 
5*091d19ccSYixun Lan #ifndef __SOC_K3_SYSCON_H__
6*091d19ccSYixun Lan #define __SOC_K3_SYSCON_H__
7*091d19ccSYixun Lan 
8*091d19ccSYixun Lan #include "ccu.h"
9*091d19ccSYixun Lan 
10*091d19ccSYixun Lan /* APBS register offset */
11*091d19ccSYixun Lan #define APBS_PLL1_SWCR1			0x100
12*091d19ccSYixun Lan #define APBS_PLL1_SWCR2			0x104
13*091d19ccSYixun Lan #define APBS_PLL1_SWCR3			0x108
14*091d19ccSYixun Lan #define APBS_PLL2_SWCR1			0x118
15*091d19ccSYixun Lan #define APBS_PLL2_SWCR2			0x11c
16*091d19ccSYixun Lan #define APBS_PLL2_SWCR3			0x120
17*091d19ccSYixun Lan #define APBS_PLL3_SWCR1			0x124
18*091d19ccSYixun Lan #define APBS_PLL3_SWCR2			0x128
19*091d19ccSYixun Lan #define APBS_PLL3_SWCR3			0x12c
20*091d19ccSYixun Lan #define APBS_PLL4_SWCR1			0x130
21*091d19ccSYixun Lan #define APBS_PLL4_SWCR2			0x134
22*091d19ccSYixun Lan #define APBS_PLL4_SWCR3			0x138
23*091d19ccSYixun Lan #define APBS_PLL5_SWCR1			0x13c
24*091d19ccSYixun Lan #define APBS_PLL5_SWCR2			0x140
25*091d19ccSYixun Lan #define APBS_PLL5_SWCR3			0x144
26*091d19ccSYixun Lan #define APBS_PLL6_SWCR1			0x148
27*091d19ccSYixun Lan #define APBS_PLL6_SWCR2			0x14c
28*091d19ccSYixun Lan #define APBS_PLL6_SWCR3			0x150
29*091d19ccSYixun Lan #define APBS_PLL7_SWCR1			0x158
30*091d19ccSYixun Lan #define APBS_PLL7_SWCR2			0x15c
31*091d19ccSYixun Lan #define APBS_PLL7_SWCR3			0x160
32*091d19ccSYixun Lan #define APBS_PLL8_SWCR1			0x180
33*091d19ccSYixun Lan #define APBS_PLL8_SWCR2			0x184
34*091d19ccSYixun Lan #define APBS_PLL8_SWCR3			0x188
35*091d19ccSYixun Lan 
36*091d19ccSYixun Lan /* MPMU register offset */
37*091d19ccSYixun Lan #define MPMU_FCCR			0x0008
38*091d19ccSYixun Lan #define MPMU_POSR			0x0010
39*091d19ccSYixun Lan #define POSR_PLL1_LOCK			BIT(24)
40*091d19ccSYixun Lan #define POSR_PLL2_LOCK			BIT(25)
41*091d19ccSYixun Lan #define POSR_PLL3_LOCK			BIT(26)
42*091d19ccSYixun Lan #define POSR_PLL4_LOCK			BIT(27)
43*091d19ccSYixun Lan #define POSR_PLL5_LOCK			BIT(28)
44*091d19ccSYixun Lan #define POSR_PLL6_LOCK			BIT(29)
45*091d19ccSYixun Lan #define POSR_PLL7_LOCK			BIT(30)
46*091d19ccSYixun Lan #define POSR_PLL8_LOCK			BIT(31)
47*091d19ccSYixun Lan #define MPMU_SUCCR			0x0014
48*091d19ccSYixun Lan #define MPMU_ISCCR			0x0044
49*091d19ccSYixun Lan #define MPMU_WDTPCR			0x0200
50*091d19ccSYixun Lan #define MPMU_RIPCCR			0x0210
51*091d19ccSYixun Lan #define MPMU_ACGR			0x1024
52*091d19ccSYixun Lan #define MPMU_APBCSCR			0x1050
53*091d19ccSYixun Lan #define MPMU_SUCCR_1			0x10b0
54*091d19ccSYixun Lan 
55*091d19ccSYixun Lan #define MPMU_I2S0_SYSCLK		0x1100
56*091d19ccSYixun Lan #define MPMU_I2S2_SYSCLK		0x1104
57*091d19ccSYixun Lan #define MPMU_I2S3_SYSCLK		0x1108
58*091d19ccSYixun Lan #define MPMU_I2S4_SYSCLK		0x110c
59*091d19ccSYixun Lan #define MPMU_I2S5_SYSCLK		0x1110
60*091d19ccSYixun Lan #define MPMU_I2S_SYSCLK_CTRL		0x1114
61*091d19ccSYixun Lan 
62*091d19ccSYixun Lan /* APBC register offset */
63*091d19ccSYixun Lan #define APBC_UART0_CLK_RST		0x00
64*091d19ccSYixun Lan #define APBC_UART2_CLK_RST		0x04
65*091d19ccSYixun Lan #define APBC_GPIO_CLK_RST		0x08
66*091d19ccSYixun Lan #define APBC_PWM0_CLK_RST		0x0c
67*091d19ccSYixun Lan #define APBC_PWM1_CLK_RST		0x10
68*091d19ccSYixun Lan #define APBC_PWM2_CLK_RST		0x14
69*091d19ccSYixun Lan #define APBC_PWM3_CLK_RST		0x18
70*091d19ccSYixun Lan #define APBC_TWSI8_CLK_RST		0x20
71*091d19ccSYixun Lan #define APBC_UART3_CLK_RST		0x24
72*091d19ccSYixun Lan #define APBC_RTC_CLK_RST		0x28
73*091d19ccSYixun Lan #define APBC_TWSI0_CLK_RST		0x2c
74*091d19ccSYixun Lan #define APBC_TWSI1_CLK_RST		0x30
75*091d19ccSYixun Lan #define APBC_TIMERS0_CLK_RST		0x34
76*091d19ccSYixun Lan #define APBC_TWSI2_CLK_RST		0x38
77*091d19ccSYixun Lan #define APBC_AIB_CLK_RST		0x3c
78*091d19ccSYixun Lan #define APBC_TWSI4_CLK_RST		0x40
79*091d19ccSYixun Lan #define APBC_TIMERS1_CLK_RST		0x44
80*091d19ccSYixun Lan #define APBC_ONEWIRE_CLK_RST		0x48
81*091d19ccSYixun Lan #define APBC_TWSI5_CLK_RST		0x4c
82*091d19ccSYixun Lan #define APBC_DRO_CLK_RST		0x58
83*091d19ccSYixun Lan #define APBC_IR0_CLK_RST		0x5c
84*091d19ccSYixun Lan #define APBC_IR1_CLK_RST		0x1c
85*091d19ccSYixun Lan #define APBC_TWSI6_CLK_RST		0x60
86*091d19ccSYixun Lan #define APBC_COUNTER_CLK_SEL		0x64
87*091d19ccSYixun Lan #define APBC_TSEN_CLK_RST		0x6c
88*091d19ccSYixun Lan #define APBC_UART4_CLK_RST		0x70
89*091d19ccSYixun Lan #define APBC_UART5_CLK_RST		0x74
90*091d19ccSYixun Lan #define APBC_UART6_CLK_RST		0x78
91*091d19ccSYixun Lan #define APBC_SSP3_CLK_RST		0x7c
92*091d19ccSYixun Lan #define APBC_SSPA0_CLK_RST		0x80
93*091d19ccSYixun Lan #define APBC_SSPA1_CLK_RST		0x84
94*091d19ccSYixun Lan #define APBC_SSPA2_CLK_RST		0x88
95*091d19ccSYixun Lan #define APBC_SSPA3_CLK_RST		0x8c
96*091d19ccSYixun Lan #define APBC_IPC_AP2AUD_CLK_RST		0x90
97*091d19ccSYixun Lan #define APBC_UART7_CLK_RST		0x94
98*091d19ccSYixun Lan #define APBC_UART8_CLK_RST		0x98
99*091d19ccSYixun Lan #define APBC_UART9_CLK_RST		0x9c
100*091d19ccSYixun Lan #define APBC_CAN0_CLK_RST		0xa0
101*091d19ccSYixun Lan #define APBC_CAN1_CLK_RST		0xa4
102*091d19ccSYixun Lan #define APBC_PWM4_CLK_RST		0xa8
103*091d19ccSYixun Lan #define APBC_PWM5_CLK_RST		0xac
104*091d19ccSYixun Lan #define APBC_PWM6_CLK_RST		0xb0
105*091d19ccSYixun Lan #define APBC_PWM7_CLK_RST		0xb4
106*091d19ccSYixun Lan #define APBC_PWM8_CLK_RST		0xb8
107*091d19ccSYixun Lan #define APBC_PWM9_CLK_RST		0xbc
108*091d19ccSYixun Lan #define APBC_PWM10_CLK_RST		0xc0
109*091d19ccSYixun Lan #define APBC_PWM11_CLK_RST		0xc4
110*091d19ccSYixun Lan #define APBC_PWM12_CLK_RST		0xc8
111*091d19ccSYixun Lan #define APBC_PWM13_CLK_RST		0xcc
112*091d19ccSYixun Lan #define APBC_PWM14_CLK_RST		0xd0
113*091d19ccSYixun Lan #define APBC_PWM15_CLK_RST		0xd4
114*091d19ccSYixun Lan #define APBC_PWM16_CLK_RST		0xd8
115*091d19ccSYixun Lan #define APBC_PWM17_CLK_RST		0xdc
116*091d19ccSYixun Lan #define APBC_PWM18_CLK_RST		0xe0
117*091d19ccSYixun Lan #define APBC_PWM19_CLK_RST		0xe4
118*091d19ccSYixun Lan #define APBC_TIMERS2_CLK_RST		0x11c
119*091d19ccSYixun Lan #define APBC_TIMERS3_CLK_RST		0x120
120*091d19ccSYixun Lan #define APBC_TIMERS4_CLK_RST		0x124
121*091d19ccSYixun Lan #define APBC_TIMERS5_CLK_RST		0x128
122*091d19ccSYixun Lan #define APBC_TIMERS6_CLK_RST		0x12c
123*091d19ccSYixun Lan #define APBC_TIMERS7_CLK_RST		0x130
124*091d19ccSYixun Lan 
125*091d19ccSYixun Lan #define APBC_CAN2_CLK_RST		0x148
126*091d19ccSYixun Lan #define APBC_CAN3_CLK_RST		0x14c
127*091d19ccSYixun Lan #define APBC_CAN4_CLK_RST		0x150
128*091d19ccSYixun Lan #define APBC_UART10_CLK_RST		0x154
129*091d19ccSYixun Lan #define APBC_SSP0_CLK_RST		0x158
130*091d19ccSYixun Lan #define APBC_SSP1_CLK_RST		0x15c
131*091d19ccSYixun Lan #define APBC_SSPA4_CLK_RST		0x160
132*091d19ccSYixun Lan #define APBC_SSPA5_CLK_RST		0x164
133*091d19ccSYixun Lan 
134*091d19ccSYixun Lan /* APMU register offset */
135*091d19ccSYixun Lan #define APMU_CSI_CCIC2_CLK_RES_CTRL	0x024
136*091d19ccSYixun Lan #define APMU_ISP_CLK_RES_CTRL		0x038
137*091d19ccSYixun Lan #define APMU_PMU_CLK_GATE_CTRL		0x040
138*091d19ccSYixun Lan #define APMU_LCD_CLK_RES_CTRL1		0x044
139*091d19ccSYixun Lan #define APMU_LCD_SPI_CLK_RES_CTRL	0x048
140*091d19ccSYixun Lan #define APMU_LCD_CLK_RES_CTRL2		0x04c
141*091d19ccSYixun Lan #define APMU_CCIC_CLK_RES_CTRL		0x050
142*091d19ccSYixun Lan #define APMU_SDH0_CLK_RES_CTRL		0x054
143*091d19ccSYixun Lan #define APMU_SDH1_CLK_RES_CTRL		0x058
144*091d19ccSYixun Lan #define APMU_USB_CLK_RES_CTRL		0x05c
145*091d19ccSYixun Lan #define APMU_QSPI_CLK_RES_CTRL		0x060
146*091d19ccSYixun Lan #define APMU_DMA_CLK_RES_CTRL		0x064
147*091d19ccSYixun Lan #define APMU_AES_CLK_RES_CTRL		0x068
148*091d19ccSYixun Lan #define APMU_MCB_CLK_RES_CTRL		0x06c
149*091d19ccSYixun Lan #define APMU_VPU_CLK_RES_CTRL		0x0a4
150*091d19ccSYixun Lan #define APMU_DTC_CLK_RES_CTRL		0x0ac
151*091d19ccSYixun Lan #define APMU_GPU_CLK_RES_CTRL		0x0cc
152*091d19ccSYixun Lan #define APMU_SDH2_CLK_RES_CTRL		0x0e0
153*091d19ccSYixun Lan #define APMU_PMUA_MC_CTRL		0x0e8
154*091d19ccSYixun Lan #define APMU_PMU_CC2_AP			0x100
155*091d19ccSYixun Lan #define APMU_PMUA_EM_CLK_RES_CTRL	0x104
156*091d19ccSYixun Lan #define APMU_UCIE_CTRL			0x11c
157*091d19ccSYixun Lan #define APMU_RCPU_CLK_RES_CTRL		0x14c
158*091d19ccSYixun Lan #define APMU_TOP_DCLK_CTRL		0x158
159*091d19ccSYixun Lan #define APMU_LCD_EDP_CTRL		0x23c
160*091d19ccSYixun Lan #define APMU_UFS_CLK_RES_CTRL		0x268
161*091d19ccSYixun Lan #define APMU_LCD_CLK_RES_CTRL3		0x26c
162*091d19ccSYixun Lan #define APMU_LCD_CLK_RES_CTRL4		0x270
163*091d19ccSYixun Lan #define APMU_LCD_CLK_RES_CTRL5		0x274
164*091d19ccSYixun Lan #define APMU_CCI550_CLK_CTRL		0x300
165*091d19ccSYixun Lan #define APMU_ACLK_CLK_CTRL		0x388
166*091d19ccSYixun Lan #define APMU_CPU_C0_CLK_CTRL		0x38C
167*091d19ccSYixun Lan #define APMU_CPU_C1_CLK_CTRL		0x390
168*091d19ccSYixun Lan #define APMU_CPU_C2_CLK_CTRL		0x394
169*091d19ccSYixun Lan #define APMU_CPU_C3_CLK_CTRL		0x208
170*091d19ccSYixun Lan #define APMU_PCIE_CLK_RES_CTRL_A	0x1f0
171*091d19ccSYixun Lan #define APMU_PCIE_CLK_RES_CTRL_B	0x1c8
172*091d19ccSYixun Lan #define APMU_PCIE_CLK_RES_CTRL_C	0x1d0
173*091d19ccSYixun Lan #define APMU_PCIE_CLK_RES_CTRL_D	0x1e0
174*091d19ccSYixun Lan #define APMU_PCIE_CLK_RES_CTRL_E	0x1e8
175*091d19ccSYixun Lan #define APMU_EMAC0_CLK_RES_CTRL		0x3e4
176*091d19ccSYixun Lan #define APMU_EMAC1_CLK_RES_CTRL		0x3ec
177*091d19ccSYixun Lan #define APMU_EMAC2_CLK_RES_CTRL		0x248
178*091d19ccSYixun Lan #define APMU_ESPI_CLK_RES_CTRL		0x240
179*091d19ccSYixun Lan #define APMU_SNR_ISIM_VCLK_CTRL		0x3f8
180*091d19ccSYixun Lan 
181*091d19ccSYixun Lan /* DCIU register offsets */
182*091d19ccSYixun Lan #define DCIU_DMASYS_CLK_EN		0x234
183*091d19ccSYixun Lan #define DCIU_DMASYS_SDMA_CLK_EN		0x238
184*091d19ccSYixun Lan #define DCIU_C2_TCM_PIPE_CLK		0x244
185*091d19ccSYixun Lan #define DCIU_C3_TCM_PIPE_CLK		0x248
186*091d19ccSYixun Lan 
187*091d19ccSYixun Lan #define DCIU_DMASYS_S0_RSTN		0x204
188*091d19ccSYixun Lan #define DCIU_DMASYS_S1_RSTN		0x208
189*091d19ccSYixun Lan #define DCIU_DMASYS_A0_RSTN		0x20C
190*091d19ccSYixun Lan #define DCIU_DMASYS_A1_RSTN		0x210
191*091d19ccSYixun Lan #define DCIU_DMASYS_A2_RSTN		0x214
192*091d19ccSYixun Lan #define DCIU_DMASYS_A3_RSTN		0x218
193*091d19ccSYixun Lan #define DCIU_DMASYS_A4_RSTN		0x21C
194*091d19ccSYixun Lan #define DCIU_DMASYS_A5_RSTN		0x220
195*091d19ccSYixun Lan #define DCIU_DMASYS_A6_RSTN		0x224
196*091d19ccSYixun Lan #define DCIU_DMASYS_A7_RSTN		0x228
197*091d19ccSYixun Lan #define DCIU_DMASYS_RSTN		0x22C
198*091d19ccSYixun Lan #define DCIU_DMASYS_SDMA_RSTN		0x230
199*091d19ccSYixun Lan 
200*091d19ccSYixun Lan /* RCPU SYSCTRL register offsets */
201*091d19ccSYixun Lan #define RCPU_CAN_CLK_RST		0x4c
202*091d19ccSYixun Lan #define RCPU_CAN1_CLK_RST		0xF0
203*091d19ccSYixun Lan #define RCPU_CAN2_CLK_RST		0xF4
204*091d19ccSYixun Lan #define RCPU_CAN3_CLK_RST		0xF8
205*091d19ccSYixun Lan #define RCPU_CAN4_CLK_RST		0xFC
206*091d19ccSYixun Lan #define RCPU_IRC_CLK_RST		0x48
207*091d19ccSYixun Lan #define RCPU_IRC1_CLK_RST		0xEC
208*091d19ccSYixun Lan #define RCPU_GMAC_CLK_RST		0xE4
209*091d19ccSYixun Lan #define RCPU_ESPI_CLK_RST		0xDC
210*091d19ccSYixun Lan #define RCPU_AUDIO_I2S0_SYS_CLK_CTRL	0x70
211*091d19ccSYixun Lan #define RCPU_AUDIO_I2S1_SYS_CLK_CTRL	0x44
212*091d19ccSYixun Lan 
213*091d19ccSYixun Lan /* RCPU UARTCTRL register offsets */
214*091d19ccSYixun Lan #define RCPU1_UART0_CLK_RST		0x00
215*091d19ccSYixun Lan #define RCPU1_UART1_CLK_RST		0x04
216*091d19ccSYixun Lan #define RCPU1_UART2_CLK_RST		0x08
217*091d19ccSYixun Lan #define RCPU1_UART3_CLK_RST		0x0c
218*091d19ccSYixun Lan #define RCPU1_UART4_CLK_RST		0x10
219*091d19ccSYixun Lan #define RCPU1_UART5_CLK_RST		0x14
220*091d19ccSYixun Lan 
221*091d19ccSYixun Lan /* RCPU I2SCTRL register offsets */
222*091d19ccSYixun Lan #define RCPU2_AUDIO_I2S0_TX_RX_CLK_CTRL	0x60
223*091d19ccSYixun Lan #define RCPU2_AUDIO_I2S1_TX_RX_CLK_CTRL	0x64
224*091d19ccSYixun Lan #define RCPU2_AUDIO_I2S2_TX_RX_CLK_CTRL	0x68
225*091d19ccSYixun Lan #define RCPU2_AUDIO_I2S3_TX_RX_CLK_CTRL	0x6C
226*091d19ccSYixun Lan 
227*091d19ccSYixun Lan #define RCPU2_AUDIO_I2S2_SYS_CLK_CTRL	0x44
228*091d19ccSYixun Lan #define RCPU2_AUDIO_I2S3_SYS_CLK_CTRL	0x54
229*091d19ccSYixun Lan 
230*091d19ccSYixun Lan /* RCPU SPICTRL register offsets */
231*091d19ccSYixun Lan #define RCPU3_SSP0_CLK_RST		0x00
232*091d19ccSYixun Lan #define RCPU3_SSP1_CLK_RST		0x04
233*091d19ccSYixun Lan #define RCPU3_PWR_SSP_CLK_RST		0x08
234*091d19ccSYixun Lan 
235*091d19ccSYixun Lan /* RCPU I2CCTRL register offsets */
236*091d19ccSYixun Lan #define RCPU4_I2C0_CLK_RST		0x00
237*091d19ccSYixun Lan #define RCPU4_I2C1_CLK_RST		0x04
238*091d19ccSYixun Lan #define RCPU4_PWR_I2C_CLK_RST		0x08
239*091d19ccSYixun Lan 
240*091d19ccSYixun Lan /* RPMU register offsets */
241*091d19ccSYixun Lan #define RCPU5_AON_PER_CLK_RST_CTRL	0x2C
242*091d19ccSYixun Lan #define RCPU5_TIMER1_CLK_RST		0x4C
243*091d19ccSYixun Lan #define RCPU5_TIMER2_CLK_RST		0x70
244*091d19ccSYixun Lan #define RCPU5_TIMER3_CLK_RST		0x78
245*091d19ccSYixun Lan #define RCPU5_TIMER4_CLK_RST		0x7C
246*091d19ccSYixun Lan #define RCPU5_GPIO_AND_EDGE_CLK_RST	0x74
247*091d19ccSYixun Lan #define RCPU5_RCPU_BUS_CLK_CTRL		0xC0
248*091d19ccSYixun Lan #define RCPU5_RT24_CORE0_CLK_CTRL	0xC4
249*091d19ccSYixun Lan #define RCPU5_RT24_CORE1_CLK_CTRL	0xC8
250*091d19ccSYixun Lan #define RCPU5_RT24_CORE0_SW_RESET	0xCC
251*091d19ccSYixun Lan #define RCPU5_RT24_CORE1_SW_RESET	0xD0
252*091d19ccSYixun Lan 
253*091d19ccSYixun Lan /* RCPU PWMCTRL register offsets */
254*091d19ccSYixun Lan #define RCPU6_PWM0_CLK_RST		0x00
255*091d19ccSYixun Lan #define RCPU6_PWM1_CLK_RST		0x04
256*091d19ccSYixun Lan #define RCPU6_PWM2_CLK_RST		0x08
257*091d19ccSYixun Lan #define RCPU6_PWM3_CLK_RST		0x0c
258*091d19ccSYixun Lan #define RCPU6_PWM4_CLK_RST		0x10
259*091d19ccSYixun Lan #define RCPU6_PWM5_CLK_RST		0x14
260*091d19ccSYixun Lan #define RCPU6_PWM6_CLK_RST		0x18
261*091d19ccSYixun Lan #define RCPU6_PWM7_CLK_RST		0x1c
262*091d19ccSYixun Lan #define RCPU6_PWM8_CLK_RST		0x20
263*091d19ccSYixun Lan #define RCPU6_PWM9_CLK_RST		0x24
264*091d19ccSYixun Lan 
265*091d19ccSYixun Lan /* APBC2 SEC register offsets */
266*091d19ccSYixun Lan #define APBC2_UART1_CLK_RST		0x00
267*091d19ccSYixun Lan #define APBC2_SSP2_CLK_RST		0x04
268*091d19ccSYixun Lan #define APBC2_TWSI3_CLK_RST		0x08
269*091d19ccSYixun Lan #define APBC2_RTC_CLK_RST		0x0c
270*091d19ccSYixun Lan #define APBC2_TIMERS_CLK_RST		0x10
271*091d19ccSYixun Lan #define APBC2_GPIO_CLK_RST		0x1c
272*091d19ccSYixun Lan 
273*091d19ccSYixun Lan #endif /* __SOC_K3_SYSCON_H__ */
274