1/* SPDX-License-Identifier: GPL-2.0-only */
2/*
3 * Copyright (c) 2014 Samsung Electronics Co., Ltd.
4 * Author: Rahul Sharma <rahul.sharma@samsung.com>
5 *
6 * Common Clock Framework support for Exynos5260 SoC.
7 */
8
9#ifndef __CLK_EXYNOS5260_H
10#define __CLK_EXYNOS5260_H
11
12/*
13*Registers for CMU_AUD
14*/
15#define MUX_SEL_AUD 0x0200
16#define MUX_ENABLE_AUD 0x0300
17#define MUX_STAT_AUD 0x0400
18#define MUX_IGNORE_AUD 0x0500
19#define DIV_AUD0 0x0600
20#define DIV_AUD1 0x0604
21#define DIV_STAT_AUD0 0x0700
22#define DIV_STAT_AUD1 0x0704
23#define EN_ACLK_AUD 0x0800
24#define EN_PCLK_AUD 0x0900
25#define EN_SCLK_AUD 0x0a00
26#define EN_IP_AUD 0x0b00
27
28/*
29*Registers for CMU_DISP
30*/
31#define MUX_SEL_DISP0 0x0200
32#define MUX_SEL_DISP1 0x0204
33#define MUX_SEL_DISP2 0x0208
34#define MUX_SEL_DISP3 0x020C
35#define MUX_SEL_DISP4 0x0210
36#define MUX_ENABLE_DISP0 0x0300
37#define MUX_ENABLE_DISP1 0x0304
38#define MUX_ENABLE_DISP2 0x0308
39#define MUX_ENABLE_DISP3 0x030c
40#define MUX_ENABLE_DISP4 0x0310
41#define MUX_STAT_DISP0 0x0400
42#define MUX_STAT_DISP1 0x0404
43#define MUX_STAT_DISP2 0x0408
44#define MUX_STAT_DISP3 0x040c
45#define MUX_STAT_DISP4 0x0410
46#define MUX_IGNORE_DISP0 0x0500
47#define MUX_IGNORE_DISP1 0x0504
48#define MUX_IGNORE_DISP2 0x0508
49#define MUX_IGNORE_DISP3 0x050c
50#define MUX_IGNORE_DISP4 0x0510
51#define DIV_DISP 0x0600
52#define DIV_STAT_DISP 0x0700
53#define EN_ACLK_DISP 0x0800
54#define EN_PCLK_DISP 0x0900
55#define EN_SCLK_DISP0 0x0a00
56#define EN_SCLK_DISP1 0x0a04
57#define EN_IP_DISP 0x0b00
58#define EN_IP_DISP_BUS 0x0b04
59
60
61/*
62*Registers for CMU_EGL
63*/
64#define EGL_PLL_LOCK 0x0000
65#define EGL_DPLL_LOCK 0x0004
66#define EGL_PLL_CON0 0x0100
67#define EGL_PLL_CON1 0x0104
68#define EGL_PLL_FREQ_DET 0x010c
69#define EGL_DPLL_CON0 0x0110
70#define EGL_DPLL_CON1 0x0114
71#define EGL_DPLL_FREQ_DET 0x011c
72#define MUX_SEL_EGL 0x0200
73#define MUX_ENABLE_EGL 0x0300
74#define MUX_STAT_EGL 0x0400
75#define DIV_EGL 0x0600
76#define DIV_EGL_PLL_FDET 0x0604
77#define DIV_STAT_EGL 0x0700
78#define DIV_STAT_EGL_PLL_FDET 0x0704
79#define EN_ACLK_EGL 0x0800
80#define EN_PCLK_EGL 0x0900
81#define EN_SCLK_EGL 0x0a00
82#define EN_IP_EGL 0x0b00
83#define CLKOUT_CMU_EGL 0x0c00
84#define CLKOUT_CMU_EGL_DIV_STAT 0x0c04
85#define ARMCLK_STOPCTRL 0x1000
86#define EAGLE_EMA_CTRL 0x1008
87#define EAGLE_EMA_STATUS 0x100c
88#define PWR_CTRL 0x1020
89#define PWR_CTRL2 0x1024
90#define CLKSTOP_CTRL 0x1028
91#define INTR_SPREAD_EN 0x1080
92#define INTR_SPREAD_USE_STANDBYWFI 0x1084
93#define INTR_SPREAD_BLOCKING_DURATION 0x1088
94#define CMU_EGL_SPARE0 0x2000
95#define CMU_EGL_SPARE1 0x2004
96#define CMU_EGL_SPARE2 0x2008
97#define CMU_EGL_SPARE3 0x200c
98#define CMU_EGL_SPARE4 0x2010
99
100/*
101*Registers for CMU_FSYS
102*/
103
104#define MUX_SEL_FSYS0 0x0200
105#define MUX_SEL_FSYS1 0x0204
106#define MUX_ENABLE_FSYS0 0x0300
107#define MUX_ENABLE_FSYS1 0x0304
108#define MUX_STAT_FSYS0 0x0400
109#define MUX_STAT_FSYS1 0x0404
110#define MUX_IGNORE_FSYS0 0x0500
111#define MUX_IGNORE_FSYS1 0x0504
112#define EN_ACLK_FSYS 0x0800
113#define EN_ACLK_FSYS_SECURE_RTIC 0x0804
114#define EN_ACLK_FSYS_SECURE_SMMU_RTIC 0x0808
115#define EN_PCLK_FSYS 0x0900
116#define EN_SCLK_FSYS 0x0a00
117#define EN_IP_FSYS 0x0b00
118#define EN_IP_FSYS_SECURE_RTIC 0x0b04
119#define EN_IP_FSYS_SECURE_SMMU_RTIC 0x0b08
120
121/*
122*Registers for CMU_G2D
123*/
124
125#define MUX_SEL_G2D 0x0200
126#define MUX_ENABLE_G2D 0x0300
127#define MUX_STAT_G2D 0x0400
128#define DIV_G2D 0x0600
129#define DIV_STAT_G2D 0x0700
130#define EN_ACLK_G2D 0x0800
131#define EN_ACLK_G2D_SECURE_SSS 0x0804
132#define EN_ACLK_G2D_SECURE_SLIM_SSS 0x0808
133#define EN_ACLK_G2D_SECURE_SMMU_SLIM_SSS 0x080c
134#define EN_ACLK_G2D_SECURE_SMMU_SSS 0x0810
135#define EN_ACLK_G2D_SECURE_SMMU_MDMA 0x0814
136#define EN_ACLK_G2D_SECURE_SMMU_G2D 0x0818
137#define EN_PCLK_G2D 0x0900
138#define EN_PCLK_G2D_SECURE_SMMU_SLIM_SSS 0x0904
139#define EN_PCLK_G2D_SECURE_SMMU_SSS 0x0908
140#define EN_PCLK_G2D_SECURE_SMMU_MDMA 0x090c
141#define EN_PCLK_G2D_SECURE_SMMU_G2D 0x0910
142#define EN_IP_G2D 0x0b00
143#define EN_IP_G2D_SECURE_SSS 0x0b04
144#define EN_IP_G2D_SECURE_SLIM_SSS 0x0b08
145#define EN_IP_G2D_SECURE_SMMU_SLIM_SSS 0x0b0c
146#define EN_IP_G2D_SECURE_SMMU_SSS 0x0b10
147#define EN_IP_G2D_SECURE_SMMU_MDMA 0x0b14
148#define EN_IP_G2D_SECURE_SMMU_G2D 0x0b18
149
150/*
151*Registers for CMU_G3D
152*/
153
154#define G3D_PLL_LOCK 0x0000
155#define G3D_PLL_CON0 0x0100
156#define G3D_PLL_CON1 0x0104
157#define G3D_PLL_FDET 0x010c
158#define MUX_SEL_G3D 0x0200
159#define MUX_EN_G3D 0x0300
160#define MUX_STAT_G3D 0x0400
161#define MUX_IGNORE_G3D 0x0500
162#define DIV_G3D 0x0600
163#define DIV_G3D_PLL_FDET 0x0604
164#define DIV_STAT_G3D 0x0700
165#define DIV_STAT_G3D_PLL_FDET 0x0704
166#define EN_ACLK_G3D 0x0800
167#define EN_PCLK_G3D 0x0900
168#define EN_SCLK_G3D 0x0a00
169#define EN_IP_G3D 0x0b00
170#define CLKOUT_CMU_G3D 0x0c00
171#define CLKOUT_CMU_G3D_DIV_STAT 0x0c04
172#define G3DCLK_STOPCTRL 0x1000
173#define G3D_EMA_CTRL 0x1008
174#define G3D_EMA_STATUS 0x100c
175
176/*
177*Registers for CMU_GSCL
178*/
179
180#define MUX_SEL_GSCL 0x0200
181#define MUX_EN_GSCL 0x0300
182#define MUX_STAT_GSCL 0x0400
183#define MUX_IGNORE_GSCL 0x0500
184#define DIV_GSCL 0x0600
185#define DIV_STAT_GSCL 0x0700
186#define EN_ACLK_GSCL 0x0800
187#define EN_ACLK_GSCL_FIMC 0x0804
188#define EN_ACLK_GSCL_SECURE_SMMU_GSCL0 0x0808
189#define EN_ACLK_GSCL_SECURE_SMMU_GSCL1 0x080c
190#define EN_ACLK_GSCL_SECURE_SMMU_MSCL0 0x0810
191#define EN_ACLK_GSCL_SECURE_SMMU_MSCL1 0x0814
192#define EN_PCLK_GSCL 0x0900
193#define EN_PCLK_GSCL_FIMC 0x0904
194#define EN_PCLK_GSCL_SECURE_SMMU_GSCL0 0x0908
195#define EN_PCLK_GSCL_SECURE_SMMU_GSCL1 0x090c
196#define EN_PCLK_GSCL_SECURE_SMMU_MSCL0 0x0910
197#define EN_PCLK_GSCL_SECURE_SMMU_MSCL1 0x0914
198#define EN_SCLK_GSCL 0x0a00
199#define EN_SCLK_GSCL_FIMC 0x0a04
200#define EN_IP_GSCL 0x0b00
201#define EN_IP_GSCL_FIMC 0x0b04
202#define EN_IP_GSCL_SECURE_SMMU_GSCL0 0x0b08
203#define EN_IP_GSCL_SECURE_SMMU_GSCL1 0x0b0c
204#define EN_IP_GSCL_SECURE_SMMU_MSCL0 0x0b10
205#define EN_IP_GSCL_SECURE_SMMU_MSCL1 0x0b14
206
207/*
208*Registers for CMU_ISP
209*/
210#define MUX_SEL_ISP0 0x0200
211#define MUX_SEL_ISP1 0x0204
212#define MUX_ENABLE_ISP0 0x0300
213#define MUX_ENABLE_ISP1 0x0304
214#define MUX_STAT_ISP0 0x0400
215#define MUX_STAT_ISP1 0x0404
216#define MUX_IGNORE_ISP0 0x0500
217#define MUX_IGNORE_ISP1 0x0504
218#define DIV_ISP 0x0600
219#define DIV_STAT_ISP 0x0700
220#define EN_ACLK_ISP0 0x0800
221#define EN_ACLK_ISP1 0x0804
222#define EN_PCLK_ISP0 0x0900
223#define EN_PCLK_ISP1 0x0904
224#define EN_SCLK_ISP 0x0a00
225#define EN_IP_ISP0 0x0b00
226#define EN_IP_ISP1 0x0b04
227
228/*
229*Registers for CMU_KFC
230*/
231#define KFC_PLL_LOCK 0x0000
232#define KFC_PLL_CON0 0x0100
233#define KFC_PLL_CON1 0x0104
234#define KFC_PLL_FDET 0x010c
235#define MUX_SEL_KFC0 0x0200
236#define MUX_SEL_KFC2 0x0208
237#define MUX_ENABLE_KFC0 0x0300
238#define MUX_ENABLE_KFC2 0x0308
239#define MUX_STAT_KFC0 0x0400
240#define MUX_STAT_KFC2 0x0408
241#define DIV_KFC 0x0600
242#define DIV_KFC_PLL_FDET 0x0604
243#define DIV_STAT_KFC 0x0700
244#define DIV_STAT_KFC_PLL_FDET 0x0704
245#define EN_ACLK_KFC 0x0800
246#define EN_PCLK_KFC 0x0900
247#define EN_SCLK_KFC 0x0a00
248#define EN_IP_KFC 0x0b00
249#define CLKOUT_CMU_KFC 0x0c00
250#define CLKOUT_CMU_KFC_DIV_STAT 0x0c04
251#define ARMCLK_STOPCTRL_KFC 0x1000
252#define ARM_EMA_CTRL 0x1008
253#define ARM_EMA_STATUS 0x100c
254#define PWR_CTRL_KFC 0x1020
255#define PWR_CTRL2_KFC 0x1024
256#define CLKSTOP_CTRL_KFC 0x1028
257#define INTR_SPREAD_ENABLE_KFC 0x1080
258#define INTR_SPREAD_USE_STANDBYWFI_KFC 0x1084
259#define INTR_SPREAD_BLOCKING_DURATION_KFC 0x1088
260#define CMU_KFC_SPARE0 0x2000
261#define CMU_KFC_SPARE1 0x2004
262#define CMU_KFC_SPARE2 0x2008
263#define CMU_KFC_SPARE3 0x200c
264#define CMU_KFC_SPARE4 0x2010
265
266/*
267*Registers for CMU_MFC
268*/
269#define MUX_SEL_MFC 0x0200
270#define MUX_ENABLE_MFC 0x0300
271#define MUX_STAT_MFC 0x0400
272#define DIV_MFC 0x0600
273#define DIV_STAT_MFC 0x0700
274#define EN_ACLK_MFC 0x0800
275#define EN_ACLK_SECURE_SMMU2_MFC 0x0804
276#define EN_PCLK_MFC 0x0900
277#define EN_PCLK_SECURE_SMMU2_MFC 0x0904
278#define EN_IP_MFC 0x0b00
279#define EN_IP_MFC_SECURE_SMMU2_MFC 0x0b04
280
281/*
282*Registers for CMU_MIF
283*/
284#define MEM_PLL_LOCK 0x0000
285#define BUS_PLL_LOCK 0x0004
286#define MEDIA_PLL_LOCK 0x0008
287#define MEM_PLL_CON0 0x0100
288#define MEM_PLL_CON1 0x0104
289#define MEM_PLL_FDET 0x010c
290#define BUS_PLL_CON0 0x0110
291#define BUS_PLL_CON1 0x0114
292#define BUS_PLL_FDET 0x011c
293#define MEDIA_PLL_CON0 0x0120
294#define MEDIA_PLL_CON1 0x0124
295#define MEDIA_PLL_FDET 0x012c
296#define MUX_SEL_MIF 0x0200
297#define MUX_ENABLE_MIF 0x0300
298#define MUX_STAT_MIF 0x0400
299#define MUX_IGNORE_MIF 0x0500
300#define DIV_MIF 0x0600
301#define DIV_MIF_PLL_FDET 0x0604
302#define DIV_STAT_MIF 0x0700
303#define DIV_STAT_MIF_PLL_FDET 0x0704
304#define EN_ACLK_MIF 0x0800
305#define EN_ACLK_MIF_SECURE_DREX1_TZ 0x0804
306#define EN_ACLK_MIF_SECURE_DREX0_TZ 0x0808
307#define EN_ACLK_MIF_SECURE_INTMEM 0x080c
308#define EN_PCLK_MIF 0x0900
309#define EN_PCLK_MIF_SECURE_MONOCNT 0x0904
310#define EN_PCLK_MIF_SECURE_RTC_APBIF 0x0908
311#define EN_PCLK_MIF_SECURE_DREX1_TZ 0x090c
312#define EN_PCLK_MIF_SECURE_DREX0_TZ 0x0910
313#define EN_SCLK_MIF 0x0a00
314#define EN_IP_MIF 0x0b00
315#define EN_IP_MIF_SECURE_MONOCNT 0x0b04
316#define EN_IP_MIF_SECURE_RTC_APBIF 0x0b08
317#define EN_IP_MIF_SECURE_DREX1_TZ 0x0b0c
318#define EN_IP_MIF_SECURE_DREX0_TZ 0x0b10
319#define EN_IP_MIF_SECURE_INTEMEM 0x0b14
320#define CLKOUT_CMU_MIF_DIV_STAT 0x0c04
321#define DREX_FREQ_CTRL 0x1000
322#define PAUSE 0x1004
323#define DDRPHY_LOCK_CTRL 0x1008
324#define CLKOUT_CMU_MIF 0xcb00
325
326/*
327*Registers for CMU_PERI
328*/
329#define MUX_SEL_PERI 0x0200
330#define MUX_SEL_PERI1 0x0204
331#define MUX_ENABLE_PERI 0x0300
332#define MUX_ENABLE_PERI1 0x0304
333#define MUX_STAT_PERI 0x0400
334#define MUX_STAT_PERI1 0x0404
335#define MUX_IGNORE_PERI 0x0500
336#define MUX_IGNORE_PERI1 0x0504
337#define DIV_PERI 0x0600
338#define DIV_STAT_PERI 0x0700
339#define EN_PCLK_PERI0 0x0800
340#define EN_PCLK_PERI1 0x0804
341#define EN_PCLK_PERI2 0x0808
342#define EN_PCLK_PERI3 0x080c
343#define EN_PCLK_PERI_SECURE_CHIPID 0x0810
344#define EN_PCLK_PERI_SECURE_PROVKEY0 0x0814
345#define EN_PCLK_PERI_SECURE_PROVKEY1 0x0818
346#define EN_PCLK_PERI_SECURE_SECKEY 0x081c
347#define EN_PCLK_PERI_SECURE_ANTIRBKCNT 0x0820
348#define EN_PCLK_PERI_SECURE_TOP_RTC 0x0824
349#define EN_PCLK_PERI_SECURE_TZPC 0x0828
350#define EN_SCLK_PERI 0x0a00
351#define EN_SCLK_PERI_SECURE_TOP_RTC 0x0a04
352#define EN_IP_PERI0 0x0b00
353#define EN_IP_PERI1 0x0b04
354#define EN_IP_PERI2 0x0b08
355#define EN_IP_PERI_SECURE_CHIPID 0x0b0c
356#define EN_IP_PERI_SECURE_PROVKEY0 0x0b10
357#define EN_IP_PERI_SECURE_PROVKEY1 0x0b14
358#define EN_IP_PERI_SECURE_SECKEY 0x0b18
359#define EN_IP_PERI_SECURE_ANTIRBKCNT 0x0b1c
360#define EN_IP_PERI_SECURE_TOP_RTC 0x0b20
361#define EN_IP_PERI_SECURE_TZPC 0x0b24
362
363/*
364*Registers for CMU_TOP
365*/
366#define DISP_PLL_LOCK 0x0000
367#define AUD_PLL_LOCK 0x0004
368#define DISP_PLL_CON0 0x0100
369#define DISP_PLL_CON1 0x0104
370#define DISP_PLL_FDET 0x0108
371#define AUD_PLL_CON0 0x0110
372#define AUD_PLL_CON1 0x0114
373#define AUD_PLL_CON2 0x0118
374#define AUD_PLL_FDET 0x011c
375#define MUX_SEL_TOP_PLL0 0x0200
376#define MUX_SEL_TOP_MFC 0x0204
377#define MUX_SEL_TOP_G2D 0x0208
378#define MUX_SEL_TOP_GSCL 0x020c
379#define MUX_SEL_TOP_ISP10 0x0214
380#define MUX_SEL_TOP_ISP11 0x0218
381#define MUX_SEL_TOP_DISP0 0x021c
382#define MUX_SEL_TOP_DISP1 0x0220
383#define MUX_SEL_TOP_BUS 0x0224
384#define MUX_SEL_TOP_PERI0 0x0228
385#define MUX_SEL_TOP_PERI1 0x022c
386#define MUX_SEL_TOP_FSYS 0x0230
387#define MUX_ENABLE_TOP_PLL0 0x0300
388#define MUX_ENABLE_TOP_MFC 0x0304
389#define MUX_ENABLE_TOP_G2D 0x0308
390#define MUX_ENABLE_TOP_GSCL 0x030c
391#define MUX_ENABLE_TOP_ISP10 0x0314
392#define MUX_ENABLE_TOP_ISP11 0x0318
393#define MUX_ENABLE_TOP_DISP0 0x031c
394#define MUX_ENABLE_TOP_DISP1 0x0320
395#define MUX_ENABLE_TOP_BUS 0x0324
396#define MUX_ENABLE_TOP_PERI0 0x0328
397#define MUX_ENABLE_TOP_PERI1 0x032c
398#define MUX_ENABLE_TOP_FSYS 0x0330
399#define MUX_STAT_TOP_PLL0 0x0400
400#define MUX_STAT_TOP_MFC 0x0404
401#define MUX_STAT_TOP_G2D 0x0408
402#define MUX_STAT_TOP_GSCL 0x040c
403#define MUX_STAT_TOP_ISP10 0x0414
404#define MUX_STAT_TOP_ISP11 0x0418
405#define MUX_STAT_TOP_DISP0 0x041c
406#define MUX_STAT_TOP_DISP1 0x0420
407#define MUX_STAT_TOP_BUS 0x0424
408#define MUX_STAT_TOP_PERI0 0x0428
409#define MUX_STAT_TOP_PERI1 0x042c
410#define MUX_STAT_TOP_FSYS 0x0430
411#define MUX_IGNORE_TOP_PLL0 0x0500
412#define MUX_IGNORE_TOP_MFC 0x0504
413#define MUX_IGNORE_TOP_G2D 0x0508
414#define MUX_IGNORE_TOP_GSCL 0x050c
415#define MUX_IGNORE_TOP_ISP10 0x0514
416#define MUX_IGNORE_TOP_ISP11 0x0518
417#define MUX_IGNORE_TOP_DISP0 0x051c
418#define MUX_IGNORE_TOP_DISP1 0x0520
419#define MUX_IGNORE_TOP_BUS 0x0524
420#define MUX_IGNORE_TOP_PERI0 0x0528
421#define MUX_IGNORE_TOP_PERI1 0x052c
422#define MUX_IGNORE_TOP_FSYS 0x0530
423#define DIV_TOP_G2D_MFC 0x0600
424#define DIV_TOP_GSCL_ISP0 0x0604
425#define DIV_TOP_ISP10 0x0608
426#define DIV_TOP_ISP11 0x060c
427#define DIV_TOP_DISP 0x0610
428#define DIV_TOP_BUS 0x0614
429#define DIV_TOP_PERI0 0x0618
430#define DIV_TOP_PERI1 0x061c
431#define DIV_TOP_PERI2 0x0620
432#define DIV_TOP_FSYS0 0x0624
433#define DIV_TOP_FSYS1 0x0628
434#define DIV_TOP_HPM 0x062c
435#define DIV_TOP_PLL_FDET 0x0630
436#define DIV_STAT_TOP_G2D_MFC 0x0700
437#define DIV_STAT_TOP_GSCL_ISP0 0x0704
438#define DIV_STAT_TOP_ISP10 0x0708
439#define DIV_STAT_TOP_ISP11 0x070c
440#define DIV_STAT_TOP_DISP 0x0710
441#define DIV_STAT_TOP_BUS 0x0714
442#define DIV_STAT_TOP_PERI0 0x0718
443#define DIV_STAT_TOP_PERI1 0x071c
444#define DIV_STAT_TOP_PERI2 0x0720
445#define DIV_STAT_TOP_FSYS0 0x0724
446#define DIV_STAT_TOP_FSYS1 0x0728
447#define DIV_STAT_TOP_HPM 0x072c
448#define DIV_STAT_TOP_PLL_FDET 0x0730
449#define EN_ACLK_TOP 0x0800
450#define EN_SCLK_TOP 0x0a00
451#define EN_IP_TOP 0x0b00
452#define CLKOUT_CMU_TOP 0x0c00
453#define CLKOUT_CMU_TOP_DIV_STAT 0x0c04
454
455#endif /*__CLK_EXYNOS5260_H */
456
457

source code of linux/drivers/clk/samsung/clk-exynos5260.h