xref: /linux/drivers/clk/samsung/clk-exynos2200.c (revision 4f9786035f9e519db41375818e1d0b5f20da2f10)
1 // SPDX-License-Identifier: GPL-2.0-only
2 /*
3  * Copyright (C) 2025 Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
4  * Author: Ivaylo Ivanov <ivo.ivanov.ivanov1@gmail.com>
5  *
6  * Common Clock Framework support for Exynos2200 SoC.
7  */
8 
9 #include <linux/clk-provider.h>
10 #include <linux/mod_devicetable.h>
11 #include <linux/of.h>
12 #include <linux/platform_device.h>
13 
14 #include <dt-bindings/clock/samsung,exynos2200-cmu.h>
15 
16 #include "clk.h"
17 #include "clk-exynos-arm64.h"
18 
19 /* NOTE: Must be equal to the last clock ID increased by one */
20 #define CLKS_NR_TOP			(CLK_DOUT_TCXO_DIV4 + 1)
21 #define CLKS_NR_ALIVE			(CLK_DOUT_ALIVE_DSP_NOC + 1)
22 #define CLKS_NR_PERIS			(CLK_DOUT_PERIS_DDD_CTRL + 1)
23 #define CLKS_NR_CMGP			(CLK_DOUT_CMGP_USI6 + 1)
24 #define CLKS_NR_HSI0			(CLK_DOUT_DIV_CLK_HSI0_EUSB + 1)
25 #define CLKS_NR_PERIC0			(CLK_DOUT_PERIC0_USI04 + 1)
26 #define CLKS_NR_PERIC1			(CLK_DOUT_PERIC1_USI10 + 1)
27 #define CLKS_NR_PERIC2			(CLK_DOUT_PERIC2_USI11 + 1)
28 #define CLKS_NR_UFS			(CLK_MOUT_UFS_UFS_EMBD_USER + 1)
29 #define CLKS_NR_VTS			(CLK_DOUT_CLKVTS_SERIAL_LIF_CORE + 1)
30 
31 /* ---- CMU_TOP ------------------------------------------------------------ */
32 
33 /* Register Offset definitions for CMU_TOP (0x1a320000) */
34 #define PLL_LOCKTIME_PLL_MMC				0x0
35 #define PLL_LOCKTIME_PLL_SHARED0			0x4
36 #define PLL_LOCKTIME_PLL_SHARED1			0x8
37 #define PLL_LOCKTIME_PLL_SHARED2			0xc
38 #define PLL_LOCKTIME_PLL_SHARED3			0x10
39 #define PLL_LOCKTIME_PLL_SHARED4			0x14
40 #define PLL_LOCKTIME_PLL_SHARED_MIF			0x18
41 #define PLL_CON3_PLL_MMC				0x10c
42 #define PLL_CON8_PLL_MMC				0x120
43 #define PLL_CON3_PLL_SHARED0				0x14c
44 #define PLL_CON8_PLL_SHARED0				0x160
45 #define PLL_CON3_PLL_SHARED1				0x18c
46 #define PLL_CON8_PLL_SHARED1				0x1a0
47 #define PLL_CON3_PLL_SHARED2				0x1cc
48 #define PLL_CON8_PLL_SHARED2				0x1e0
49 #define PLL_CON3_PLL_SHARED3				0x20c
50 #define PLL_CON8_PLL_SHARED3				0x220
51 #define PLL_CON3_PLL_SHARED4				0x24c
52 #define PLL_CON8_PLL_SHARED4				0x260
53 #define PLL_CON3_PLL_SHARED_MIF				0x28c
54 #define PLL_CON8_PLL_SHARED_MIF				0x2a0
55 #define PLL_CON0_MUX_CP_MPLL_CLK_D2_USER		0x600
56 #define PLL_CON1_MUX_CP_MPLL_CLK_D2_USER		0x604
57 #define PLL_CON0_MUX_CP_MPLL_CLK_USER			0x610
58 #define PLL_CON1_MUX_CP_MPLL_CLK_USER			0x614
59 #define CLK_CON_MUX_CLKCMU_AUD_AUDIF0			0x1000
60 #define CLK_CON_MUX_CLKCMU_AUD_AUDIF1			0x1004
61 #define CLK_CON_MUX_CLKCMU_AUD_CPU			0x1008
62 #define CLK_CON_MUX_CLKCMU_CPUCL0_DBG_NOC		0x100c
63 #define CLK_CON_MUX_CLKCMU_CPUCL0_SWITCH		0x1010
64 #define CLK_CON_MUX_CLKCMU_CPUCL1_SWITCH		0x1014
65 #define CLK_CON_MUX_CLKCMU_CPUCL2_SWITCH		0x1018
66 #define CLK_CON_MUX_CLKCMU_DNC_NOC			0x101c
67 #define CLK_CON_MUX_CLKCMU_DPUB_NOC			0x1020
68 #define CLK_CON_MUX_CLKCMU_DPUF_NOC			0x1024
69 #define CLK_CON_MUX_CLKCMU_DSP_NOC			0x102c
70 #define CLK_CON_MUX_CLKCMU_DSU_SWITCH			0x1030
71 #define CLK_CON_MUX_CLKCMU_G3D_SWITCH			0x1034
72 #define CLK_CON_MUX_CLKCMU_GNPU_NOC			0x103c
73 #define CLK_CON_MUX_CLKCMU_UFS_MMC_CARD			0x1040
74 #define CLK_CON_MUX_CLKCMU_M2M_NOC			0x1044
75 #define CLK_CON_MUX_CLKCMU_NOCL0_NOC			0x1048
76 #define CLK_CON_MUX_CLKCMU_NOCL1A_NOC			0x104c
77 #define CLK_CON_MUX_CLKCMU_NOCL1B_NOC0			0x1050
78 #define CLK_CON_MUX_CLKCMU_NOCL1C_NOC			0x1054
79 #define CLK_CON_MUX_CLKCMU_SDMA_NOC			0x1058
80 #define CLK_CON_MUX_CP_HISPEEDY_CLK			0x105c
81 #define CLK_CON_MUX_CP_SHARED0_CLK			0x1060
82 #define CLK_CON_MUX_CP_SHARED2_CLK			0x1064
83 #define CLK_CON_MUX_MUX_CLKCMU_ALIVE_NOC		0x1068
84 #define CLK_CON_MUX_MUX_CLKCMU_AUD_AUDIF0		0x106c
85 #define CLK_CON_MUX_MUX_CLKCMU_AUD_AUDIF1		0x1070
86 #define CLK_CON_MUX_MUX_CLKCMU_AUD_CPU			0x1074
87 #define CLK_CON_MUX_MUX_CLKCMU_AUD_NOC			0x1078
88 #define CLK_CON_MUX_MUX_CLKCMU_BRP_NOC			0x107c
89 #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK0			0x1080
90 #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK1			0x1084
91 #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK2			0x1088
92 #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK3			0x108c
93 #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK4			0x1090
94 #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK5			0x1094
95 #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK6			0x1098
96 #define CLK_CON_MUX_MUX_CLKCMU_CIS_CLK7			0x109c
97 #define CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST		0x10a0
98 #define CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_CAM		0x10a4
99 #define CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_CPU		0x10a8
100 #define CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_MIF		0x10ac
101 #define CLK_CON_MUX_MUX_CLKCMU_CPUCL0_DBG_NOC		0x10b0
102 #define CLK_CON_MUX_MUX_CLKCMU_CPUCL0_NOCP		0x10b4
103 #define CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH		0x10b8
104 #define CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH		0x10bc
105 #define CLK_CON_MUX_MUX_CLKCMU_CPUCL2_SWITCH		0x10c0
106 #define CLK_CON_MUX_MUX_CLKCMU_CSIS_DCPHY		0x10c4
107 #define CLK_CON_MUX_MUX_CLKCMU_CSIS_NOC			0x10c8
108 #define CLK_CON_MUX_MUX_CLKCMU_CSIS_OIS_MCU		0x10cc
109 #define CLK_CON_MUX_MUX_CLKCMU_CSTAT_NOC		0x10d0
110 #define CLK_CON_MUX_MUX_CLKCMU_DNC_NOC			0x10d4
111 #define CLK_CON_MUX_MUX_CLKCMU_DPUB			0x10d8
112 #define CLK_CON_MUX_MUX_CLKCMU_DPUB_ALT			0x10dc
113 #define CLK_CON_MUX_MUX_CLKCMU_DPUB_DSIM		0x10e0
114 #define CLK_CON_MUX_MUX_CLKCMU_DPUF			0x10e4
115 #define CLK_CON_MUX_MUX_CLKCMU_DPUF_ALT			0x10e8
116 #define CLK_CON_MUX_MUX_CLKCMU_DSP_NOC			0x10f8
117 #define CLK_CON_MUX_MUX_CLKCMU_DSU_SWITCH		0x10fc
118 #define CLK_CON_MUX_MUX_CLKCMU_G3D_NOCP			0x1100
119 #define CLK_CON_MUX_MUX_CLKCMU_G3D_SWITCH		0x1104
120 #define CLK_CON_MUX_MUX_CLKCMU_GNPU_NOC			0x110c
121 #define CLK_CON_MUX_MUX_CLKCMU_HSI0_DPGTC		0x1114
122 #define CLK_CON_MUX_MUX_CLKCMU_HSI0_DPOSC		0x1118
123 #define CLK_CON_MUX_MUX_CLKCMU_HSI0_NOC			0x111c
124 #define CLK_CON_MUX_MUX_CLKCMU_HSI0_USB32DRD		0x1120
125 #define CLK_CON_MUX_MUX_CLKCMU_UFS_MMC_CARD		0x1124
126 #define CLK_CON_MUX_MUX_CLKCMU_HSI1_NOC			0x1128
127 #define CLK_CON_MUX_MUX_CLKCMU_HSI1_PCIE		0x112c
128 #define CLK_CON_MUX_MUX_CLKCMU_UFS_UFS_EMBD		0x1130
129 #define CLK_CON_MUX_MUX_CLKCMU_LME_LME			0x1134
130 #define CLK_CON_MUX_MUX_CLKCMU_LME_NOC			0x1138
131 #define CLK_CON_MUX_MUX_CLKCMU_M2M_NOC			0x1140
132 #define CLK_CON_MUX_MUX_CLKCMU_MCSC_MCSC		0x1148
133 #define CLK_CON_MUX_MUX_CLKCMU_MCSC_NOC			0x114c
134 #define CLK_CON_MUX_MUX_CLKCMU_MFC0_MFC0		0x1150
135 #define CLK_CON_MUX_MUX_CLKCMU_MFC0_WFD			0x1154
136 #define CLK_CON_MUX_MUX_CLKCMU_MFC1_MFC1		0x1158
137 #define CLK_CON_MUX_MUX_CLKCMU_MIF_NOCP			0x115c
138 #define CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH		0x1160
139 #define CLK_CON_MUX_MUX_CLKCMU_NOCL0_NOC		0x1164
140 #define CLK_CON_MUX_MUX_CLKCMU_NOCL1A_NOC		0x1168
141 #define CLK_CON_MUX_MUX_CLKCMU_NOCL1B_NOC0		0x116c
142 #define CLK_CON_MUX_MUX_CLKCMU_NOCL1B_NOC1		0x1170
143 #define CLK_CON_MUX_MUX_CLKCMU_NOCL1C_NOC		0x1174
144 #define CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP0		0x1178
145 #define CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP1		0x117c
146 #define CLK_CON_MUX_MUX_CLKCMU_PERIC0_NOC		0x1180
147 #define CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP0		0x1184
148 #define CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP1		0x1188
149 #define CLK_CON_MUX_MUX_CLKCMU_PERIC1_NOC		0x118c
150 #define CLK_CON_MUX_MUX_CLKCMU_PERIC2_IP0		0x1190
151 #define CLK_CON_MUX_MUX_CLKCMU_PERIC2_IP1		0x1194
152 #define CLK_CON_MUX_MUX_CLKCMU_PERIC2_NOC		0x1198
153 #define CLK_CON_MUX_MUX_CLKCMU_PERIS_GIC		0x119c
154 #define CLK_CON_MUX_MUX_CLKCMU_PERIS_NOC		0x11a0
155 #define CLK_CON_MUX_MUX_CLKCMU_SDMA_NOC			0x11a8
156 #define CLK_CON_MUX_MUX_CLKCMU_SSP_NOC			0x11ac
157 #define CLK_CON_MUX_MUX_CLKCMU_VTS_DMIC			0x11b0
158 #define CLK_CON_MUX_MUX_CLKCMU_YUVP_NOC			0x11b4
159 #define CLK_CON_MUX_MUX_CMU_CMUREF			0x11b8
160 #define CLK_CON_MUX_MUX_CP_HISPEEDY_CLK			0x11bc
161 #define CLK_CON_MUX_MUX_CP_SHARED0_CLK			0x11c0
162 #define CLK_CON_MUX_MUX_CP_SHARED1_CLK			0x11c4
163 #define CLK_CON_MUX_MUX_CP_SHARED2_CLK			0x11c8
164 #define CLK_CON_MUX_CLKCMU_M2M_FRC			0x11cc
165 #define CLK_CON_MUX_CLKCMU_MCSC_MCSC			0x11d0
166 #define CLK_CON_MUX_CLKCMU_MCSC_NOC			0x11d4
167 #define CLK_CON_MUX_MUX_CLKCMU_M2M_FRC			0x11d8
168 #define CLK_CON_MUX_MUX_CLKCMU_UFS_NOC			0x11dc
169 #define CLK_CON_DIV_CLKCMU_ALIVE_NOC			0x1800
170 #define CLK_CON_DIV_CLKCMU_AUD_NOC			0x1804
171 #define CLK_CON_DIV_CLKCMU_BRP_NOC			0x1808
172 #define CLK_CON_DIV_CLKCMU_CMU_BOOST			0x180c
173 #define CLK_CON_DIV_CLKCMU_CMU_BOOST_CAM		0x1810
174 #define CLK_CON_DIV_CLKCMU_CMU_BOOST_CPU		0x1814
175 #define CLK_CON_DIV_CLKCMU_CMU_BOOST_MIF		0x1818
176 #define CLK_CON_DIV_CLKCMU_CPUCL0_NOCP			0x181c
177 #define CLK_CON_DIV_CLKCMU_CSIS_DCPHY			0x1820
178 #define CLK_CON_DIV_CLKCMU_CSIS_NOC			0x1824
179 #define CLK_CON_DIV_CLKCMU_CSIS_OIS_MCU			0x1828
180 #define CLK_CON_DIV_CLKCMU_CSTAT_NOC			0x182c
181 #define CLK_CON_DIV_CLKCMU_DPUB_DSIM			0x1830
182 #define CLK_CON_DIV_CLKCMU_LME_LME			0x1834
183 #define CLK_CON_DIV_CLKCMU_G3D_NOCP			0x1838
184 #define CLK_CON_DIV_CLKCMU_HSI0_DPGTC			0x1840
185 #define CLK_CON_DIV_CLKCMU_HSI0_DPOSC			0x1844
186 #define CLK_CON_DIV_CLKCMU_HSI0_NOC			0x1848
187 #define CLK_CON_DIV_CLKCMU_HSI0_USB32DRD		0x184c
188 #define CLK_CON_DIV_CLKCMU_HSI1_NOC			0x1850
189 #define CLK_CON_DIV_CLKCMU_HSI1_PCIE			0x1854
190 #define CLK_CON_DIV_CLKCMU_UFS_UFS_EMBD			0x1858
191 #define CLK_CON_DIV_CLKCMU_LME_NOC			0x1860
192 #define CLK_CON_DIV_CLKCMU_MFC0_MFC0			0x1874
193 #define CLK_CON_DIV_CLKCMU_MFC0_WFD			0x1878
194 #define CLK_CON_DIV_CLKCMU_MFC1_MFC1			0x187c
195 #define CLK_CON_DIV_CLKCMU_MIF_NOCP			0x1880
196 #define CLK_CON_DIV_CLKCMU_NOCL1B_NOC1			0x1884
197 #define CLK_CON_DIV_CLKCMU_PERIC0_IP0			0x1888
198 #define CLK_CON_DIV_CLKCMU_PERIC0_IP1			0x188c
199 #define CLK_CON_DIV_CLKCMU_PERIC0_NOC			0x1890
200 #define CLK_CON_DIV_CLKCMU_PERIC1_IP0			0x1894
201 #define CLK_CON_DIV_CLKCMU_PERIC1_IP1			0x1898
202 #define CLK_CON_DIV_CLKCMU_PERIC1_NOC			0x189c
203 #define CLK_CON_DIV_CLKCMU_PERIC2_IP0			0x18a0
204 #define CLK_CON_DIV_CLKCMU_PERIC2_IP1			0x18a4
205 #define CLK_CON_DIV_CLKCMU_PERIC2_NOC			0x18a8
206 #define CLK_CON_DIV_CLKCMU_PERIS_GIC			0x18ac
207 #define CLK_CON_DIV_CLKCMU_PERIS_NOC			0x18b0
208 #define CLK_CON_DIV_CLKCMU_SSP_NOC			0x18b8
209 #define CLK_CON_DIV_CLKCMU_VTS_DMIC			0x18bc
210 #define CLK_CON_DIV_CLKCMU_YUVP_NOC			0x18c0
211 #define CLK_CON_DIV_CP_SHARED1_CLK			0x18c4
212 #define CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF0		0x18c8
213 #define CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF0_SM		0x18cc
214 #define CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF1		0x18d0
215 #define CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF1_SM		0x18d4
216 #define CLK_CON_DIV_DIV_CLKCMU_AUD_CPU			0x18d8
217 #define CLK_CON_DIV_DIV_CLKCMU_AUD_CPU_SM		0x18dc
218 #define CLK_CON_DIV_DIV_CLKCMU_CIS_CLK0			0x18e0
219 #define CLK_CON_DIV_DIV_CLKCMU_CIS_CLK1			0x18e4
220 #define CLK_CON_DIV_DIV_CLKCMU_CIS_CLK2			0x18e8
221 #define CLK_CON_DIV_DIV_CLKCMU_CIS_CLK3			0x18ec
222 #define CLK_CON_DIV_DIV_CLKCMU_CIS_CLK4			0x18f0
223 #define CLK_CON_DIV_DIV_CLKCMU_CIS_CLK5			0x18f4
224 #define CLK_CON_DIV_DIV_CLKCMU_CIS_CLK6			0x18f8
225 #define CLK_CON_DIV_DIV_CLKCMU_CIS_CLK7			0x18fc
226 #define CLK_CON_DIV_DIV_CLKCMU_CPUCL0_DBG_NOC		0x1900
227 #define CLK_CON_DIV_DIV_CLKCMU_CPUCL0_DBG_NOC_SM	0x1904
228 #define CLK_CON_DIV_DIV_CLKCMU_CPUCL0_SWITCH		0x1908
229 #define CLK_CON_DIV_DIV_CLKCMU_CPUCL0_SWITCH_SM		0x190c
230 #define CLK_CON_DIV_DIV_CLKCMU_CPUCL1_SWITCH		0x1910
231 #define CLK_CON_DIV_DIV_CLKCMU_CPUCL1_SWITCH_SM		0x1914
232 #define CLK_CON_DIV_DIV_CLKCMU_CPUCL2_SWITCH		0x1918
233 #define CLK_CON_DIV_DIV_CLKCMU_CPUCL2_SWITCH_SM		0x191c
234 #define CLK_CON_DIV_DIV_CLKCMU_DNC_NOC			0x1920
235 #define CLK_CON_DIV_DIV_CLKCMU_DNC_NOC_SM		0x1924
236 #define CLK_CON_DIV_DIV_CLKCMU_DPUB			0x1928
237 #define CLK_CON_DIV_DIV_CLKCMU_DPUB_ALT			0x192c
238 #define CLK_CON_DIV_DIV_CLKCMU_DPUF			0x1930
239 #define CLK_CON_DIV_DIV_CLKCMU_DPUF_ALT			0x1934
240 #define CLK_CON_DIV_DIV_CLKCMU_DSP_NOC			0x1940
241 #define CLK_CON_DIV_DIV_CLKCMU_DSP_NOC_SM		0x1944
242 #define CLK_CON_DIV_DIV_CLKCMU_DSU_SWITCH		0x1948
243 #define CLK_CON_DIV_DIV_CLKCMU_DSU_SWITCH_SM		0x194c
244 #define CLK_CON_DIV_DIV_CLKCMU_G3D_SWITCH		0x1950
245 #define CLK_CON_DIV_DIV_CLKCMU_G3D_SWITCH_SM		0x1954
246 #define CLK_CON_DIV_DIV_CLKCMU_GNPU_NOC			0x1960
247 #define CLK_CON_DIV_DIV_CLKCMU_GNPU_NOC_SM		0x1964
248 #define CLK_CON_DIV_DIV_CLKCMU_UFS_MMC_CARD		0x1968
249 #define CLK_CON_DIV_DIV_CLKCMU_UFS_MMC_CARD_SM		0x196c
250 #define CLK_CON_DIV_DIV_CLKCMU_M2M_NOC			0x1970
251 #define CLK_CON_DIV_DIV_CLKCMU_M2M_NOC_SM		0x1974
252 #define CLK_CON_DIV_DIV_CLKCMU_NOCL0_NOC		0x1978
253 #define CLK_CON_DIV_DIV_CLKCMU_NOCL0_NOC_SM		0x197c
254 #define CLK_CON_DIV_DIV_CLKCMU_NOCL1A_NOC		0x1980
255 #define CLK_CON_DIV_DIV_CLKCMU_NOCL1A_NOC_SM		0x1984
256 #define CLK_CON_DIV_DIV_CLKCMU_NOCL1B_NOC0		0x1988
257 #define CLK_CON_DIV_DIV_CLKCMU_NOCL1B_NOC0_SM		0x198c
258 #define CLK_CON_DIV_DIV_CLKCMU_NOCL1C_NOC		0x1990
259 #define CLK_CON_DIV_DIV_CLKCMU_NOCL1C_NOC_SM		0x1994
260 #define CLK_CON_DIV_DIV_CLKCMU_SDMA_NOC			0x1998
261 #define CLK_CON_DIV_DIV_CLKCMU_SDMA_NOC_SM		0x199c
262 #define CLK_CON_DIV_DIV_CP_HISPEEDY_CLK			0x19a0
263 #define CLK_CON_DIV_DIV_CP_HISPEEDY_CLK_SM		0x19a4
264 #define CLK_CON_DIV_DIV_CP_SHARED0_CLK			0x19a8
265 #define CLK_CON_DIV_DIV_CP_SHARED0_CLK_SM		0x19ac
266 #define CLK_CON_DIV_DIV_CP_SHARED2_CLK			0x19b0
267 #define CLK_CON_DIV_DIV_CP_SHARED2_CLK_SM		0x19b4
268 #define CLK_CON_DIV_CLKCMU_UFS_NOC			0x19b8
269 #define CLK_CON_DIV_DIV_CLKCMU_M2M_FRC			0x19bc
270 #define CLK_CON_DIV_DIV_CLKCMU_M2M_FRC_SM		0x19c0
271 #define CLK_CON_DIV_DIV_CLKCMU_MCSC_MCSC		0x19c4
272 #define CLK_CON_DIV_DIV_CLKCMU_MCSC_MCSC_SM		0x19c8
273 #define CLK_CON_DIV_DIV_CLKCMU_MCSC_NOC			0x19cc
274 #define CLK_CON_DIV_DIV_CLKCMU_MCSC_NOC_SM		0x19d0
275 #define CLK_CON_GAT_CLKCMU_MIF01_SWITCH			0x2000
276 #define CLK_CON_GAT_CLKCMU_MIF23_SWITCH			0x2004
277 #define CLK_CON_GAT_GATE_CLKCMU_ALIVE_NOC		0x200c
278 #define CLK_CON_GAT_GATE_CLKCMU_AUD_AUDIF0		0x2010
279 #define CLK_CON_GAT_GATE_CLKCMU_AUD_AUDIF0_SM		0x2014
280 #define CLK_CON_GAT_GATE_CLKCMU_AUD_AUDIF1		0x2018
281 #define CLK_CON_GAT_GATE_CLKCMU_AUD_AUDIF1_SM		0x201c
282 #define CLK_CON_GAT_GATE_CLKCMU_AUD_CPU			0x2020
283 #define CLK_CON_GAT_GATE_CLKCMU_AUD_CPU_SM		0x2024
284 #define CLK_CON_GAT_GATE_CLKCMU_AUD_NOC			0x2028
285 #define CLK_CON_GAT_GATE_CLKCMU_BRP_NOC			0x202c
286 #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK0		0x2030
287 #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK1		0x2034
288 #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK2		0x2038
289 #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK3		0x203c
290 #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK4		0x2040
291 #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK5		0x2044
292 #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK6		0x2048
293 #define CLK_CON_GAT_GATE_CLKCMU_CIS_CLK7		0x204c
294 #define CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST		0x2050
295 #define CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST_CAM		0x2054
296 #define CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST_CPU		0x2058
297 #define CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST_CPU_MIF	0x205c
298 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_DBG_NOC		0x2060
299 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_DBG_NOC_SM	0x2064
300 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_NOCP		0x2068
301 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH		0x206c
302 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH_SM	0x2070
303 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH		0x2074
304 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH_SM	0x2078
305 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL2_SWITCH		0x207c
306 #define CLK_CON_GAT_GATE_CLKCMU_CPUCL2_SWITCH_SM	0x2080
307 #define CLK_CON_GAT_GATE_CLKCMU_CSIS_DCPHY		0x2084
308 #define CLK_CON_GAT_GATE_CLKCMU_CSIS_NOC		0x2088
309 #define CLK_CON_GAT_GATE_CLKCMU_CSIS_OIS_MCU		0x208c
310 #define CLK_CON_GAT_GATE_CLKCMU_CSTAT_NOC		0x2090
311 #define CLK_CON_GAT_GATE_CLKCMU_DNC_NOC			0x2094
312 #define CLK_CON_GAT_GATE_CLKCMU_DNC_NOC_SM		0x2098
313 #define CLK_CON_GAT_GATE_CLKCMU_DPUB			0x209c
314 #define CLK_CON_GAT_GATE_CLKCMU_DPUB_ALT		0x20a0
315 #define CLK_CON_GAT_GATE_CLKCMU_DPUB_DSIM		0x20a4
316 #define CLK_CON_GAT_GATE_CLKCMU_DPUF			0x20a8
317 #define CLK_CON_GAT_GATE_CLKCMU_DPUF_ALT		0x20ac
318 #define CLK_CON_GAT_GATE_CLKCMU_DSP_NOC			0x20bc
319 #define CLK_CON_GAT_GATE_CLKCMU_DSP_NOC_SM		0x20c0
320 #define CLK_CON_GAT_GATE_CLKCMU_DSU_SWITCH		0x20c4
321 #define CLK_CON_GAT_GATE_CLKCMU_DSU_SWITCH_SM		0x20c8
322 #define CLK_CON_GAT_GATE_CLKCMU_G3D_NOCP		0x20cc
323 #define CLK_CON_GAT_GATE_CLKCMU_G3D_SWITCH		0x20d0
324 #define CLK_CON_GAT_GATE_CLKCMU_G3D_SWITCH_SM		0x20d4
325 #define CLK_CON_GAT_GATE_CLKCMU_GNPU_NOC		0x20e0
326 #define CLK_CON_GAT_GATE_CLKCMU_GNPU_NOC_SM		0x20e4
327 #define CLK_CON_GAT_GATE_CLKCMU_HSI0_DPGTC		0x20ec
328 #define CLK_CON_GAT_GATE_CLKCMU_HSI0_DPOSC		0x20f0
329 #define CLK_CON_GAT_GATE_CLKCMU_HSI0_NOC		0x20f4
330 #define CLK_CON_GAT_GATE_CLKCMU_HSI0_USB32DRD		0x20f8
331 #define CLK_CON_GAT_GATE_CLKCMU_UFS_MMC_CARD		0x20fc
332 #define CLK_CON_GAT_GATE_CLKCMU_UFS_MMC_CARD_SM		0x2100
333 #define CLK_CON_GAT_GATE_CLKCMU_HSI1_NOC		0x2104
334 #define CLK_CON_GAT_GATE_CLKCMU_HSI1_PCIE		0x2108
335 #define CLK_CON_GAT_GATE_CLKCMU_UFS_UFS_EMBD		0x210c
336 #define CLK_CON_GAT_GATE_CLKCMU_LME_LME			0x2110
337 #define CLK_CON_GAT_GATE_CLKCMU_LME_NOC			0x2114
338 #define CLK_CON_GAT_GATE_CLKCMU_M2M_NOC			0x2118
339 #define CLK_CON_GAT_GATE_CLKCMU_M2M_NOC_SM		0x211c
340 #define CLK_CON_GAT_GATE_CLKCMU_MFC0_MFC0		0x212c
341 #define CLK_CON_GAT_GATE_CLKCMU_MFC0_WFD		0x2130
342 #define CLK_CON_GAT_GATE_CLKCMU_MFC1_MFC1		0x2134
343 #define CLK_CON_GAT_GATE_CLKCMU_MIF_NOCP		0x2138
344 #define CLK_CON_GAT_GATE_CLKCMU_NOCL0_NOC		0x213c
345 #define CLK_CON_GAT_GATE_CLKCMU_NOCL0_NOC_SM		0x2140
346 #define CLK_CON_GAT_GATE_CLKCMU_NOCL1A_NOC		0x2144
347 #define CLK_CON_GAT_GATE_CLKCMU_NOCL1A_NOC_SM		0x2148
348 #define CLK_CON_GAT_GATE_CLKCMU_NOCL1B_NOC0		0x214c
349 #define CLK_CON_GAT_GATE_CLKCMU_NOCL1B_NOC0_SM		0x2150
350 #define CLK_CON_GAT_GATE_CLKCMU_NOCL1B_NOC1		0x2154
351 #define CLK_CON_GAT_GATE_CLKCMU_NOCL1C_NOC		0x2158
352 #define CLK_CON_GAT_GATE_CLKCMU_NOCL1C_NOC_SM		0x215c
353 #define CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP0		0x2160
354 #define CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP1		0x2164
355 #define CLK_CON_GAT_GATE_CLKCMU_PERIC0_NOC		0x2168
356 #define CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP0		0x216c
357 #define CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP1		0x2170
358 #define CLK_CON_GAT_GATE_CLKCMU_PERIC1_NOC		0x2174
359 #define CLK_CON_GAT_GATE_CLKCMU_PERIC2_IP0		0x2178
360 #define CLK_CON_GAT_GATE_CLKCMU_PERIC2_IP1		0x217c
361 #define CLK_CON_GAT_GATE_CLKCMU_PERIC2_NOC		0x2180
362 #define CLK_CON_GAT_GATE_CLKCMU_PERIS_GIC		0x2184
363 #define CLK_CON_GAT_GATE_CLKCMU_PERIS_NOC		0x2188
364 #define CLK_CON_GAT_GATE_CLKCMU_SDMA_NOC		0x2190
365 #define CLK_CON_GAT_GATE_CLKCMU_SDMA_NOC_SM		0x2194
366 #define CLK_CON_GAT_GATE_CLKCMU_SSP_NOC			0x2198
367 #define CLK_CON_GAT_GATE_CLKCMU_VTS_DMIC		0x219c
368 #define CLK_CON_GAT_GATE_CLKCMU_YUVP_NOC		0x21a0
369 #define CLK_CON_GAT_GATE_CP_HISPEEDY_CLK		0x21a4
370 #define CLK_CON_GAT_GATE_CP_HISPEEDY_CLK_SM		0x21a8
371 #define CLK_CON_GAT_GATE_CP_SHARED0_CLK			0x21ac
372 #define CLK_CON_GAT_GATE_CP_SHARED0_CLK_SM		0x21b0
373 #define CLK_CON_GAT_GATE_CP_SHARED1_CLK			0x21b4
374 #define CLK_CON_GAT_GATE_CP_SHARED2_CLK			0x21b8
375 #define CLK_CON_GAT_GATE_CP_SHARED2_CLK_SM		0x21bc
376 #define CLK_CON_GAT_GATE_CLKCMU_UFS_NOC			0x21c0
377 #define CLK_CON_GAT_GATE_CLKCMU_M2M_FRC			0x21c4
378 #define CLK_CON_GAT_GATE_CLKCMU_M2M_FRC_SM		0x21c8
379 #define CLK_CON_GAT_GATE_CLKCMU_MCSC_MCSC		0x21cc
380 #define CLK_CON_GAT_GATE_CLKCMU_MCSC_MCSC_SM		0x21d0
381 #define CLK_CON_GAT_GATE_CLKCMU_MCSC_NOC		0x21d4
382 #define CLK_CON_GAT_GATE_CLKCMU_MCSC_NOC_SM		0x21d8
383 
384 static const unsigned long top_clk_regs[] __initconst = {
385 	PLL_LOCKTIME_PLL_MMC,
386 	PLL_LOCKTIME_PLL_SHARED0,
387 	PLL_LOCKTIME_PLL_SHARED1,
388 	PLL_LOCKTIME_PLL_SHARED2,
389 	PLL_LOCKTIME_PLL_SHARED3,
390 	PLL_LOCKTIME_PLL_SHARED4,
391 	PLL_LOCKTIME_PLL_SHARED_MIF,
392 	PLL_CON3_PLL_MMC,
393 	PLL_CON8_PLL_MMC,
394 	PLL_CON3_PLL_SHARED0,
395 	PLL_CON8_PLL_SHARED0,
396 	PLL_CON3_PLL_SHARED1,
397 	PLL_CON8_PLL_SHARED1,
398 	PLL_CON3_PLL_SHARED2,
399 	PLL_CON8_PLL_SHARED2,
400 	PLL_CON3_PLL_SHARED3,
401 	PLL_CON8_PLL_SHARED3,
402 	PLL_CON3_PLL_SHARED4,
403 	PLL_CON8_PLL_SHARED4,
404 	PLL_CON3_PLL_SHARED_MIF,
405 	PLL_CON8_PLL_SHARED_MIF,
406 	PLL_CON0_MUX_CP_MPLL_CLK_D2_USER,
407 	PLL_CON1_MUX_CP_MPLL_CLK_D2_USER,
408 	PLL_CON0_MUX_CP_MPLL_CLK_USER,
409 	PLL_CON1_MUX_CP_MPLL_CLK_USER,
410 	CLK_CON_MUX_CLKCMU_AUD_AUDIF0,
411 	CLK_CON_MUX_CLKCMU_AUD_AUDIF1,
412 	CLK_CON_MUX_CLKCMU_AUD_CPU,
413 	CLK_CON_MUX_CLKCMU_CPUCL0_DBG_NOC,
414 	CLK_CON_MUX_CLKCMU_CPUCL0_SWITCH,
415 	CLK_CON_MUX_CLKCMU_CPUCL1_SWITCH,
416 	CLK_CON_MUX_CLKCMU_CPUCL2_SWITCH,
417 	CLK_CON_MUX_CLKCMU_DNC_NOC,
418 	CLK_CON_MUX_CLKCMU_DPUB_NOC,
419 	CLK_CON_MUX_CLKCMU_DPUF_NOC,
420 	CLK_CON_MUX_CLKCMU_DSP_NOC,
421 	CLK_CON_MUX_CLKCMU_DSU_SWITCH,
422 	CLK_CON_MUX_CLKCMU_G3D_SWITCH,
423 	CLK_CON_MUX_CLKCMU_GNPU_NOC,
424 	CLK_CON_MUX_CLKCMU_UFS_MMC_CARD,
425 	CLK_CON_MUX_CLKCMU_M2M_NOC,
426 	CLK_CON_MUX_CLKCMU_NOCL0_NOC,
427 	CLK_CON_MUX_CLKCMU_NOCL1A_NOC,
428 	CLK_CON_MUX_CLKCMU_NOCL1B_NOC0,
429 	CLK_CON_MUX_CLKCMU_NOCL1C_NOC,
430 	CLK_CON_MUX_CLKCMU_SDMA_NOC,
431 	CLK_CON_MUX_CP_HISPEEDY_CLK,
432 	CLK_CON_MUX_CP_SHARED0_CLK,
433 	CLK_CON_MUX_CP_SHARED2_CLK,
434 	CLK_CON_MUX_MUX_CLKCMU_ALIVE_NOC,
435 	CLK_CON_MUX_MUX_CLKCMU_AUD_AUDIF0,
436 	CLK_CON_MUX_MUX_CLKCMU_AUD_AUDIF1,
437 	CLK_CON_MUX_MUX_CLKCMU_AUD_CPU,
438 	CLK_CON_MUX_MUX_CLKCMU_AUD_NOC,
439 	CLK_CON_MUX_MUX_CLKCMU_BRP_NOC,
440 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK0,
441 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK1,
442 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK2,
443 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK3,
444 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK4,
445 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK5,
446 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK6,
447 	CLK_CON_MUX_MUX_CLKCMU_CIS_CLK7,
448 	CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST,
449 	CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_CAM,
450 	CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_CPU,
451 	CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_MIF,
452 	CLK_CON_MUX_MUX_CLKCMU_CPUCL0_DBG_NOC,
453 	CLK_CON_MUX_MUX_CLKCMU_CPUCL0_NOCP,
454 	CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH,
455 	CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH,
456 	CLK_CON_MUX_MUX_CLKCMU_CPUCL2_SWITCH,
457 	CLK_CON_MUX_MUX_CLKCMU_CSIS_DCPHY,
458 	CLK_CON_MUX_MUX_CLKCMU_CSIS_NOC,
459 	CLK_CON_MUX_MUX_CLKCMU_CSIS_OIS_MCU,
460 	CLK_CON_MUX_MUX_CLKCMU_CSTAT_NOC,
461 	CLK_CON_MUX_MUX_CLKCMU_DNC_NOC,
462 	CLK_CON_MUX_MUX_CLKCMU_DPUB,
463 	CLK_CON_MUX_MUX_CLKCMU_DPUB_ALT,
464 	CLK_CON_MUX_MUX_CLKCMU_DPUB_DSIM,
465 	CLK_CON_MUX_MUX_CLKCMU_DPUF,
466 	CLK_CON_MUX_MUX_CLKCMU_DPUF_ALT,
467 	CLK_CON_MUX_MUX_CLKCMU_DSP_NOC,
468 	CLK_CON_MUX_MUX_CLKCMU_DSU_SWITCH,
469 	CLK_CON_MUX_MUX_CLKCMU_G3D_NOCP,
470 	CLK_CON_MUX_MUX_CLKCMU_G3D_SWITCH,
471 	CLK_CON_MUX_MUX_CLKCMU_GNPU_NOC,
472 	CLK_CON_MUX_MUX_CLKCMU_HSI0_DPGTC,
473 	CLK_CON_MUX_MUX_CLKCMU_HSI0_DPOSC,
474 	CLK_CON_MUX_MUX_CLKCMU_HSI0_NOC,
475 	CLK_CON_MUX_MUX_CLKCMU_HSI0_USB32DRD,
476 	CLK_CON_MUX_MUX_CLKCMU_UFS_MMC_CARD,
477 	CLK_CON_MUX_MUX_CLKCMU_HSI1_NOC,
478 	CLK_CON_MUX_MUX_CLKCMU_HSI1_PCIE,
479 	CLK_CON_MUX_MUX_CLKCMU_UFS_UFS_EMBD,
480 	CLK_CON_MUX_MUX_CLKCMU_LME_LME,
481 	CLK_CON_MUX_MUX_CLKCMU_LME_NOC,
482 	CLK_CON_MUX_MUX_CLKCMU_M2M_NOC,
483 	CLK_CON_MUX_MUX_CLKCMU_MCSC_MCSC,
484 	CLK_CON_MUX_MUX_CLKCMU_MCSC_NOC,
485 	CLK_CON_MUX_MUX_CLKCMU_MFC0_MFC0,
486 	CLK_CON_MUX_MUX_CLKCMU_MFC0_WFD,
487 	CLK_CON_MUX_MUX_CLKCMU_MFC1_MFC1,
488 	CLK_CON_MUX_MUX_CLKCMU_MIF_NOCP,
489 	CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH,
490 	CLK_CON_MUX_MUX_CLKCMU_NOCL0_NOC,
491 	CLK_CON_MUX_MUX_CLKCMU_NOCL1A_NOC,
492 	CLK_CON_MUX_MUX_CLKCMU_NOCL1B_NOC0,
493 	CLK_CON_MUX_MUX_CLKCMU_NOCL1B_NOC1,
494 	CLK_CON_MUX_MUX_CLKCMU_NOCL1C_NOC,
495 	CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP0,
496 	CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP1,
497 	CLK_CON_MUX_MUX_CLKCMU_PERIC0_NOC,
498 	CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP0,
499 	CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP1,
500 	CLK_CON_MUX_MUX_CLKCMU_PERIC1_NOC,
501 	CLK_CON_MUX_MUX_CLKCMU_PERIC2_IP0,
502 	CLK_CON_MUX_MUX_CLKCMU_PERIC2_IP1,
503 	CLK_CON_MUX_MUX_CLKCMU_PERIC2_NOC,
504 	CLK_CON_MUX_MUX_CLKCMU_PERIS_GIC,
505 	CLK_CON_MUX_MUX_CLKCMU_PERIS_NOC,
506 	CLK_CON_MUX_MUX_CLKCMU_SDMA_NOC,
507 	CLK_CON_MUX_MUX_CLKCMU_SSP_NOC,
508 	CLK_CON_MUX_MUX_CLKCMU_VTS_DMIC,
509 	CLK_CON_MUX_MUX_CLKCMU_YUVP_NOC,
510 	CLK_CON_MUX_MUX_CMU_CMUREF,
511 	CLK_CON_MUX_MUX_CP_HISPEEDY_CLK,
512 	CLK_CON_MUX_MUX_CP_SHARED0_CLK,
513 	CLK_CON_MUX_MUX_CP_SHARED1_CLK,
514 	CLK_CON_MUX_MUX_CP_SHARED2_CLK,
515 	CLK_CON_MUX_CLKCMU_M2M_FRC,
516 	CLK_CON_MUX_CLKCMU_MCSC_MCSC,
517 	CLK_CON_MUX_CLKCMU_MCSC_NOC,
518 	CLK_CON_MUX_MUX_CLKCMU_M2M_FRC,
519 	CLK_CON_MUX_MUX_CLKCMU_UFS_NOC,
520 	CLK_CON_DIV_CLKCMU_ALIVE_NOC,
521 	CLK_CON_DIV_CLKCMU_AUD_NOC,
522 	CLK_CON_DIV_CLKCMU_BRP_NOC,
523 	CLK_CON_DIV_CLKCMU_CMU_BOOST,
524 	CLK_CON_DIV_CLKCMU_CMU_BOOST_CAM,
525 	CLK_CON_DIV_CLKCMU_CMU_BOOST_CPU,
526 	CLK_CON_DIV_CLKCMU_CMU_BOOST_MIF,
527 	CLK_CON_DIV_CLKCMU_CPUCL0_NOCP,
528 	CLK_CON_DIV_CLKCMU_CSIS_DCPHY,
529 	CLK_CON_DIV_CLKCMU_CSIS_NOC,
530 	CLK_CON_DIV_CLKCMU_CSIS_OIS_MCU,
531 	CLK_CON_DIV_CLKCMU_CSTAT_NOC,
532 	CLK_CON_DIV_CLKCMU_DPUB_DSIM,
533 	CLK_CON_DIV_CLKCMU_LME_LME,
534 	CLK_CON_DIV_CLKCMU_G3D_NOCP,
535 	CLK_CON_DIV_CLKCMU_HSI0_DPGTC,
536 	CLK_CON_DIV_CLKCMU_HSI0_DPOSC,
537 	CLK_CON_DIV_CLKCMU_HSI0_NOC,
538 	CLK_CON_DIV_CLKCMU_HSI0_USB32DRD,
539 	CLK_CON_DIV_CLKCMU_HSI1_NOC,
540 	CLK_CON_DIV_CLKCMU_HSI1_PCIE,
541 	CLK_CON_DIV_CLKCMU_UFS_UFS_EMBD,
542 	CLK_CON_DIV_CLKCMU_LME_NOC,
543 	CLK_CON_DIV_CLKCMU_MFC0_MFC0,
544 	CLK_CON_DIV_CLKCMU_MFC0_WFD,
545 	CLK_CON_DIV_CLKCMU_MFC1_MFC1,
546 	CLK_CON_DIV_CLKCMU_MIF_NOCP,
547 	CLK_CON_DIV_CLKCMU_NOCL1B_NOC1,
548 	CLK_CON_DIV_CLKCMU_PERIC0_IP0,
549 	CLK_CON_DIV_CLKCMU_PERIC0_IP1,
550 	CLK_CON_DIV_CLKCMU_PERIC0_NOC,
551 	CLK_CON_DIV_CLKCMU_PERIC1_IP0,
552 	CLK_CON_DIV_CLKCMU_PERIC1_IP1,
553 	CLK_CON_DIV_CLKCMU_PERIC1_NOC,
554 	CLK_CON_DIV_CLKCMU_PERIC2_IP0,
555 	CLK_CON_DIV_CLKCMU_PERIC2_IP1,
556 	CLK_CON_DIV_CLKCMU_PERIC2_NOC,
557 	CLK_CON_DIV_CLKCMU_PERIS_GIC,
558 	CLK_CON_DIV_CLKCMU_PERIS_NOC,
559 	CLK_CON_DIV_CLKCMU_SSP_NOC,
560 	CLK_CON_DIV_CLKCMU_VTS_DMIC,
561 	CLK_CON_DIV_CLKCMU_YUVP_NOC,
562 	CLK_CON_DIV_CP_SHARED1_CLK,
563 	CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF0,
564 	CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF0_SM,
565 	CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF1,
566 	CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF1_SM,
567 	CLK_CON_DIV_DIV_CLKCMU_AUD_CPU,
568 	CLK_CON_DIV_DIV_CLKCMU_AUD_CPU_SM,
569 	CLK_CON_DIV_DIV_CLKCMU_CIS_CLK0,
570 	CLK_CON_DIV_DIV_CLKCMU_CIS_CLK1,
571 	CLK_CON_DIV_DIV_CLKCMU_CIS_CLK2,
572 	CLK_CON_DIV_DIV_CLKCMU_CIS_CLK3,
573 	CLK_CON_DIV_DIV_CLKCMU_CIS_CLK4,
574 	CLK_CON_DIV_DIV_CLKCMU_CIS_CLK5,
575 	CLK_CON_DIV_DIV_CLKCMU_CIS_CLK6,
576 	CLK_CON_DIV_DIV_CLKCMU_CIS_CLK7,
577 	CLK_CON_DIV_DIV_CLKCMU_CPUCL0_DBG_NOC,
578 	CLK_CON_DIV_DIV_CLKCMU_CPUCL0_DBG_NOC_SM,
579 	CLK_CON_DIV_DIV_CLKCMU_CPUCL0_SWITCH,
580 	CLK_CON_DIV_DIV_CLKCMU_CPUCL0_SWITCH_SM,
581 	CLK_CON_DIV_DIV_CLKCMU_CPUCL1_SWITCH,
582 	CLK_CON_DIV_DIV_CLKCMU_CPUCL1_SWITCH_SM,
583 	CLK_CON_DIV_DIV_CLKCMU_CPUCL2_SWITCH,
584 	CLK_CON_DIV_DIV_CLKCMU_CPUCL2_SWITCH_SM,
585 	CLK_CON_DIV_DIV_CLKCMU_DNC_NOC,
586 	CLK_CON_DIV_DIV_CLKCMU_DNC_NOC_SM,
587 	CLK_CON_DIV_DIV_CLKCMU_DPUB,
588 	CLK_CON_DIV_DIV_CLKCMU_DPUB_ALT,
589 	CLK_CON_DIV_DIV_CLKCMU_DPUF,
590 	CLK_CON_DIV_DIV_CLKCMU_DPUF_ALT,
591 	CLK_CON_DIV_DIV_CLKCMU_DSP_NOC,
592 	CLK_CON_DIV_DIV_CLKCMU_DSP_NOC_SM,
593 	CLK_CON_DIV_DIV_CLKCMU_DSU_SWITCH,
594 	CLK_CON_DIV_DIV_CLKCMU_DSU_SWITCH_SM,
595 	CLK_CON_DIV_DIV_CLKCMU_G3D_SWITCH,
596 	CLK_CON_DIV_DIV_CLKCMU_G3D_SWITCH_SM,
597 	CLK_CON_DIV_DIV_CLKCMU_GNPU_NOC,
598 	CLK_CON_DIV_DIV_CLKCMU_GNPU_NOC_SM,
599 	CLK_CON_DIV_DIV_CLKCMU_UFS_MMC_CARD,
600 	CLK_CON_DIV_DIV_CLKCMU_UFS_MMC_CARD_SM,
601 	CLK_CON_DIV_DIV_CLKCMU_M2M_NOC,
602 	CLK_CON_DIV_DIV_CLKCMU_M2M_NOC_SM,
603 	CLK_CON_DIV_DIV_CLKCMU_NOCL0_NOC,
604 	CLK_CON_DIV_DIV_CLKCMU_NOCL0_NOC_SM,
605 	CLK_CON_DIV_DIV_CLKCMU_NOCL1A_NOC,
606 	CLK_CON_DIV_DIV_CLKCMU_NOCL1A_NOC_SM,
607 	CLK_CON_DIV_DIV_CLKCMU_NOCL1B_NOC0,
608 	CLK_CON_DIV_DIV_CLKCMU_NOCL1B_NOC0_SM,
609 	CLK_CON_DIV_DIV_CLKCMU_NOCL1C_NOC,
610 	CLK_CON_DIV_DIV_CLKCMU_NOCL1C_NOC_SM,
611 	CLK_CON_DIV_DIV_CLKCMU_SDMA_NOC,
612 	CLK_CON_DIV_DIV_CLKCMU_SDMA_NOC_SM,
613 	CLK_CON_DIV_DIV_CP_HISPEEDY_CLK,
614 	CLK_CON_DIV_DIV_CP_HISPEEDY_CLK_SM,
615 	CLK_CON_DIV_DIV_CP_SHARED0_CLK,
616 	CLK_CON_DIV_DIV_CP_SHARED0_CLK_SM,
617 	CLK_CON_DIV_DIV_CP_SHARED2_CLK,
618 	CLK_CON_DIV_DIV_CP_SHARED2_CLK_SM,
619 	CLK_CON_DIV_CLKCMU_UFS_NOC,
620 	CLK_CON_DIV_DIV_CLKCMU_M2M_FRC,
621 	CLK_CON_DIV_DIV_CLKCMU_M2M_FRC_SM,
622 	CLK_CON_DIV_DIV_CLKCMU_MCSC_MCSC,
623 	CLK_CON_DIV_DIV_CLKCMU_MCSC_MCSC_SM,
624 	CLK_CON_DIV_DIV_CLKCMU_MCSC_NOC,
625 	CLK_CON_DIV_DIV_CLKCMU_MCSC_NOC_SM,
626 	CLK_CON_GAT_CLKCMU_MIF01_SWITCH,
627 	CLK_CON_GAT_CLKCMU_MIF23_SWITCH,
628 	CLK_CON_GAT_GATE_CLKCMU_ALIVE_NOC,
629 	CLK_CON_GAT_GATE_CLKCMU_AUD_AUDIF0,
630 	CLK_CON_GAT_GATE_CLKCMU_AUD_AUDIF0_SM,
631 	CLK_CON_GAT_GATE_CLKCMU_AUD_AUDIF1,
632 	CLK_CON_GAT_GATE_CLKCMU_AUD_AUDIF1_SM,
633 	CLK_CON_GAT_GATE_CLKCMU_AUD_CPU,
634 	CLK_CON_GAT_GATE_CLKCMU_AUD_CPU_SM,
635 	CLK_CON_GAT_GATE_CLKCMU_AUD_NOC,
636 	CLK_CON_GAT_GATE_CLKCMU_BRP_NOC,
637 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK0,
638 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK1,
639 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK2,
640 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK3,
641 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK4,
642 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK5,
643 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK6,
644 	CLK_CON_GAT_GATE_CLKCMU_CIS_CLK7,
645 	CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST,
646 	CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST_CAM,
647 	CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST_CPU,
648 	CLK_CON_GAT_GATE_CLKCMU_CMU_BOOST_CPU_MIF,
649 	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_DBG_NOC,
650 	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_DBG_NOC_SM,
651 	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_NOCP,
652 	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH,
653 	CLK_CON_GAT_GATE_CLKCMU_CPUCL0_SWITCH_SM,
654 	CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH,
655 	CLK_CON_GAT_GATE_CLKCMU_CPUCL1_SWITCH_SM,
656 	CLK_CON_GAT_GATE_CLKCMU_CPUCL2_SWITCH,
657 	CLK_CON_GAT_GATE_CLKCMU_CPUCL2_SWITCH_SM,
658 	CLK_CON_GAT_GATE_CLKCMU_CSIS_DCPHY,
659 	CLK_CON_GAT_GATE_CLKCMU_CSIS_NOC,
660 	CLK_CON_GAT_GATE_CLKCMU_CSIS_OIS_MCU,
661 	CLK_CON_GAT_GATE_CLKCMU_CSTAT_NOC,
662 	CLK_CON_GAT_GATE_CLKCMU_DNC_NOC,
663 	CLK_CON_GAT_GATE_CLKCMU_DNC_NOC_SM,
664 	CLK_CON_GAT_GATE_CLKCMU_DPUB,
665 	CLK_CON_GAT_GATE_CLKCMU_DPUB_ALT,
666 	CLK_CON_GAT_GATE_CLKCMU_DPUB_DSIM,
667 	CLK_CON_GAT_GATE_CLKCMU_DPUF,
668 	CLK_CON_GAT_GATE_CLKCMU_DPUF_ALT,
669 	CLK_CON_GAT_GATE_CLKCMU_DSP_NOC,
670 	CLK_CON_GAT_GATE_CLKCMU_DSP_NOC_SM,
671 	CLK_CON_GAT_GATE_CLKCMU_DSU_SWITCH,
672 	CLK_CON_GAT_GATE_CLKCMU_DSU_SWITCH_SM,
673 	CLK_CON_GAT_GATE_CLKCMU_G3D_NOCP,
674 	CLK_CON_GAT_GATE_CLKCMU_G3D_SWITCH,
675 	CLK_CON_GAT_GATE_CLKCMU_G3D_SWITCH_SM,
676 	CLK_CON_GAT_GATE_CLKCMU_GNPU_NOC,
677 	CLK_CON_GAT_GATE_CLKCMU_GNPU_NOC_SM,
678 	CLK_CON_GAT_GATE_CLKCMU_HSI0_DPGTC,
679 	CLK_CON_GAT_GATE_CLKCMU_HSI0_DPOSC,
680 	CLK_CON_GAT_GATE_CLKCMU_HSI0_NOC,
681 	CLK_CON_GAT_GATE_CLKCMU_HSI0_USB32DRD,
682 	CLK_CON_GAT_GATE_CLKCMU_UFS_MMC_CARD,
683 	CLK_CON_GAT_GATE_CLKCMU_UFS_MMC_CARD_SM,
684 	CLK_CON_GAT_GATE_CLKCMU_HSI1_NOC,
685 	CLK_CON_GAT_GATE_CLKCMU_HSI1_PCIE,
686 	CLK_CON_GAT_GATE_CLKCMU_UFS_UFS_EMBD,
687 	CLK_CON_GAT_GATE_CLKCMU_LME_LME,
688 	CLK_CON_GAT_GATE_CLKCMU_LME_NOC,
689 	CLK_CON_GAT_GATE_CLKCMU_M2M_NOC,
690 	CLK_CON_GAT_GATE_CLKCMU_M2M_NOC_SM,
691 	CLK_CON_GAT_GATE_CLKCMU_MFC0_MFC0,
692 	CLK_CON_GAT_GATE_CLKCMU_MFC0_WFD,
693 	CLK_CON_GAT_GATE_CLKCMU_MFC1_MFC1,
694 	CLK_CON_GAT_GATE_CLKCMU_MIF_NOCP,
695 	CLK_CON_GAT_GATE_CLKCMU_NOCL0_NOC,
696 	CLK_CON_GAT_GATE_CLKCMU_NOCL0_NOC_SM,
697 	CLK_CON_GAT_GATE_CLKCMU_NOCL1A_NOC,
698 	CLK_CON_GAT_GATE_CLKCMU_NOCL1A_NOC_SM,
699 	CLK_CON_GAT_GATE_CLKCMU_NOCL1B_NOC0,
700 	CLK_CON_GAT_GATE_CLKCMU_NOCL1B_NOC0_SM,
701 	CLK_CON_GAT_GATE_CLKCMU_NOCL1B_NOC1,
702 	CLK_CON_GAT_GATE_CLKCMU_NOCL1C_NOC,
703 	CLK_CON_GAT_GATE_CLKCMU_NOCL1C_NOC_SM,
704 	CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP0,
705 	CLK_CON_GAT_GATE_CLKCMU_PERIC0_IP1,
706 	CLK_CON_GAT_GATE_CLKCMU_PERIC0_NOC,
707 	CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP0,
708 	CLK_CON_GAT_GATE_CLKCMU_PERIC1_IP1,
709 	CLK_CON_GAT_GATE_CLKCMU_PERIC1_NOC,
710 	CLK_CON_GAT_GATE_CLKCMU_PERIC2_IP0,
711 	CLK_CON_GAT_GATE_CLKCMU_PERIC2_IP1,
712 	CLK_CON_GAT_GATE_CLKCMU_PERIC2_NOC,
713 	CLK_CON_GAT_GATE_CLKCMU_PERIS_GIC,
714 	CLK_CON_GAT_GATE_CLKCMU_PERIS_NOC,
715 	CLK_CON_GAT_GATE_CLKCMU_SDMA_NOC,
716 	CLK_CON_GAT_GATE_CLKCMU_SDMA_NOC_SM,
717 	CLK_CON_GAT_GATE_CLKCMU_SSP_NOC,
718 	CLK_CON_GAT_GATE_CLKCMU_VTS_DMIC,
719 	CLK_CON_GAT_GATE_CLKCMU_YUVP_NOC,
720 	CLK_CON_GAT_GATE_CP_HISPEEDY_CLK,
721 	CLK_CON_GAT_GATE_CP_HISPEEDY_CLK_SM,
722 	CLK_CON_GAT_GATE_CP_SHARED0_CLK,
723 	CLK_CON_GAT_GATE_CP_SHARED0_CLK_SM,
724 	CLK_CON_GAT_GATE_CP_SHARED1_CLK,
725 	CLK_CON_GAT_GATE_CP_SHARED2_CLK,
726 	CLK_CON_GAT_GATE_CP_SHARED2_CLK_SM,
727 	CLK_CON_GAT_GATE_CLKCMU_UFS_NOC,
728 	CLK_CON_GAT_GATE_CLKCMU_M2M_FRC,
729 	CLK_CON_GAT_GATE_CLKCMU_M2M_FRC_SM,
730 	CLK_CON_GAT_GATE_CLKCMU_MCSC_MCSC,
731 	CLK_CON_GAT_GATE_CLKCMU_MCSC_MCSC_SM,
732 	CLK_CON_GAT_GATE_CLKCMU_MCSC_NOC,
733 	CLK_CON_GAT_GATE_CLKCMU_MCSC_NOC_SM,
734 };
735 
736 /* List of parent clocks for Muxes in CMU_TOP */
737 PNAME(mout_cmu_cp_mpll_clk_d2_user_parents)	= { "oscclk" };
738 PNAME(mout_cmu_cp_mpll_clk_user_parents)	= { "oscclk" };
739 PNAME(mout_cmu_aud_audif0_p)			= { "dout_shared0_div1",
740 						    "dout_shared1_div1",
741 						    "dout_shared3_div1",
742 						    "dout_shared4_div1",
743 						    "mout_cmu_cp_mpll_clk_d2_user",
744 						    "oscclk", "oscclk",
745 						    "oscclk" };
746 PNAME(mout_cmu_aud_audif1_p)			= { "dout_shared0_div1",
747 						    "dout_shared1_div1",
748 						    "dout_shared3_div1",
749 						    "dout_shared4_div1",
750 						    "mout_cmu_cp_mpll_clk_d2_user",
751 						    "oscclk", "oscclk",
752 						    "oscclk" };
753 PNAME(mout_cmu_aud_cpu_p)			= { "dout_shared0_div1",
754 						    "dout_shared1_div1",
755 						    "dout_shared2_div1",
756 						    "dout_shared3_div1",
757 						    "dout_shared4_div1",
758 						    "dout_shared0_div2",
759 						    "dout_shared1_div2",
760 						    "mout_cmu_cp_mpll_clk_d2_user" };
761 PNAME(mout_cmu_cpucl0_dbg_noc_p)		= { "dout_shared2_div1",
762 						    "dout_shared4_div1",
763 						    "dout_shared0_div2",
764 						    "dout_shared1_div2" };
765 PNAME(mout_cmu_cpucl0_switch_p)			= { "dout_shared0_div1",
766 						    "dout_shared1_div1",
767 						    "dout_shared2_div1",
768 						    "dout_shared3_div1",
769 						    "dout_shared4_div1",
770 						    "dout_shared0_div2",
771 						    "oscclk", "oscclk" };
772 PNAME(mout_cmu_cpucl1_switch_p)			= { "dout_shared0_div1",
773 						    "dout_shared1_div1",
774 						    "dout_shared2_div1",
775 						    "dout_shared3_div1",
776 						    "dout_shared4_div1",
777 						    "dout_shared0_div2",
778 						    "oscclk", "oscclk" };
779 PNAME(mout_cmu_cpucl2_switch_p)			= { "dout_shared0_div1",
780 						    "dout_shared1_div1",
781 						    "dout_shared2_div1",
782 						    "dout_shared3_div1",
783 						    "dout_shared4_div1",
784 						    "dout_shared0_div2",
785 						    "oscclk", "oscclk" };
786 PNAME(mout_cmu_dnc_noc_p)			= { "dout_shared0_div1",
787 						    "dout_shared1_div1",
788 						    "dout_shared2_div1",
789 						    "dout_shared3_div1",
790 						    "dout_shared4_div1",
791 						    "dout_shared0_div2",
792 						    "dout_shared1_div2",
793 						    "oscclk" };
794 PNAME(mout_cmu_dpub_noc_p)			= { "dout_cmu_div_dpub",
795 						    "dout_cmu_div_dpub_alt"};
796 PNAME(mout_cmu_dpuf_noc_p)			= { "dout_cmu_div_dpuf",
797 						    "dout_cmu_div_dpuf_alt" };
798 PNAME(mout_cmu_dsp_noc_p)			= { "dout_shared0_div1",
799 						    "dout_shared1_div1",
800 						    "dout_shared2_div1",
801 						    "dout_shared3_div1",
802 						    "dout_shared4_div1",
803 						    "dout_shared0_div2",
804 						    "dout_shared1_div2",
805 						    "oscclk" };
806 PNAME(mout_cmu_dsu_switch_p)			= { "dout_shared0_div1",
807 						    "dout_shared1_div1",
808 						    "dout_shared2_div1",
809 						    "dout_shared3_div1",
810 						    "dout_shared4_div1",
811 						    "dout_shared0_div2",
812 						    "oscclk", "oscclk" };
813 PNAME(mout_cmu_g3d_switch_p)			= { "dout_shared0_div1",
814 						    "dout_shared1_div1",
815 						    "dout_shared2_div1",
816 						    "dout_shared3_div1",
817 						    "dout_shared4_div1",
818 						    "dout_shared0_div2",
819 						    "dout_shared1_div2",
820 						    "dout_shared2_div2" };
821 PNAME(mout_cmu_gnpu_noc_p)			= { "dout_shared0_div1",
822 						    "dout_shared1_div1",
823 						    "dout_shared2_div1",
824 						    "dout_shared3_div1",
825 						    "dout_shared4_div1",
826 						    "dout_shared0_div2",
827 						    "dout_shared1_div2",
828 						    "oscclk" };
829 PNAME(mout_cmu_ufs_mmc_card_p)			= { "oscclk",
830 						    "dout_shared2_div1",
831 						    "dout_mmc_div1",
832 						    "dout_shared0_div2" };
833 PNAME(mout_cmu_m2m_noc_p)			= { "dout_shared2_div1",
834 						    "dout_shared3_div1",
835 						    "dout_shared4_div1",
836 						    "dout_shared0_div2",
837 						    "dout_shared1_div2",
838 						    "dout_shared2_div2",
839 						    "dout_shared3_div2",
840 						    "oscclk" };
841 PNAME(mout_cmu_nocl0_noc_p)			= { "dout_shared0_div1",
842 						    "dout_shared1_div1",
843 						    "dout_shared2_div1",
844 						    "dout_shared3_div1",
845 						    "dout_shared4_div1",
846 						    "dout_shared0_div2",
847 						    "mout_cmu_cp_mpll_clk_d2_user",
848 						    "dout_shared_mif_div2" };
849 PNAME(mout_cmu_nocl1a_noc_p)			= { "dout_shared2_div1",
850 						    "dout_shared3_div1",
851 						    "dout_shared4_div1",
852 						    "dout_shared0_div2",
853 						    "dout_shared1_div2",
854 						    "dout_shared2_div2",
855 						    "dout_shared3_div2",
856 						    "dout_shared4_div2" };
857 PNAME(mout_cmu_nocl1b_noc0_p)			= { "dout_shared2_div1",
858 						    "dout_shared3_div1",
859 						    "dout_shared4_div1",
860 						    "dout_shared0_div2",
861 						    "dout_shared1_div2",
862 						    "dout_shared2_div2",
863 						    "dout_shared3_div2",
864 						    "dout_shared4_div2" };
865 PNAME(mout_cmu_nocl1c_noc_p)			= { "dout_shared2_div1",
866 						    "dout_shared3_div1",
867 						    "dout_shared4_div1",
868 						    "dout_shared0_div2",
869 						    "dout_shared1_div2",
870 						    "dout_shared2_div2",
871 						    "dout_shared3_div2",
872 						    "dout_shared4_div2" };
873 PNAME(mout_cmu_sdma_noc_p)			= { "dout_shared0_div1",
874 						    "dout_shared1_div1",
875 						    "dout_shared2_div1",
876 						    "dout_shared3_div1",
877 						    "dout_shared4_div1",
878 						    "dout_shared0_div2",
879 						    "dout_shared1_div2",
880 						    "oscclk" };
881 PNAME(mout_cmu_cp_hispeedy_clk_p)		= { "dout_shared2_div1",
882 						    "dout_shared3_div1" };
883 PNAME(mout_cmu_cp_shared0_clk_p)		= { "dout_shared0_div1",
884 						    "dout_shared1_div1",
885 						    "dout_shared2_div1",
886 						    "dout_shared3_div1" };
887 PNAME(mout_cmu_cp_shared2_clk_p)		= { "dout_shared2_div1",
888 						    "dout_shared3_div1",
889 						    "dout_shared4_div1",
890 						    "dout_shared1_div2" };
891 PNAME(mout_cmu_mux_alive_noc_p)			= { "dout_shared0_div2",
892 						    "dout_shared2_div2" };
893 PNAME(mout_cmu_mux_aud_audif0_p)		= { "dout_shared0_div1",
894 						    "dout_shared1_div1",
895 						    "dout_shared3_div1",
896 						    "dout_shared4_div1",
897 						    "mout_cmu_cp_mpll_clk_d2_user",
898 						    "oscclk", "oscclk",
899 						    "oscclk" };
900 PNAME(mout_cmu_mux_aud_audif1_p)		= { "dout_shared0_div1",
901 						    "dout_shared1_div1",
902 						    "dout_shared3_div1",
903 						    "dout_shared4_div1",
904 						    "mout_cmu_cp_mpll_clk_d2_user",
905 						    "oscclk", "oscclk",
906 						    "oscclk" };
907 PNAME(mout_cmu_mux_aud_cpu_p)			= { "dout_shared0_div1",
908 						    "dout_shared1_div1",
909 						    "dout_shared2_div1",
910 						    "dout_shared3_div1",
911 						    "dout_shared4_div1",
912 						    "dout_shared0_div2",
913 						    "dout_shared1_div2",
914 						    "mout_cmu_cp_mpll_clk_d2_user" };
915 PNAME(mout_cmu_mux_aud_noc_p)			= { "dout_shared4_div1",
916 						    "dout_shared0_div2",
917 						    "dout_shared1_div2",
918 						    "dout_shared2_div2",
919 						    "dout_shared3_div2",
920 						    "mout_cmu_cp_mpll_clk_d2_user",
921 						    "oscclk", "oscclk" };
922 PNAME(mout_cmu_mux_brp_noc_p)			= { "dout_shared2_div1",
923 						    "dout_shared3_div1",
924 						    "dout_shared4_div1",
925 						    "dout_shared0_div2",
926 						    "dout_shared1_div2",
927 						    "dout_shared2_div2",
928 						    "dout_shared3_div2",
929 						    "oscclk" };
930 PNAME(mout_cmu_mux_cis_clk0_p)			= { "oscclk",
931 						    "dout_shared2_div2" };
932 PNAME(mout_cmu_mux_cis_clk1_p)			= { "oscclk",
933 						    "dout_shared2_div2" };
934 PNAME(mout_cmu_mux_cis_clk2_p)			= { "oscclk",
935 						    "dout_shared2_div2" };
936 PNAME(mout_cmu_mux_cis_clk3_p)			= { "oscclk",
937 						    "dout_shared2_div2" };
938 PNAME(mout_cmu_mux_cis_clk4_p)			= { "oscclk",
939 						    "dout_shared2_div2" };
940 PNAME(mout_cmu_mux_cis_clk5_p)			= { "oscclk",
941 						    "dout_shared2_div2" };
942 PNAME(mout_cmu_mux_cis_clk6_p)			= { "oscclk",
943 						    "dout_shared2_div2" };
944 PNAME(mout_cmu_mux_cis_clk7_p)			= { "oscclk",
945 						    "dout_shared2_div2" };
946 PNAME(mout_cmu_mux_cmu_boost_p)			= { "dout_shared0_div2",
947 						    "dout_shared1_div2",
948 						    "dout_shared2_div2",
949 						    "dout_shared4_div2" };
950 PNAME(mout_cmu_mux_cmu_boost_cam_p)		= { "dout_shared0_div2",
951 						    "dout_shared1_div2",
952 						    "dout_shared2_div2",
953 						    "dout_shared4_div2" };
954 PNAME(mout_cmu_mux_cmu_boost_cpu_p)		= { "dout_shared0_div2",
955 						    "dout_shared1_div2",
956 						    "dout_shared2_div2",
957 						    "dout_shared4_div2" };
958 PNAME(mout_cmu_mux_cmu_boost_mif_p)		= { "dout_shared0_div2",
959 						    "dout_shared1_div2",
960 						    "dout_shared2_div2",
961 						    "dout_shared4_div2" };
962 PNAME(mout_cmu_mux_cpucl0_dbg_noc_p)		= { "dout_shared2_div1",
963 						    "dout_shared4_div1",
964 						    "dout_shared0_div2",
965 						    "dout_shared1_div2" };
966 PNAME(mout_cmu_mux_cpucl0_nocp_p)		= { "dout_shared0_div2",
967 						    "dout_shared1_div2",
968 						    "dout_shared2_div2",
969 						    "dout_shared4_div2" };
970 PNAME(mout_cmu_mux_cpucl0_switch_p)		= { "dout_shared0_div1",
971 						    "dout_shared1_div1",
972 						    "dout_shared2_div1",
973 						    "dout_shared3_div1",
974 						    "dout_shared4_div1",
975 						    "dout_shared0_div2",
976 						    "oscclk", "oscclk" };
977 PNAME(mout_cmu_mux_cpucl1_switch_p)		= { "dout_shared0_div1",
978 						    "dout_shared1_div1",
979 						    "dout_shared2_div1",
980 						    "dout_shared3_div1",
981 						    "dout_shared4_div1",
982 						    "dout_shared0_div2",
983 						    "oscclk", "oscclk" };
984 PNAME(mout_cmu_mux_cpucl2_switch_p)		= { "dout_shared0_div1",
985 						    "dout_shared1_div1",
986 						    "dout_shared2_div1",
987 						    "dout_shared3_div1",
988 						    "dout_shared4_div1",
989 						    "dout_shared0_div2",
990 						    "oscclk", "oscclk" };
991 PNAME(mout_cmu_mux_csis_dcphy_p)		= { "dout_shared0_div2",
992 						    "dout_shared1_div2",
993 						    "dout_shared2_div2",
994 						    "dout_shared4_div2" };
995 PNAME(mout_cmu_mux_csis_noc_p)			= { "dout_shared2_div1",
996 						    "dout_shared3_div1",
997 						    "dout_shared4_div1",
998 						    "dout_shared0_div2",
999 						    "dout_shared1_div2",
1000 						    "dout_shared2_div2",
1001 						    "dout_shared3_div2",
1002 						    "oscclk" };
1003 PNAME(mout_cmu_mux_csis_ois_mcu_p)		= { "dout_shared0_div2",
1004 						    "dout_shared2_div2" };
1005 PNAME(mout_cmu_mux_cstat_noc_p)			= { "dout_shared2_div1",
1006 						    "dout_shared3_div1",
1007 						    "dout_shared4_div1",
1008 						    "dout_shared0_div2",
1009 						    "dout_shared1_div2",
1010 						    "dout_shared2_div2",
1011 						    "dout_shared3_div2",
1012 						    "oscclk" };
1013 PNAME(mout_cmu_mux_dnc_noc_p)			= { "dout_shared0_div1",
1014 						    "dout_shared1_div1",
1015 						    "dout_shared2_div1",
1016 						    "dout_shared3_div1",
1017 						    "dout_shared4_div1",
1018 						    "dout_shared0_div2",
1019 						    "dout_shared1_div2",
1020 						    "oscclk" };
1021 PNAME(mout_cmu_mux_dpub_p)			= { "dout_shared2_div1",
1022 						    "dout_shared3_div1",
1023 						    "dout_shared4_div1",
1024 						    "dout_shared0_div2",
1025 						    "dout_shared1_div2",
1026 						    "dout_shared2_div2",
1027 						    "oscclk", "oscclk" };
1028 PNAME(mout_cmu_mux_dpub_alt_p)			= { "dout_shared2_div1",
1029 						    "dout_shared3_div1",
1030 						    "dout_shared4_div1",
1031 						    "dout_shared0_div2",
1032 						    "dout_shared1_div2",
1033 						    "dout_shared2_div2",
1034 						    "oscclk", "oscclk" };
1035 PNAME(mout_cmu_mux_dpub_dsim_p)			= { "dout_shared0_div2",
1036 						    "dout_shared1_div2",
1037 						    "dout_shared2_div2",
1038 						    "dout_shared3_div2" };
1039 PNAME(mout_cmu_mux_dpuf_p)			= { "dout_shared2_div1",
1040 						    "dout_shared3_div1",
1041 						    "dout_shared4_div1",
1042 						    "dout_shared0_div2",
1043 						    "dout_shared1_div2",
1044 						    "dout_shared2_div2",
1045 						    "oscclk", "oscclk" };
1046 PNAME(mout_cmu_mux_dpuf_alt_p)			= { "dout_shared2_div1",
1047 						    "dout_shared3_div1",
1048 						    "dout_shared4_div1",
1049 						    "dout_shared0_div2",
1050 						    "dout_shared1_div2",
1051 						    "dout_shared2_div2",
1052 						    "oscclk", "oscclk" };
1053 PNAME(mout_cmu_mux_dsp_noc_p)			= { "dout_shared0_div1",
1054 						    "dout_shared1_div1",
1055 						    "dout_shared2_div1",
1056 						    "dout_shared3_div1",
1057 						    "dout_shared4_div1",
1058 						    "dout_shared0_div2",
1059 						    "dout_shared1_div2",
1060 						    "oscclk" };
1061 PNAME(mout_cmu_mux_dsu_switch_p)		= { "dout_shared0_div1",
1062 						    "dout_shared1_div1",
1063 						    "dout_shared2_div1",
1064 						    "dout_shared3_div1",
1065 						    "dout_shared4_div1",
1066 						    "dout_shared0_div2",
1067 						    "oscclk", "oscclk" };
1068 PNAME(mout_cmu_mux_g3d_nocp_p)			= { "dout_shared0_div2",
1069 						    "dout_shared1_div2",
1070 						    "dout_shared2_div2",
1071 						    "dout_shared4_div2" };
1072 PNAME(mout_cmu_mux_g3d_switch_p)		= { "dout_shared0_div1",
1073 						    "dout_shared1_div1",
1074 						    "dout_shared2_div1",
1075 						    "dout_shared3_div1",
1076 						    "dout_shared4_div1",
1077 						    "dout_shared0_div2",
1078 						    "dout_shared1_div2",
1079 						    "dout_shared2_div2" };
1080 PNAME(mout_cmu_mux_gnpu_noc_p)			= { "dout_shared0_div1",
1081 						    "dout_shared1_div1",
1082 						    "dout_shared2_div1",
1083 						    "dout_shared3_div1",
1084 						    "dout_shared4_div1",
1085 						    "dout_shared0_div2",
1086 						    "dout_shared1_div2",
1087 						    "oscclk" };
1088 PNAME(mout_cmu_mux_hsi0_dpgtc_p)		= { "oscclk",
1089 						    "dout_shared0_div2",
1090 						    "dout_shared2_div2",
1091 						    "dout_shared4_div2" };
1092 PNAME(mout_cmu_mux_hsi0_dposc_p)		= { "oscclk",
1093 						    "dout_shared2_div1" };
1094 PNAME(mout_cmu_mux_hsi0_noc_p)			= { "dout_shared0_div2",
1095 						    "dout_shared2_div2",
1096 						    "dout_shared3_div2",
1097 						    "dout_shared4_div2" };
1098 PNAME(mout_cmu_mux_hsi0_usb32drd_p)		= { "oscclk",
1099 						    "dout_shared0_div2",
1100 						    "dout_shared2_div2",
1101 						    "dout_shared4_div2" };
1102 PNAME(mout_cmu_mux_ufs_mmc_card_p)		= { "oscclk",
1103 						    "dout_shared2_div1",
1104 						    "dout_mmc_div1",
1105 						    "dout_shared0_div2" };
1106 PNAME(mout_cmu_mux_hsi1_noc_p)			= { "dout_shared0_div2",
1107 						    "dout_shared1_div2",
1108 						    "dout_shared2_div2",
1109 						    "dout_shared4_div2" };
1110 PNAME(mout_cmu_mux_hsi1_pcie_p)			= { "oscclk",
1111 						    "dout_shared2_div1" };
1112 PNAME(mout_cmu_mux_ufs_ufs_embd_p)		= { "oscclk",
1113 						    "dout_shared0_div2",
1114 						    "dout_shared2_div2",
1115 						    "dout_shared4_div2" };
1116 PNAME(mout_cmu_mux_lme_lme_p)			= { "dout_shared2_div1",
1117 						    "dout_shared3_div1",
1118 						    "dout_shared4_div1",
1119 						    "dout_shared0_div2",
1120 						    "dout_shared1_div2",
1121 						    "dout_shared2_div2",
1122 						    "dout_shared3_div2",
1123 						    "oscclk" };
1124 PNAME(mout_cmu_mux_lme_noc_p)			= { "dout_shared2_div1",
1125 						    "dout_shared3_div1",
1126 						    "dout_shared4_div1",
1127 						    "dout_shared0_div2",
1128 						    "dout_shared1_div2",
1129 						    "dout_shared2_div2",
1130 						    "dout_shared3_div2",
1131 						    "oscclk" };
1132 PNAME(mout_cmu_mux_m2m_noc_p)			= { "dout_shared2_div1",
1133 						    "dout_shared3_div1",
1134 						    "dout_shared4_div1",
1135 						    "dout_shared0_div2",
1136 						    "dout_shared1_div2",
1137 						    "dout_shared2_div2",
1138 						    "dout_shared3_div2",
1139 						    "oscclk" };
1140 PNAME(mout_cmu_mux_mcsc_mcsc_p)			= { "dout_shared2_div1",
1141 						    "dout_shared3_div1",
1142 						    "dout_shared4_div1",
1143 						    "dout_shared0_div2",
1144 						    "dout_shared1_div2",
1145 						    "dout_shared2_div2",
1146 						    "dout_shared3_div2",
1147 						    "oscclk" };
1148 PNAME(mout_cmu_mux_mcsc_noc_p)			= { "dout_shared2_div1",
1149 						    "dout_shared3_div1",
1150 						    "dout_shared4_div1",
1151 						    "dout_shared0_div2",
1152 						    "dout_shared1_div2",
1153 						    "dout_shared2_div2",
1154 						    "dout_shared3_div2",
1155 						    "oscclk" };
1156 PNAME(mout_cmu_mux_mfc0_mfc0_p)			= { "dout_shared2_div1",
1157 						    "dout_shared3_div1",
1158 						    "dout_shared4_div1",
1159 						    "dout_shared0_div2",
1160 						    "dout_shared1_div2",
1161 						    "dout_shared2_div2",
1162 						    "dout_shared3_div2",
1163 						    "oscclk" };
1164 PNAME(mout_cmu_mux_mfc0_wfd_p)			= { "dout_shared0_div2",
1165 						    "dout_shared1_div2",
1166 						    "dout_shared2_div2",
1167 						    "dout_shared3_div2",
1168 						    "dout_shared4_div2",
1169 						    "oscclk", "oscclk",
1170 						    "oscclk" };
1171 PNAME(mout_cmu_mux_mfc1_mfc1_p)			= { "dout_shared2_div1",
1172 						    "dout_shared3_div1",
1173 						    "dout_shared4_div1",
1174 						    "dout_shared0_div2",
1175 						    "dout_shared1_div2",
1176 						    "dout_shared2_div2",
1177 						    "dout_shared3_div2",
1178 						    "oscclk" };
1179 PNAME(mout_cmu_mux_mif_nocp_p)			= { "dout_shared0_div2",
1180 						    "dout_shared1_div2",
1181 						    "dout_shared2_div2",
1182 						    "dout_shared4_div2" };
1183 PNAME(mout_cmu_mux_mif_switch_p)		= { "dout_shared0_div1",
1184 						    "dout_shared1_div1",
1185 						    "dout_shared2_div1",
1186 						    "dout_shared3_div1",
1187 						    "dout_shared4_div1",
1188 						    "dout_shared0_div2",
1189 						    "mout_cmu_cp_mpll_clk_user",
1190 						    "dout_shared_mif_div1" };
1191 PNAME(mout_cmu_mux_nocl0_noc_p)			= { "dout_shared0_div1",
1192 						    "dout_shared1_div1",
1193 						    "dout_shared2_div1",
1194 						    "dout_shared3_div1",
1195 						    "dout_shared4_div1",
1196 						    "dout_shared0_div2",
1197 						    "mout_cmu_cp_mpll_clk_d2_user",
1198 						    "dout_shared_mif_div2" };
1199 PNAME(mout_cmu_mux_nocl1a_noc_p)		= { "dout_shared2_div1",
1200 						    "dout_shared3_div1",
1201 						    "dout_shared4_div1",
1202 						    "dout_shared0_div2",
1203 						    "dout_shared1_div2",
1204 						    "dout_shared2_div2",
1205 						    "dout_shared3_div2",
1206 						    "dout_shared4_div2" };
1207 PNAME(mout_cmu_mux_nocl1b_noc0_p)		= { "dout_shared2_div1",
1208 						    "dout_shared3_div1",
1209 						    "dout_shared4_div1",
1210 						    "dout_shared0_div2",
1211 						    "dout_shared1_div2",
1212 						    "dout_shared2_div2",
1213 						    "dout_shared3_div2",
1214 						    "dout_shared4_div2" };
1215 PNAME(mout_cmu_mux_nocl1b_noc1_p)		= { "dout_shared4_div1",
1216 						    "dout_shared0_div2",
1217 						    "dout_shared1_div2",
1218 						    "dout_shared2_div2" };
1219 PNAME(mout_cmu_mux_nocl1c_noc_p)		= { "dout_shared2_div1",
1220 						    "dout_shared3_div1",
1221 						    "dout_shared4_div1",
1222 						    "dout_shared0_div2",
1223 						    "dout_shared1_div2",
1224 						    "dout_shared2_div2",
1225 						    "dout_shared3_div2",
1226 						    "dout_shared4_div2" };
1227 PNAME(mout_cmu_mux_peric0_ip0_p)		= { "dout_shared0_div2",
1228 						    "dout_shared1_div2",
1229 						    "dout_shared2_div2",
1230 						    "dout_shared4_div2" };
1231 PNAME(mout_cmu_mux_peric0_ip1_p)		= { "dout_shared0_div2",
1232 						    "dout_shared1_div2",
1233 						    "dout_shared2_div2",
1234 						    "dout_shared4_div2" };
1235 PNAME(mout_cmu_mux_peric0_noc_p)		= { "dout_shared0_div2",
1236 						    "dout_shared2_div2" };
1237 PNAME(mout_cmu_mux_peric1_ip0_p)		= { "dout_shared0_div2",
1238 						    "dout_shared1_div2",
1239 						    "dout_shared2_div2",
1240 						    "dout_shared4_div2" };
1241 PNAME(mout_cmu_mux_peric1_ip1_p)		= { "dout_shared0_div2",
1242 						    "dout_shared1_div2",
1243 						    "dout_shared2_div2",
1244 						    "dout_shared4_div2" };
1245 PNAME(mout_cmu_mux_peric1_noc_p)		= { "dout_shared0_div2",
1246 						    "dout_shared2_div2" };
1247 PNAME(mout_cmu_mux_peric2_ip0_p)		= { "dout_shared0_div2",
1248 						    "dout_shared1_div2",
1249 						    "dout_shared2_div2",
1250 						    "dout_shared4_div2" };
1251 PNAME(mout_cmu_mux_peric2_ip1_p)		= { "dout_shared0_div2",
1252 						    "dout_shared1_div2",
1253 						    "dout_shared2_div2",
1254 						    "dout_shared4_div2" };
1255 PNAME(mout_cmu_mux_peric2_noc_p)		= { "dout_shared0_div2",
1256 						    "dout_shared2_div2" };
1257 PNAME(mout_cmu_mux_peris_gic_p)			= { "dout_shared0_div2",
1258 						    "dout_shared2_div2" };
1259 PNAME(mout_cmu_mux_peris_noc_p)			= { "dout_shared0_div2",
1260 						    "dout_shared2_div2" };
1261 PNAME(mout_cmu_mux_sdma_noc_p)			= { "dout_shared0_div1",
1262 						    "dout_shared1_div1",
1263 						    "dout_shared2_div1",
1264 						    "dout_shared3_div1",
1265 						    "dout_shared4_div1",
1266 						    "dout_shared0_div2",
1267 						    "dout_shared1_div2",
1268 						    "oscclk" };
1269 PNAME(mout_cmu_mux_ssp_noc_p)			= { "dout_shared0_div2",
1270 						    "dout_shared1_div2",
1271 						    "dout_shared2_div2",
1272 						    "dout_shared4_div2" };
1273 PNAME(mout_cmu_mux_vts_dmic_p)			= { "dout_shared3_div1",
1274 						    "dout_shared4_div1",
1275 						    "dout_shared0_div2",
1276 						    "dout_shared1_div2" };
1277 PNAME(mout_cmu_mux_yuvp_noc_p)			= { "dout_shared2_div1",
1278 						    "dout_shared3_div1",
1279 						    "dout_shared4_div1",
1280 						    "dout_shared0_div2",
1281 						    "dout_shared1_div2",
1282 						    "dout_shared2_div2",
1283 						    "dout_shared3_div2",
1284 						    "oscclk" };
1285 PNAME(mout_cmu_mux_cmu_cmuref_p)		= { "oscclk",
1286 						    "dout_cmu_boost" };
1287 PNAME(mout_cmu_mux_cp_hispeedy_clk_p)		= { "dout_shared2_div1",
1288 						    "dout_shared3_div1" };
1289 PNAME(mout_cmu_mux_cp_shared0_clk_p)		= { "dout_shared0_div1",
1290 						    "dout_shared1_div1",
1291 						    "dout_shared2_div1",
1292 						    "dout_shared3_div1" };
1293 PNAME(mout_cmu_mux_cp_shared1_clk_p)		= { "dout_shared4_div1",
1294 						    "dout_shared0_div2",
1295 						    "dout_shared1_div2",
1296 						    "dout_shared2_div2" };
1297 PNAME(mout_cmu_mux_cp_shared2_clk_p)		= { "dout_shared2_div1",
1298 						    "dout_shared3_div1",
1299 						    "dout_shared4_div1",
1300 						    "dout_shared1_div2" };
1301 PNAME(mout_cmu_m2m_frc_p)			= { "dout_shared2_div1",
1302 						    "dout_shared3_div1",
1303 						    "dout_shared4_div1",
1304 						    "dout_shared0_div2",
1305 						    "dout_shared1_div2",
1306 						    "dout_shared2_div2",
1307 						    "dout_shared3_div2",
1308 						    "oscclk" };
1309 PNAME(mout_cmu_mcsc_mcsc_p)			= { "dout_shared2_div1",
1310 						    "dout_shared3_div1",
1311 						    "dout_shared4_div1",
1312 						    "dout_shared0_div2",
1313 						    "dout_shared1_div2",
1314 						    "dout_shared2_div2",
1315 						    "dout_shared3_div2",
1316 						    "oscclk" };
1317 PNAME(mout_cmu_mcsc_noc_p)			= { "dout_shared2_div1",
1318 						    "dout_shared3_div1",
1319 						    "dout_shared4_div1",
1320 						    "dout_shared0_div2",
1321 						    "dout_shared1_div2",
1322 						    "dout_shared2_div2",
1323 						    "dout_shared3_div2",
1324 						    "oscclk" };
1325 PNAME(mout_cmu_mux_m2m_frc_p)			= { "dout_shared2_div1",
1326 						    "dout_shared3_div1",
1327 						    "dout_shared4_div1",
1328 						    "dout_shared0_div2",
1329 						    "dout_shared1_div2",
1330 						    "dout_shared2_div2",
1331 						    "dout_shared3_div2",
1332 						    "oscclk" };
1333 PNAME(mout_cmu_mux_ufs_noc_p)			= { "dout_shared0_div2",
1334 						    "dout_shared1_div2",
1335 						    "dout_shared2_div2",
1336 						    "dout_shared4_div2" };
1337 
1338 static const struct samsung_pll_clock top_pll_clks[] __initconst = {
1339 	PLL(pll_4311, CLK_FOUT_SHARED0_PLL, "fout_shared0_pll", "oscclk",
1340 	    PLL_LOCKTIME_PLL_SHARED0, PLL_CON3_PLL_SHARED0, NULL),
1341 	PLL(pll_4311, CLK_FOUT_SHARED1_PLL, "fout_shared1_pll", "oscclk",
1342 	    PLL_LOCKTIME_PLL_SHARED1, PLL_CON3_PLL_SHARED1, NULL),
1343 	PLL(pll_4311, CLK_FOUT_SHARED2_PLL, "fout_shared2_pll", "oscclk",
1344 	    PLL_LOCKTIME_PLL_SHARED2, PLL_CON3_PLL_SHARED2, NULL),
1345 	PLL(pll_4311, CLK_FOUT_SHARED3_PLL, "fout_shared3_pll", "oscclk",
1346 	    PLL_LOCKTIME_PLL_SHARED3, PLL_CON3_PLL_SHARED3, NULL),
1347 	PLL(pll_4311, CLK_FOUT_SHARED4_PLL, "fout_shared4_pll", "oscclk",
1348 	    PLL_LOCKTIME_PLL_SHARED4, PLL_CON3_PLL_SHARED4, NULL),
1349 	PLL(pll_4311, CLK_FOUT_MMC_PLL, "fout_mmc_pll", "oscclk",
1350 	    PLL_LOCKTIME_PLL_MMC, PLL_CON3_PLL_MMC, NULL),
1351 	PLL(pll_4311, CLK_FOUT_SHARED_MIF_PLL, "fout_shared_mif_pll", "oscclk",
1352 	    PLL_LOCKTIME_PLL_SHARED_MIF, PLL_CON3_PLL_SHARED_MIF, NULL),
1353 };
1354 
1355 static const struct samsung_mux_clock top_mux_clks[] __initconst = {
1356 	MUX(CLK_MOUT_CMU_CP_MPLL_CLK_D2_USER, "mout_cmu_cp_mpll_clk_d2_user",
1357 	    mout_cmu_cp_mpll_clk_d2_user_parents,
1358 	    PLL_CON0_MUX_CP_MPLL_CLK_D2_USER, 4, 1),
1359 	MUX(CLK_MOUT_CMU_CP_MPLL_CLK_USER, "mout_cmu_cp_mpll_clk_user",
1360 	    mout_cmu_cp_mpll_clk_user_parents, PLL_CON0_MUX_CP_MPLL_CLK_USER,
1361 	    4, 1),
1362 	MUX(CLK_MOUT_CMU_AUD_AUDIF0, "mout_cmu_aud_audif0",
1363 	    mout_cmu_aud_audif0_p, CLK_CON_MUX_CLKCMU_AUD_AUDIF0, 0, 3),
1364 	MUX(CLK_MOUT_CMU_AUD_AUDIF1, "mout_cmu_aud_audif1",
1365 	    mout_cmu_aud_audif1_p, CLK_CON_MUX_CLKCMU_AUD_AUDIF1, 0, 3),
1366 	MUX(CLK_MOUT_CMU_AUD_CPU, "mout_cmu_aud_cpu", mout_cmu_aud_cpu_p,
1367 	    CLK_CON_MUX_CLKCMU_AUD_CPU, 0, 3),
1368 	MUX(CLK_MOUT_CMU_CPUCL0_DBG_NOC, "mout_cmu_cpucl0_dbg_noc",
1369 	    mout_cmu_cpucl0_dbg_noc_p, CLK_CON_MUX_CLKCMU_CPUCL0_DBG_NOC,
1370 	    0, 2),
1371 	MUX(CLK_MOUT_CMU_CPUCL0_SWITCH, "mout_cmu_cpucl0_switch",
1372 	    mout_cmu_cpucl0_switch_p, CLK_CON_MUX_CLKCMU_CPUCL0_SWITCH, 0, 3),
1373 	MUX(CLK_MOUT_CMU_CPUCL1_SWITCH, "mout_cmu_cpucl1_switch",
1374 	    mout_cmu_cpucl1_switch_p, CLK_CON_MUX_CLKCMU_CPUCL1_SWITCH, 0, 3),
1375 	MUX(CLK_MOUT_CMU_CPUCL2_SWITCH, "mout_cmu_cpucl2_switch",
1376 	    mout_cmu_cpucl2_switch_p, CLK_CON_MUX_CLKCMU_CPUCL2_SWITCH, 0, 3),
1377 	MUX(CLK_MOUT_CMU_DNC_NOC, "mout_cmu_dnc_noc", mout_cmu_dnc_noc_p,
1378 	    CLK_CON_MUX_CLKCMU_DNC_NOC, 0, 3),
1379 	MUX(CLK_MOUT_CMU_DPUB_NOC, "mout_cmu_dpub_noc", mout_cmu_dpub_noc_p,
1380 	    CLK_CON_MUX_CLKCMU_DPUB_NOC, 0, 1),
1381 	MUX(CLK_MOUT_CMU_DPUF_NOC, "mout_cmu_dpuf_noc", mout_cmu_dpuf_noc_p,
1382 	    CLK_CON_MUX_CLKCMU_DPUF_NOC, 0, 1),
1383 	MUX(CLK_MOUT_CMU_DSP_NOC, "mout_cmu_dsp_noc", mout_cmu_dsp_noc_p,
1384 	    CLK_CON_MUX_CLKCMU_DSP_NOC, 0, 3),
1385 	MUX(CLK_MOUT_CMU_DSU_SWITCH, "mout_cmu_dsu_switch",
1386 	    mout_cmu_dsu_switch_p, CLK_CON_MUX_CLKCMU_DSU_SWITCH, 0, 3),
1387 	MUX(CLK_MOUT_CMU_G3D_SWITCH, "mout_cmu_g3d_switch",
1388 	    mout_cmu_g3d_switch_p, CLK_CON_MUX_CLKCMU_G3D_SWITCH, 0, 3),
1389 	MUX(CLK_MOUT_CMU_GNPU_NOC, "mout_cmu_gnpu_noc", mout_cmu_gnpu_noc_p,
1390 	    CLK_CON_MUX_CLKCMU_GNPU_NOC, 0, 3),
1391 	MUX(CLK_MOUT_CMU_UFS_MMC_CARD, "mout_cmu_ufs_mmc_card",
1392 	    mout_cmu_ufs_mmc_card_p, CLK_CON_MUX_CLKCMU_UFS_MMC_CARD, 0, 2),
1393 	MUX(CLK_MOUT_CMU_M2M_NOC, "mout_cmu_m2m_noc", mout_cmu_m2m_noc_p,
1394 	    CLK_CON_MUX_CLKCMU_M2M_NOC, 0, 3),
1395 	MUX(CLK_MOUT_CMU_NOCL0_NOC, "mout_cmu_nocl0_noc", mout_cmu_nocl0_noc_p,
1396 	    CLK_CON_MUX_CLKCMU_NOCL0_NOC, 0, 3),
1397 	MUX(CLK_MOUT_CMU_NOCL1A_NOC, "mout_cmu_nocl1a_noc",
1398 	    mout_cmu_nocl1a_noc_p, CLK_CON_MUX_CLKCMU_NOCL1A_NOC, 0, 3),
1399 	MUX(CLK_MOUT_CMU_NOCL1B_NOC0, "mout_cmu_nocl1b_noc0",
1400 	    mout_cmu_nocl1b_noc0_p, CLK_CON_MUX_CLKCMU_NOCL1B_NOC0, 0, 3),
1401 	MUX(CLK_MOUT_CMU_NOCL1C_NOC, "mout_cmu_nocl1c_noc",
1402 	    mout_cmu_nocl1c_noc_p, CLK_CON_MUX_CLKCMU_NOCL1C_NOC, 0, 3),
1403 	MUX(CLK_MOUT_CMU_SDMA_NOC, "mout_cmu_sdma_noc", mout_cmu_sdma_noc_p,
1404 	    CLK_CON_MUX_CLKCMU_SDMA_NOC, 0, 3),
1405 	MUX(CLK_MOUT_CMU_CP_HISPEEDY_CLK, "mout_cmu_cp_hispeedy_clk",
1406 	    mout_cmu_cp_hispeedy_clk_p, CLK_CON_MUX_CP_HISPEEDY_CLK, 0, 1),
1407 	MUX(CLK_MOUT_CMU_CP_SHARED0_CLK, "mout_cmu_cp_shared0_clk",
1408 	    mout_cmu_cp_shared0_clk_p, CLK_CON_MUX_CP_SHARED0_CLK, 0, 2),
1409 	MUX(CLK_MOUT_CMU_CP_SHARED2_CLK, "mout_cmu_cp_shared2_clk",
1410 	    mout_cmu_cp_shared2_clk_p, CLK_CON_MUX_CP_SHARED2_CLK, 0, 2),
1411 	MUX(CLK_MOUT_CMU_MUX_ALIVE_NOC, "mout_cmu_mux_alive_noc",
1412 	    mout_cmu_mux_alive_noc_p, CLK_CON_MUX_MUX_CLKCMU_ALIVE_NOC, 0, 1),
1413 	MUX(CLK_MOUT_CMU_MUX_AUD_AUDIF0, "mout_cmu_mux_aud_audif0",
1414 	    mout_cmu_mux_aud_audif0_p, CLK_CON_MUX_MUX_CLKCMU_AUD_AUDIF0,
1415 	    0, 3),
1416 	MUX(CLK_MOUT_CMU_MUX_AUD_AUDIF1, "mout_cmu_mux_aud_audif1",
1417 	    mout_cmu_mux_aud_audif1_p, CLK_CON_MUX_MUX_CLKCMU_AUD_AUDIF1,
1418 	    0, 3),
1419 	MUX(CLK_MOUT_CMU_MUX_AUD_CPU, "mout_cmu_mux_aud_cpu",
1420 	    mout_cmu_mux_aud_cpu_p, CLK_CON_MUX_MUX_CLKCMU_AUD_CPU, 0, 3),
1421 	MUX(CLK_MOUT_CMU_MUX_AUD_NOC, "mout_cmu_mux_aud_noc",
1422 	    mout_cmu_mux_aud_noc_p, CLK_CON_MUX_MUX_CLKCMU_AUD_NOC, 0, 3),
1423 	MUX(CLK_MOUT_CMU_MUX_BRP_NOC, "mout_cmu_mux_brp_noc",
1424 	    mout_cmu_mux_brp_noc_p, CLK_CON_MUX_MUX_CLKCMU_BRP_NOC, 0, 3),
1425 	MUX(CLK_MOUT_CMU_MUX_CIS_CLK0, "mout_cmu_mux_cis_clk0",
1426 	    mout_cmu_mux_cis_clk0_p, CLK_CON_MUX_MUX_CLKCMU_CIS_CLK0, 0, 1),
1427 	MUX(CLK_MOUT_CMU_MUX_CIS_CLK1, "mout_cmu_mux_cis_clk1",
1428 	    mout_cmu_mux_cis_clk1_p, CLK_CON_MUX_MUX_CLKCMU_CIS_CLK1, 0, 1),
1429 	MUX(CLK_MOUT_CMU_MUX_CIS_CLK2, "mout_cmu_mux_cis_clk2",
1430 	    mout_cmu_mux_cis_clk2_p, CLK_CON_MUX_MUX_CLKCMU_CIS_CLK2, 0, 1),
1431 	MUX(CLK_MOUT_CMU_MUX_CIS_CLK3, "mout_cmu_mux_cis_clk3",
1432 	    mout_cmu_mux_cis_clk3_p, CLK_CON_MUX_MUX_CLKCMU_CIS_CLK3, 0, 1),
1433 	MUX(CLK_MOUT_CMU_MUX_CIS_CLK4, "mout_cmu_mux_cis_clk4",
1434 	    mout_cmu_mux_cis_clk4_p, CLK_CON_MUX_MUX_CLKCMU_CIS_CLK4, 0, 1),
1435 	MUX(CLK_MOUT_CMU_MUX_CIS_CLK5, "mout_cmu_mux_cis_clk5",
1436 	    mout_cmu_mux_cis_clk5_p, CLK_CON_MUX_MUX_CLKCMU_CIS_CLK5, 0, 1),
1437 	MUX(CLK_MOUT_CMU_MUX_CIS_CLK6, "mout_cmu_mux_cis_clk6",
1438 	    mout_cmu_mux_cis_clk6_p, CLK_CON_MUX_MUX_CLKCMU_CIS_CLK6, 0, 1),
1439 	MUX(CLK_MOUT_CMU_MUX_CIS_CLK7, "mout_cmu_mux_cis_clk7",
1440 	    mout_cmu_mux_cis_clk7_p, CLK_CON_MUX_MUX_CLKCMU_CIS_CLK7, 0, 1),
1441 	MUX(CLK_MOUT_CMU_MUX_CMU_BOOST, "mout_cmu_mux_cmu_boost",
1442 	    mout_cmu_mux_cmu_boost_p, CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST, 0, 2),
1443 	MUX(CLK_MOUT_CMU_MUX_CMU_BOOST_CAM, "mout_cmu_mux_cmu_boost_cam",
1444 	    mout_cmu_mux_cmu_boost_cam_p, CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_CAM,
1445 	    0, 2),
1446 	MUX(CLK_MOUT_CMU_MUX_CMU_BOOST_CPU, "mout_cmu_mux_cmu_boost_cpu",
1447 	    mout_cmu_mux_cmu_boost_cpu_p, CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_CPU,
1448 	    0, 2),
1449 	MUX(CLK_MOUT_CMU_MUX_CMU_BOOST_MIF, "mout_cmu_mux_cmu_boost_mif",
1450 	    mout_cmu_mux_cmu_boost_mif_p, CLK_CON_MUX_MUX_CLKCMU_CMU_BOOST_MIF,
1451 	    0, 2),
1452 	MUX(CLK_MOUT_CMU_MUX_CPUCL0_DBG_NOC, "mout_cmu_mux_cpucl0_dbg_noc",
1453 	    mout_cmu_mux_cpucl0_dbg_noc_p,
1454 	    CLK_CON_MUX_MUX_CLKCMU_CPUCL0_DBG_NOC, 0, 2),
1455 	MUX(CLK_MOUT_CMU_MUX_CPUCL0_NOCP, "mout_cmu_mux_cpucl0_nocp",
1456 	    mout_cmu_mux_cpucl0_nocp_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL0_NOCP,
1457 	    0, 2),
1458 	MUX(CLK_MOUT_CMU_MUX_CPUCL0_SWITCH, "mout_cmu_mux_cpucl0_switch",
1459 	    mout_cmu_mux_cpucl0_switch_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL0_SWITCH,
1460 	    0, 3),
1461 	MUX(CLK_MOUT_CMU_MUX_CPUCL1_SWITCH, "mout_cmu_mux_cpucl1_switch",
1462 	    mout_cmu_mux_cpucl1_switch_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL1_SWITCH,
1463 	    0, 3),
1464 	MUX(CLK_MOUT_CMU_MUX_CPUCL2_SWITCH, "mout_cmu_mux_cpucl2_switch",
1465 	    mout_cmu_mux_cpucl2_switch_p, CLK_CON_MUX_MUX_CLKCMU_CPUCL2_SWITCH,
1466 	    0, 3),
1467 	MUX(CLK_MOUT_CMU_MUX_CSIS_DCPHY, "mout_cmu_mux_csis_dcphy",
1468 	    mout_cmu_mux_csis_dcphy_p, CLK_CON_MUX_MUX_CLKCMU_CSIS_DCPHY,
1469 	    0, 2),
1470 	MUX(CLK_MOUT_CMU_MUX_CSIS_NOC, "mout_cmu_mux_csis_noc",
1471 	    mout_cmu_mux_csis_noc_p, CLK_CON_MUX_MUX_CLKCMU_CSIS_NOC, 0, 3),
1472 	MUX(CLK_MOUT_CMU_MUX_CSIS_OIS_MCU, "mout_cmu_mux_csis_ois_mcu",
1473 	    mout_cmu_mux_csis_ois_mcu_p, CLK_CON_MUX_MUX_CLKCMU_CSIS_OIS_MCU,
1474 	    0, 1),
1475 	MUX(CLK_MOUT_CMU_MUX_CSTAT_NOC, "mout_cmu_mux_cstat_noc",
1476 	    mout_cmu_mux_cstat_noc_p, CLK_CON_MUX_MUX_CLKCMU_CSTAT_NOC, 0, 3),
1477 	MUX(CLK_MOUT_CMU_MUX_DNC_NOC, "mout_cmu_mux_dnc_noc",
1478 	    mout_cmu_mux_dnc_noc_p, CLK_CON_MUX_MUX_CLKCMU_DNC_NOC, 0, 3),
1479 	MUX(CLK_MOUT_CMU_MUX_DPUB, "mout_cmu_mux_dpub", mout_cmu_mux_dpub_p,
1480 	    CLK_CON_MUX_MUX_CLKCMU_DPUB, 0, 3),
1481 	MUX(CLK_MOUT_CMU_MUX_DPUB_ALT, "mout_cmu_mux_dpub_alt",
1482 	    mout_cmu_mux_dpub_alt_p, CLK_CON_MUX_MUX_CLKCMU_DPUB_ALT, 0, 3),
1483 	MUX(CLK_MOUT_CMU_MUX_DPUB_DSIM, "mout_cmu_mux_dpub_dsim",
1484 	    mout_cmu_mux_dpub_dsim_p, CLK_CON_MUX_MUX_CLKCMU_DPUB_DSIM, 0, 2),
1485 	MUX(CLK_MOUT_CMU_MUX_DPUF, "mout_cmu_mux_dpuf", mout_cmu_mux_dpuf_p,
1486 	    CLK_CON_MUX_MUX_CLKCMU_DPUF, 0, 3),
1487 	MUX(CLK_MOUT_CMU_MUX_DPUF_ALT, "mout_cmu_mux_dpuf_alt",
1488 	    mout_cmu_mux_dpuf_alt_p, CLK_CON_MUX_MUX_CLKCMU_DPUF_ALT, 0, 3),
1489 	MUX(CLK_MOUT_CMU_MUX_DSP_NOC, "mout_cmu_mux_dsp_noc",
1490 	    mout_cmu_mux_dsp_noc_p, CLK_CON_MUX_MUX_CLKCMU_DSP_NOC, 0, 3),
1491 	MUX(CLK_MOUT_CMU_MUX_DSU_SWITCH, "mout_cmu_mux_dsu_switch",
1492 	    mout_cmu_mux_dsu_switch_p, CLK_CON_MUX_MUX_CLKCMU_DSU_SWITCH,
1493 	    0, 3),
1494 	MUX(CLK_MOUT_CMU_MUX_G3D_NOCP, "mout_cmu_mux_g3d_nocp",
1495 	    mout_cmu_mux_g3d_nocp_p, CLK_CON_MUX_MUX_CLKCMU_G3D_NOCP, 0, 2),
1496 	MUX(CLK_MOUT_CMU_MUX_G3D_SWITCH, "mout_cmu_mux_g3d_switch",
1497 	    mout_cmu_mux_g3d_switch_p, CLK_CON_MUX_MUX_CLKCMU_G3D_SWITCH,
1498 	    0, 3),
1499 	MUX(CLK_MOUT_CMU_MUX_GNPU_NOC, "mout_cmu_mux_gnpu_noc",
1500 	    mout_cmu_mux_gnpu_noc_p, CLK_CON_MUX_MUX_CLKCMU_GNPU_NOC, 0, 3),
1501 	MUX(CLK_MOUT_CMU_MUX_HSI0_DPGTC, "mout_cmu_mux_hsi0_dpgtc",
1502 	    mout_cmu_mux_hsi0_dpgtc_p, CLK_CON_MUX_MUX_CLKCMU_HSI0_DPGTC,
1503 	    0, 2),
1504 	MUX(CLK_MOUT_CMU_MUX_HSI0_DPOSC, "mout_cmu_mux_hsi0_dposc",
1505 	    mout_cmu_mux_hsi0_dposc_p, CLK_CON_MUX_MUX_CLKCMU_HSI0_DPOSC,
1506 	    0, 1),
1507 	MUX(CLK_MOUT_CMU_MUX_HSI0_NOC, "mout_cmu_mux_hsi0_noc",
1508 	    mout_cmu_mux_hsi0_noc_p, CLK_CON_MUX_MUX_CLKCMU_HSI0_NOC, 0, 2),
1509 	MUX(CLK_MOUT_CMU_MUX_HSI0_USB32DRD, "mout_cmu_mux_hsi0_usb32drd",
1510 	    mout_cmu_mux_hsi0_usb32drd_p, CLK_CON_MUX_MUX_CLKCMU_HSI0_USB32DRD,
1511 	    0, 2),
1512 	MUX(CLK_MOUT_CMU_MUX_UFS_MMC_CARD, "mout_cmu_mux_ufs_mmc_card",
1513 	    mout_cmu_mux_ufs_mmc_card_p, CLK_CON_MUX_MUX_CLKCMU_UFS_MMC_CARD,
1514 	    0, 2),
1515 	MUX(CLK_MOUT_CMU_MUX_HSI1_NOC, "mout_cmu_mux_hsi1_noc",
1516 	    mout_cmu_mux_hsi1_noc_p, CLK_CON_MUX_MUX_CLKCMU_HSI1_NOC, 0, 2),
1517 	MUX(CLK_MOUT_CMU_MUX_HSI1_PCIE, "mout_cmu_mux_hsi1_pcie",
1518 	    mout_cmu_mux_hsi1_pcie_p, CLK_CON_MUX_MUX_CLKCMU_HSI1_PCIE, 0, 1),
1519 	MUX(CLK_MOUT_CMU_MUX_UFS_UFS_EMBD, "mout_cmu_mux_ufs_ufs_embd",
1520 	    mout_cmu_mux_ufs_ufs_embd_p, CLK_CON_MUX_MUX_CLKCMU_UFS_UFS_EMBD,
1521 	    0, 2),
1522 	MUX(CLK_MOUT_CMU_MUX_LME_LME, "mout_cmu_mux_lme_lme",
1523 	    mout_cmu_mux_lme_lme_p, CLK_CON_MUX_MUX_CLKCMU_LME_LME, 0, 3),
1524 	MUX(CLK_MOUT_CMU_MUX_LME_NOC, "mout_cmu_mux_lme_noc",
1525 	    mout_cmu_mux_lme_noc_p, CLK_CON_MUX_MUX_CLKCMU_LME_NOC, 0, 3),
1526 	MUX(CLK_MOUT_CMU_MUX_M2M_NOC, "mout_cmu_mux_m2m_noc",
1527 	    mout_cmu_mux_m2m_noc_p, CLK_CON_MUX_MUX_CLKCMU_M2M_NOC, 0, 3),
1528 	MUX(CLK_MOUT_CMU_MUX_MCSC_MCSC, "mout_cmu_mux_mcsc_mcsc",
1529 	    mout_cmu_mux_mcsc_mcsc_p, CLK_CON_MUX_MUX_CLKCMU_MCSC_MCSC, 0, 3),
1530 	MUX(CLK_MOUT_CMU_MUX_MCSC_NOC, "mout_cmu_mux_mcsc_noc",
1531 	    mout_cmu_mux_mcsc_noc_p, CLK_CON_MUX_MUX_CLKCMU_MCSC_NOC, 0, 3),
1532 	MUX(CLK_MOUT_CMU_MUX_MFC0_MFC0, "mout_cmu_mux_mfc0_mfc0",
1533 	    mout_cmu_mux_mfc0_mfc0_p, CLK_CON_MUX_MUX_CLKCMU_MFC0_MFC0, 0, 3),
1534 	MUX(CLK_MOUT_CMU_MUX_MFC0_WFD, "mout_cmu_mux_mfc0_wfd",
1535 	    mout_cmu_mux_mfc0_wfd_p, CLK_CON_MUX_MUX_CLKCMU_MFC0_WFD, 0, 3),
1536 	MUX(CLK_MOUT_CMU_MUX_MFC1_MFC1, "mout_cmu_mux_mfc1_mfc1",
1537 	    mout_cmu_mux_mfc1_mfc1_p, CLK_CON_MUX_MUX_CLKCMU_MFC1_MFC1, 0, 3),
1538 	MUX(CLK_MOUT_CMU_MUX_MIF_NOCP, "mout_cmu_mux_mif_nocp",
1539 	    mout_cmu_mux_mif_nocp_p, CLK_CON_MUX_MUX_CLKCMU_MIF_NOCP, 0, 2),
1540 	MUX(CLK_MOUT_CMU_MUX_MIF_SWITCH, "mout_cmu_mux_mif_switch",
1541 	    mout_cmu_mux_mif_switch_p, CLK_CON_MUX_MUX_CLKCMU_MIF_SWITCH,
1542 	    0, 3),
1543 	MUX(CLK_MOUT_CMU_MUX_NOCL0_NOC, "mout_cmu_mux_nocl0_noc",
1544 	    mout_cmu_mux_nocl0_noc_p, CLK_CON_MUX_MUX_CLKCMU_NOCL0_NOC, 0, 3),
1545 	MUX(CLK_MOUT_CMU_MUX_NOCL1A_NOC, "mout_cmu_mux_nocl1a_noc",
1546 	    mout_cmu_mux_nocl1a_noc_p, CLK_CON_MUX_MUX_CLKCMU_NOCL1A_NOC,
1547 	    0, 3),
1548 	MUX(CLK_MOUT_CMU_MUX_NOCL1B_NOC0, "mout_cmu_mux_nocl1b_noc0",
1549 	    mout_cmu_mux_nocl1b_noc0_p, CLK_CON_MUX_MUX_CLKCMU_NOCL1B_NOC0,
1550 	    0, 3),
1551 	MUX(CLK_MOUT_CMU_MUX_NOCL1B_NOC1, "mout_cmu_mux_nocl1b_noc1",
1552 	    mout_cmu_mux_nocl1b_noc1_p, CLK_CON_MUX_MUX_CLKCMU_NOCL1B_NOC1,
1553 	    0, 2),
1554 	MUX(CLK_MOUT_CMU_MUX_NOCL1C_NOC, "mout_cmu_mux_nocl1c_noc",
1555 	    mout_cmu_mux_nocl1c_noc_p, CLK_CON_MUX_MUX_CLKCMU_NOCL1C_NOC,
1556 	    0, 3),
1557 	MUX(CLK_MOUT_CMU_MUX_PERIC0_IP0, "mout_cmu_mux_peric0_ip0",
1558 	    mout_cmu_mux_peric0_ip0_p, CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP0,
1559 	    0, 2),
1560 	MUX(CLK_MOUT_CMU_MUX_PERIC0_IP1, "mout_cmu_mux_peric0_ip1",
1561 	    mout_cmu_mux_peric0_ip1_p, CLK_CON_MUX_MUX_CLKCMU_PERIC0_IP1,
1562 	    0, 2),
1563 	MUX(CLK_MOUT_CMU_MUX_PERIC0_NOC, "mout_cmu_mux_peric0_noc",
1564 	    mout_cmu_mux_peric0_noc_p, CLK_CON_MUX_MUX_CLKCMU_PERIC0_NOC,
1565 	    0, 1),
1566 	MUX(CLK_MOUT_CMU_MUX_PERIC1_IP0, "mout_cmu_mux_peric1_ip0",
1567 	    mout_cmu_mux_peric1_ip0_p, CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP0,
1568 	    0, 2),
1569 	MUX(CLK_MOUT_CMU_MUX_PERIC1_IP1, "mout_cmu_mux_peric1_ip1",
1570 	    mout_cmu_mux_peric1_ip1_p, CLK_CON_MUX_MUX_CLKCMU_PERIC1_IP1,
1571 	    0, 2),
1572 	MUX(CLK_MOUT_CMU_MUX_PERIC1_NOC, "mout_cmu_mux_peric1_noc",
1573 	    mout_cmu_mux_peric1_noc_p, CLK_CON_MUX_MUX_CLKCMU_PERIC1_NOC,
1574 	    0, 1),
1575 	MUX(CLK_MOUT_CMU_MUX_PERIC2_IP0, "mout_cmu_mux_peric2_ip0",
1576 	    mout_cmu_mux_peric2_ip0_p, CLK_CON_MUX_MUX_CLKCMU_PERIC2_IP0,
1577 	    0, 2),
1578 	MUX(CLK_MOUT_CMU_MUX_PERIC2_IP1, "mout_cmu_mux_peric2_ip1",
1579 	    mout_cmu_mux_peric2_ip1_p, CLK_CON_MUX_MUX_CLKCMU_PERIC2_IP1,
1580 	    0, 2),
1581 	MUX(CLK_MOUT_CMU_MUX_PERIC2_NOC, "mout_cmu_mux_peric2_noc",
1582 	    mout_cmu_mux_peric2_noc_p, CLK_CON_MUX_MUX_CLKCMU_PERIC2_NOC,
1583 	    0, 1),
1584 	MUX(CLK_MOUT_CMU_MUX_PERIS_GIC, "mout_cmu_mux_peris_gic",
1585 	    mout_cmu_mux_peris_gic_p, CLK_CON_MUX_MUX_CLKCMU_PERIS_GIC, 0, 1),
1586 	MUX(CLK_MOUT_CMU_MUX_PERIS_NOC, "mout_cmu_mux_peris_noc",
1587 	    mout_cmu_mux_peris_noc_p, CLK_CON_MUX_MUX_CLKCMU_PERIS_NOC, 0, 1),
1588 	MUX(CLK_MOUT_CMU_MUX_SDMA_NOC, "mout_cmu_mux_sdma_noc",
1589 	    mout_cmu_mux_sdma_noc_p, CLK_CON_MUX_MUX_CLKCMU_SDMA_NOC, 0, 3),
1590 	MUX(CLK_MOUT_CMU_MUX_SSP_NOC, "mout_cmu_mux_ssp_noc",
1591 	    mout_cmu_mux_ssp_noc_p, CLK_CON_MUX_MUX_CLKCMU_SSP_NOC, 0, 2),
1592 	MUX(CLK_MOUT_CMU_MUX_VTS_DMIC, "mout_cmu_mux_vts_dmic",
1593 	    mout_cmu_mux_vts_dmic_p, CLK_CON_MUX_MUX_CLKCMU_VTS_DMIC, 0, 2),
1594 	MUX(CLK_MOUT_CMU_MUX_YUVP_NOC, "mout_cmu_mux_yuvp_noc",
1595 	    mout_cmu_mux_yuvp_noc_p, CLK_CON_MUX_MUX_CLKCMU_YUVP_NOC, 0, 3),
1596 	MUX(CLK_MOUT_CMU_MUX_CMU_CMUREF, "mout_cmu_mux_cmu_cmuref",
1597 	    mout_cmu_mux_cmu_cmuref_p, CLK_CON_MUX_MUX_CMU_CMUREF, 0, 1),
1598 	MUX(CLK_MOUT_CMU_MUX_CP_HISPEEDY_CLK, "mout_cmu_mux_cp_hispeedy_clk",
1599 	    mout_cmu_mux_cp_hispeedy_clk_p, CLK_CON_MUX_MUX_CP_HISPEEDY_CLK,
1600 	    0, 1),
1601 	MUX(CLK_MOUT_CMU_MUX_CP_SHARED0_CLK, "mout_cmu_mux_cp_shared0_clk",
1602 	    mout_cmu_mux_cp_shared0_clk_p, CLK_CON_MUX_MUX_CP_SHARED0_CLK,
1603 	    0, 2),
1604 	MUX(CLK_MOUT_CMU_MUX_CP_SHARED1_CLK, "mout_cmu_mux_cp_shared1_clk",
1605 	    mout_cmu_mux_cp_shared1_clk_p, CLK_CON_MUX_MUX_CP_SHARED1_CLK,
1606 	    0, 2),
1607 	MUX(CLK_MOUT_CMU_MUX_CP_SHARED2_CLK, "mout_cmu_mux_cp_shared2_clk",
1608 	    mout_cmu_mux_cp_shared2_clk_p, CLK_CON_MUX_MUX_CP_SHARED2_CLK,
1609 	    0, 2),
1610 	MUX(CLK_MOUT_CMU_M2M_FRC, "mout_cmu_m2m_frc", mout_cmu_m2m_frc_p,
1611 	    CLK_CON_MUX_CLKCMU_M2M_FRC, 0, 3),
1612 	MUX(CLK_MOUT_CMU_MCSC_MCSC, "mout_cmu_mcsc_mcsc", mout_cmu_mcsc_mcsc_p,
1613 	    CLK_CON_MUX_CLKCMU_MCSC_MCSC, 0, 3),
1614 	MUX(CLK_MOUT_CMU_MCSC_NOC, "mout_cmu_mcsc_noc", mout_cmu_mcsc_noc_p,
1615 	    CLK_CON_MUX_CLKCMU_MCSC_NOC, 0, 3),
1616 	MUX(CLK_MOUT_CMU_MUX_M2M_FRC, "mout_cmu_mux_m2m_frc",
1617 	    mout_cmu_mux_m2m_frc_p, CLK_CON_MUX_MUX_CLKCMU_M2M_FRC, 0, 3),
1618 	MUX(CLK_MOUT_CMU_MUX_UFS_NOC, "mout_cmu_mux_ufs_noc",
1619 	    mout_cmu_mux_ufs_noc_p, CLK_CON_MUX_MUX_CLKCMU_UFS_NOC, 0, 2),
1620 };
1621 
1622 static const struct samsung_div_clock top_div_clks[] __initconst = {
1623 	DIV(CLK_DOUT_CMU_ALIVE_NOC, "dout_cmu_alive_noc",
1624 	    "mout_cmu_mux_alive_noc", CLK_CON_DIV_CLKCMU_ALIVE_NOC, 0, 2),
1625 	DIV(CLK_DOUT_CMU_AUD_NOC, "dout_cmu_aud_noc", "mout_cmu_mux_aud_noc",
1626 	    CLK_CON_DIV_CLKCMU_AUD_NOC, 0, 4),
1627 	DIV(CLK_DOUT_CMU_BRP_NOC, "dout_cmu_brp_noc", "mout_cmu_mux_brp_noc",
1628 	    CLK_CON_DIV_CLKCMU_BRP_NOC, 0, 4),
1629 	DIV(CLK_DOUT_CMU_CMU_BOOST, "dout_cmu_cmu_boost",
1630 	    "mout_cmu_mux_cmu_boost", CLK_CON_DIV_CLKCMU_CMU_BOOST, 0, 3),
1631 	DIV(CLK_DOUT_CMU_CMU_BOOST_CAM, "dout_cmu_cmu_boost_cam",
1632 	    "mout_cmu_mux_cmu_boost_cam", CLK_CON_DIV_CLKCMU_CMU_BOOST_CAM,
1633 	    0, 3),
1634 	DIV(CLK_DOUT_CMU_CMU_BOOST_CPU, "dout_cmu_cmu_boost_cpu",
1635 	    "mout_cmu_mux_cmu_boost_cpu", CLK_CON_DIV_CLKCMU_CMU_BOOST_CPU,
1636 	    0, 3),
1637 	DIV(CLK_DOUT_CMU_CMU_BOOST_MIF, "dout_cmu_cmu_boost_mif",
1638 	    "mout_cmu_mux_cmu_boost_mif", CLK_CON_DIV_CLKCMU_CMU_BOOST_MIF,
1639 	    0, 3),
1640 	DIV(CLK_DOUT_CMU_CPUCL0_NOCP, "dout_cmu_cpucl0_nocp",
1641 	    "mout_cmu_mux_cpucl0_nocp", CLK_CON_DIV_CLKCMU_CPUCL0_NOCP, 0, 4),
1642 	DIV(CLK_DOUT_CMU_CSIS_DCPHY, "dout_cmu_csis_dcphy",
1643 	    "mout_cmu_mux_csis_dcphy", CLK_CON_DIV_CLKCMU_CSIS_DCPHY, 0, 4),
1644 	DIV(CLK_DOUT_CMU_CSIS_NOC, "dout_cmu_csis_noc",
1645 	    "mout_cmu_mux_csis_noc", CLK_CON_DIV_CLKCMU_CSIS_NOC, 0, 4),
1646 	DIV(CLK_DOUT_CMU_CSIS_OIS_MCU, "dout_cmu_csis_ois_mcu",
1647 	    "mout_cmu_mux_csis_ois_mcu", CLK_CON_DIV_CLKCMU_CSIS_OIS_MCU,
1648 	    0, 4),
1649 	DIV(CLK_DOUT_CMU_CSTAT_NOC, "dout_cmu_cstat_noc",
1650 	    "mout_cmu_mux_cstat_noc", CLK_CON_DIV_CLKCMU_CSTAT_NOC, 0, 4),
1651 	DIV(CLK_DOUT_CMU_DPUB_DSIM, "dout_cmu_dpub_dsim",
1652 	    "mout_cmu_mux_dpub_dsim", CLK_CON_DIV_CLKCMU_DPUB_DSIM, 0, 4),
1653 	DIV(CLK_DOUT_CMU_LME_LME, "dout_cmu_lme_lme", "mout_cmu_mux_lme_lme",
1654 	    CLK_CON_DIV_CLKCMU_LME_LME, 0, 4),
1655 	DIV(CLK_DOUT_CMU_G3D_NOCP, "dout_cmu_g3d_nocp",
1656 	    "mout_cmu_mux_g3d_nocp", CLK_CON_DIV_CLKCMU_G3D_NOCP, 0, 3),
1657 	DIV(CLK_DOUT_CMU_HSI0_DPGTC, "dout_cmu_hsi0_dpgtc",
1658 	    "mout_cmu_mux_hsi0_dpgtc", CLK_CON_DIV_CLKCMU_HSI0_DPGTC, 0, 3),
1659 	DIV(CLK_DOUT_CMU_HSI0_DPOSC, "dout_cmu_hsi0_dposc",
1660 	    "mout_cmu_mux_hsi0_dposc", CLK_CON_DIV_CLKCMU_HSI0_DPOSC, 0, 5),
1661 	DIV(CLK_DOUT_CMU_HSI0_NOC, "dout_cmu_hsi0_noc",
1662 	    "mout_cmu_mux_hsi0_noc", CLK_CON_DIV_CLKCMU_HSI0_NOC, 0, 4),
1663 	DIV(CLK_DOUT_CMU_HSI0_USB32DRD, "dout_cmu_hsi0_usb32drd",
1664 	    "mout_cmu_mux_hsi0_usb32drd", CLK_CON_DIV_CLKCMU_HSI0_USB32DRD,
1665 	    0, 5),
1666 	DIV(CLK_DOUT_CMU_HSI1_NOC, "dout_cmu_hsi1_noc",
1667 	    "mout_cmu_mux_hsi1_noc", CLK_CON_DIV_CLKCMU_HSI1_NOC, 0, 4),
1668 	DIV(CLK_DOUT_CMU_HSI1_PCIE, "dout_cmu_hsi1_pcie",
1669 	    "mout_cmu_mux_hsi1_pcie", CLK_CON_DIV_CLKCMU_HSI1_PCIE, 0, 8),
1670 	DIV(CLK_DOUT_CMU_UFS_UFS_EMBD, "dout_cmu_ufs_ufs_embd",
1671 	    "mout_cmu_mux_ufs_ufs_embd", CLK_CON_DIV_CLKCMU_UFS_UFS_EMBD,
1672 	    0, 4),
1673 	DIV(CLK_DOUT_CMU_LME_NOC, "dout_cmu_lme_noc", "mout_cmu_mux_lme_noc",
1674 	    CLK_CON_DIV_CLKCMU_LME_NOC, 0, 4),
1675 	DIV(CLK_DOUT_CMU_MFC0_MFC0, "dout_cmu_mfc0_mfc0",
1676 	    "mout_cmu_mux_mfc0_mfc0", CLK_CON_DIV_CLKCMU_MFC0_MFC0, 0, 4),
1677 	DIV(CLK_DOUT_CMU_MFC0_WFD, "dout_cmu_mfc0_wfd",
1678 	    "mout_cmu_mux_mfc0_wfd", CLK_CON_DIV_CLKCMU_MFC0_WFD, 0, 4),
1679 	DIV(CLK_DOUT_CMU_MFC1_MFC1, "dout_cmu_mfc1_mfc1",
1680 	    "mout_cmu_mux_mfc1_mfc1", CLK_CON_DIV_CLKCMU_MFC1_MFC1, 0, 4),
1681 	DIV(CLK_DOUT_CMU_MIF_NOCP, "dout_cmu_mif_nocp",
1682 	    "mout_cmu_mux_mif_nocp", CLK_CON_DIV_CLKCMU_MIF_NOCP, 0, 4),
1683 	DIV(CLK_DOUT_CMU_NOCL1B_NOC1, "dout_cmu_nocl1b_noc1",
1684 	    "mout_cmu_mux_nocl1b_noc1", CLK_CON_DIV_CLKCMU_NOCL1B_NOC1, 0, 4),
1685 	DIV(CLK_DOUT_CMU_PERIC0_IP0, "dout_cmu_peric0_ip0",
1686 	    "mout_cmu_mux_peric0_ip0", CLK_CON_DIV_CLKCMU_PERIC0_IP0, 0, 4),
1687 	DIV(CLK_DOUT_CMU_PERIC0_IP1, "dout_cmu_peric0_ip1",
1688 	    "mout_cmu_mux_peric0_ip1", CLK_CON_DIV_CLKCMU_PERIC0_IP1, 0, 4),
1689 	DIV(CLK_DOUT_CMU_PERIC0_NOC, "dout_cmu_peric0_noc",
1690 	    "mout_cmu_mux_peric0_noc", CLK_CON_DIV_CLKCMU_PERIC0_NOC, 0, 4),
1691 	DIV(CLK_DOUT_CMU_PERIC1_IP0, "dout_cmu_peric1_ip0",
1692 	    "mout_cmu_mux_peric1_ip0", CLK_CON_DIV_CLKCMU_PERIC1_IP0, 0, 4),
1693 	DIV(CLK_DOUT_CMU_PERIC1_IP1, "dout_cmu_peric1_ip1",
1694 	    "mout_cmu_mux_peric1_ip1", CLK_CON_DIV_CLKCMU_PERIC1_IP1, 0, 4),
1695 	DIV(CLK_DOUT_CMU_PERIC1_NOC, "dout_cmu_peric1_noc",
1696 	    "mout_cmu_mux_peric1_noc", CLK_CON_DIV_CLKCMU_PERIC1_NOC, 0, 4),
1697 	DIV(CLK_DOUT_CMU_PERIC2_IP0, "dout_cmu_peric2_ip0",
1698 	    "mout_cmu_mux_peric2_ip0", CLK_CON_DIV_CLKCMU_PERIC2_IP0, 0, 4),
1699 	DIV(CLK_DOUT_CMU_PERIC2_IP1, "dout_cmu_peric2_ip1",
1700 	    "mout_cmu_mux_peric2_ip1", CLK_CON_DIV_CLKCMU_PERIC2_IP1, 0, 4),
1701 	DIV(CLK_DOUT_CMU_PERIC2_NOC, "dout_cmu_peric2_noc",
1702 	    "mout_cmu_mux_peric2_noc", CLK_CON_DIV_CLKCMU_PERIC2_NOC, 0, 4),
1703 	DIV(CLK_DOUT_CMU_PERIS_GIC, "dout_cmu_peris_gic",
1704 	    "mout_cmu_mux_peris_gic", CLK_CON_DIV_CLKCMU_PERIS_GIC, 0, 4),
1705 	DIV(CLK_DOUT_CMU_PERIS_NOC, "dout_cmu_peris_noc",
1706 	    "mout_cmu_mux_peris_noc", CLK_CON_DIV_CLKCMU_PERIS_NOC, 0, 4),
1707 	DIV(CLK_DOUT_CMU_SSP_NOC, "dout_cmu_ssp_noc", "mout_cmu_mux_ssp_noc",
1708 	    CLK_CON_DIV_CLKCMU_SSP_NOC, 0, 4),
1709 	DIV(CLK_DOUT_CMU_VTS_DMIC, "dout_cmu_vts_dmic",
1710 	    "mout_cmu_mux_vts_dmic", CLK_CON_DIV_CLKCMU_VTS_DMIC, 0, 6),
1711 	DIV(CLK_DOUT_CMU_YUVP_NOC, "dout_cmu_yuvp_noc",
1712 	    "mout_cmu_mux_yuvp_noc", CLK_CON_DIV_CLKCMU_YUVP_NOC, 0, 4),
1713 	DIV(CLK_DOUT_CMU_CP_SHARED1_CLK, "dout_cmu_cp_shared1_clk",
1714 	    "mout_cmu_mux_cp_shared1_clk", CLK_CON_DIV_CP_SHARED1_CLK, 0, 3),
1715 	DIV(CLK_DOUT_CMU_DIV_AUD_AUDIF0, "dout_cmu_div_aud_audif0",
1716 	    "mout_cmu_mux_aud_audif0", CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF0,
1717 	    0, 6),
1718 	DIV(CLK_DOUT_CMU_DIV_AUD_AUDIF0_SM, "dout_cmu_div_aud_audif0_sm",
1719 	    "mout_cmu_aud_audif0", CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF0_SM, 0, 6),
1720 	DIV(CLK_DOUT_CMU_DIV_AUD_AUDIF1, "dout_cmu_div_aud_audif1",
1721 	    "mout_cmu_mux_aud_audif1", CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF1,
1722 	    0, 6),
1723 	DIV(CLK_DOUT_CMU_DIV_AUD_AUDIF1_SM, "dout_cmu_div_aud_audif1_sm",
1724 	    "mout_cmu_aud_audif1", CLK_CON_DIV_DIV_CLKCMU_AUD_AUDIF1_SM, 0, 6),
1725 	DIV(CLK_DOUT_CMU_DIV_AUD_CPU, "dout_cmu_div_aud_cpu",
1726 	    "mout_cmu_mux_aud_cpu", CLK_CON_DIV_DIV_CLKCMU_AUD_CPU, 0, 3),
1727 	DIV(CLK_DOUT_CMU_DIV_AUD_CPU_SM, "dout_cmu_div_aud_cpu_sm",
1728 	    "mout_cmu_aud_cpu", CLK_CON_DIV_DIV_CLKCMU_AUD_CPU_SM, 0, 3),
1729 	DIV(CLK_DOUT_CMU_DIV_CIS_CLK0, "dout_cmu_div_cis_clk0",
1730 	    "mout_cmu_mux_cis_clk0", CLK_CON_DIV_DIV_CLKCMU_CIS_CLK0, 0, 5),
1731 	DIV(CLK_DOUT_CMU_DIV_CIS_CLK1, "dout_cmu_div_cis_clk1",
1732 	    "mout_cmu_mux_cis_clk1", CLK_CON_DIV_DIV_CLKCMU_CIS_CLK1, 0, 5),
1733 	DIV(CLK_DOUT_CMU_DIV_CIS_CLK2, "dout_cmu_div_cis_clk2",
1734 	    "mout_cmu_mux_cis_clk2", CLK_CON_DIV_DIV_CLKCMU_CIS_CLK2, 0, 5),
1735 	DIV(CLK_DOUT_CMU_DIV_CIS_CLK3, "dout_cmu_div_cis_clk3",
1736 	    "mout_cmu_mux_cis_clk3", CLK_CON_DIV_DIV_CLKCMU_CIS_CLK3, 0, 5),
1737 	DIV(CLK_DOUT_CMU_DIV_CIS_CLK4, "dout_cmu_div_cis_clk4",
1738 	    "mout_cmu_mux_cis_clk4", CLK_CON_DIV_DIV_CLKCMU_CIS_CLK4, 0, 5),
1739 	DIV(CLK_DOUT_CMU_DIV_CIS_CLK5, "dout_cmu_div_cis_clk5",
1740 	    "mout_cmu_mux_cis_clk5", CLK_CON_DIV_DIV_CLKCMU_CIS_CLK5, 0, 5),
1741 	DIV(CLK_DOUT_CMU_DIV_CIS_CLK6, "dout_cmu_div_cis_clk6",
1742 	    "mout_cmu_mux_cis_clk6", CLK_CON_DIV_DIV_CLKCMU_CIS_CLK6, 0, 5),
1743 	DIV(CLK_DOUT_CMU_DIV_CIS_CLK7, "dout_cmu_div_cis_clk7",
1744 	    "mout_cmu_mux_cis_clk7", CLK_CON_DIV_DIV_CLKCMU_CIS_CLK7, 0, 5),
1745 	DIV(CLK_DOUT_CMU_DIV_CPUCL0_DBG_NOC, "dout_cmu_div_cpucl0_dbg_noc",
1746 	    "mout_cmu_mux_cpucl0_dbg_noc",
1747 	    CLK_CON_DIV_DIV_CLKCMU_CPUCL0_DBG_NOC, 0, 4),
1748 	DIV(CLK_DOUT_CMU_DIV_CPUCL0_DBG_NOC_SM,
1749 	    "dout_cmu_div_cpucl0_dbg_noc_sm", "mout_cmu_cpucl0_dbg_noc",
1750 	    CLK_CON_DIV_DIV_CLKCMU_CPUCL0_DBG_NOC_SM, 0, 4),
1751 	DIV(CLK_DOUT_CMU_DIV_CPUCL0_SWITCH, "dout_cmu_div_cpucl0_switch",
1752 	    "mout_cmu_mux_cpucl0_switch", CLK_CON_DIV_DIV_CLKCMU_CPUCL0_SWITCH,
1753 	    0, 3),
1754 	DIV(CLK_DOUT_CMU_DIV_CPUCL0_SWITCH_SM, "dout_cmu_div_cpucl0_switch_sm",
1755 	    "mout_cmu_cpucl0_switch", CLK_CON_DIV_DIV_CLKCMU_CPUCL0_SWITCH_SM,
1756 	    0, 3),
1757 	DIV(CLK_DOUT_CMU_DIV_CPUCL1_SWITCH, "dout_cmu_div_cpucl1_switch",
1758 	    "mout_cmu_mux_cpucl1_switch", CLK_CON_DIV_DIV_CLKCMU_CPUCL1_SWITCH,
1759 	    0, 3),
1760 	DIV(CLK_DOUT_CMU_DIV_CPUCL1_SWITCH_SM, "dout_cmu_div_cpucl1_switch_sm",
1761 	    "mout_cmu_cpucl1_switch", CLK_CON_DIV_DIV_CLKCMU_CPUCL1_SWITCH_SM,
1762 	    0, 3),
1763 	DIV(CLK_DOUT_CMU_DIV_CPUCL2_SWITCH, "dout_cmu_div_cpucl2_switch",
1764 	    "mout_cmu_mux_cpucl2_switch", CLK_CON_DIV_DIV_CLKCMU_CPUCL2_SWITCH,
1765 	    0, 3),
1766 	DIV(CLK_DOUT_CMU_DIV_CPUCL2_SWITCH_SM, "dout_cmu_div_cpucl2_switch_sm",
1767 	    "mout_cmu_cpucl2_switch", CLK_CON_DIV_DIV_CLKCMU_CPUCL2_SWITCH_SM,
1768 	    0, 3),
1769 	DIV(CLK_DOUT_CMU_DIV_DNC_NOC, "dout_cmu_div_dnc_noc",
1770 	    "mout_cmu_mux_dnc_noc", CLK_CON_DIV_DIV_CLKCMU_DNC_NOC, 0, 4),
1771 	DIV(CLK_DOUT_CMU_DIV_DNC_NOC_SM, "dout_cmu_div_dnc_noc_sm",
1772 	    "mout_cmu_dnc_noc", CLK_CON_DIV_DIV_CLKCMU_DNC_NOC_SM, 0, 4),
1773 	DIV(CLK_DOUT_CMU_DIV_DPUB, "dout_cmu_div_dpub", "mout_cmu_mux_dpub",
1774 	    CLK_CON_DIV_DIV_CLKCMU_DPUB, 0, 4),
1775 	DIV(CLK_DOUT_CMU_DIV_DPUB_ALT, "dout_cmu_div_dpub_alt",
1776 	    "mout_cmu_mux_dpub_alt", CLK_CON_DIV_DIV_CLKCMU_DPUB_ALT, 0, 4),
1777 	DIV(CLK_DOUT_CMU_DIV_DPUF, "dout_cmu_div_dpuf", "mout_cmu_mux_dpuf",
1778 	    CLK_CON_DIV_DIV_CLKCMU_DPUF, 0, 4),
1779 	DIV(CLK_DOUT_CMU_DIV_DPUF_ALT, "dout_cmu_div_dpuf_alt",
1780 	    "mout_cmu_mux_dpuf_alt", CLK_CON_DIV_DIV_CLKCMU_DPUF_ALT, 0, 4),
1781 	DIV(CLK_DOUT_CMU_DIV_DSP_NOC, "dout_cmu_div_dsp_noc",
1782 	    "mout_cmu_mux_dsp_noc", CLK_CON_DIV_DIV_CLKCMU_DSP_NOC, 0, 4),
1783 	DIV(CLK_DOUT_CMU_DIV_DSP_NOC_SM, "dout_cmu_div_dsp_noc_sm",
1784 	    "mout_cmu_dsp_noc", CLK_CON_DIV_DIV_CLKCMU_DSP_NOC_SM, 0, 4),
1785 	DIV(CLK_DOUT_CMU_DIV_DSU_SWITCH, "dout_cmu_div_dsu_switch",
1786 	    "mout_cmu_mux_dsu_switch", CLK_CON_DIV_DIV_CLKCMU_DSU_SWITCH,
1787 	    0, 3),
1788 	DIV(CLK_DOUT_CMU_DIV_DSU_SWITCH_SM, "dout_cmu_div_dsu_switch_sm",
1789 	    "mout_cmu_dsu_switch", CLK_CON_DIV_DIV_CLKCMU_DSU_SWITCH_SM, 0, 3),
1790 	DIV(CLK_DOUT_CMU_DIV_G3D_SWITCH, "dout_cmu_div_g3d_switch",
1791 	    "mout_cmu_mux_g3d_switch", CLK_CON_DIV_DIV_CLKCMU_G3D_SWITCH,
1792 	    0, 3),
1793 	DIV(CLK_DOUT_CMU_DIV_G3D_SWITCH_SM, "dout_cmu_div_g3d_switch_sm",
1794 	    "mout_cmu_g3d_switch", CLK_CON_DIV_DIV_CLKCMU_G3D_SWITCH_SM, 0, 3),
1795 	DIV(CLK_DOUT_CMU_DIV_GNPU_NOC, "dout_cmu_div_gnpu_noc",
1796 	    "mout_cmu_mux_gnpu_noc", CLK_CON_DIV_DIV_CLKCMU_GNPU_NOC, 0, 4),
1797 	DIV(CLK_DOUT_CMU_DIV_GNPU_NOC_SM, "dout_cmu_div_gnpu_noc_sm",
1798 	    "mout_cmu_gnpu_noc", CLK_CON_DIV_DIV_CLKCMU_GNPU_NOC_SM, 0, 4),
1799 	DIV(CLK_DOUT_CMU_DIV_UFS_MMC_CARD, "dout_cmu_div_ufs_mmc_card",
1800 	    "mout_cmu_mux_ufs_mmc_card", CLK_CON_DIV_DIV_CLKCMU_UFS_MMC_CARD,
1801 	    0, 9),
1802 	DIV(CLK_DOUT_CMU_DIV_UFS_MMC_CARD_SM, "dout_cmu_div_ufs_mmc_card_sm",
1803 	    "mout_cmu_ufs_mmc_card", CLK_CON_DIV_DIV_CLKCMU_UFS_MMC_CARD_SM,
1804 	    0, 9),
1805 	DIV(CLK_DOUT_CMU_DIV_M2M_NOC, "dout_cmu_div_m2m_noc",
1806 	    "mout_cmu_mux_m2m_noc", CLK_CON_DIV_DIV_CLKCMU_M2M_NOC, 0, 4),
1807 	DIV(CLK_DOUT_CMU_DIV_M2M_NOC_SM, "dout_cmu_div_m2m_noc_sm",
1808 	    "mout_cmu_m2m_noc", CLK_CON_DIV_DIV_CLKCMU_M2M_NOC_SM, 0, 4),
1809 	DIV(CLK_DOUT_CMU_DIV_NOCL0_NOC, "dout_cmu_div_nocl0_noc",
1810 	    "mout_cmu_mux_nocl0_noc", CLK_CON_DIV_DIV_CLKCMU_NOCL0_NOC,
1811 	    0, 4),
1812 	DIV(CLK_DOUT_CMU_DIV_NOCL0_NOC_SM, "dout_cmu_div_nocl0_noc_sm",
1813 	    "mout_cmu_nocl0_noc", CLK_CON_DIV_DIV_CLKCMU_NOCL0_NOC_SM, 0, 4),
1814 	DIV(CLK_DOUT_CMU_DIV_NOCL1A_NOC, "dout_cmu_div_nocl1a_noc",
1815 	    "mout_cmu_mux_nocl1a_noc", CLK_CON_DIV_DIV_CLKCMU_NOCL1A_NOC,
1816 	    0, 4),
1817 	DIV(CLK_DOUT_CMU_DIV_NOCL1A_NOC_SM, "dout_cmu_div_nocl1a_noc_sm",
1818 	    "mout_cmu_nocl1a_noc", CLK_CON_DIV_DIV_CLKCMU_NOCL1A_NOC_SM, 0, 4),
1819 	DIV(CLK_DOUT_CMU_DIV_NOCL1B_NOC0, "dout_cmu_div_nocl1b_noc0",
1820 	    "mout_cmu_mux_nocl1b_noc0", CLK_CON_DIV_DIV_CLKCMU_NOCL1B_NOC0,
1821 	    0, 4),
1822 	DIV(CLK_DOUT_CMU_DIV_NOCL1B_NOC0_SM, "dout_cmu_div_nocl1b_noc0_sm",
1823 	    "mout_cmu_nocl1b_noc0", CLK_CON_DIV_DIV_CLKCMU_NOCL1B_NOC0_SM,
1824 	    0, 4),
1825 	DIV(CLK_DOUT_CMU_DIV_NOCL1C_NOC, "dout_cmu_div_nocl1c_noc",
1826 	    "mout_cmu_mux_nocl1c_noc", CLK_CON_DIV_DIV_CLKCMU_NOCL1C_NOC,
1827 	    0, 4),
1828 	DIV(CLK_DOUT_CMU_DIV_NOCL1C_NOC_SM, "dout_cmu_div_nocl1c_noc_sm",
1829 	    "mout_cmu_nocl1c_noc", CLK_CON_DIV_DIV_CLKCMU_NOCL1C_NOC_SM, 0, 4),
1830 	DIV(CLK_DOUT_CMU_DIV_SDMA_NOC, "dout_cmu_div_sdma_noc",
1831 	    "mout_cmu_mux_sdma_noc", CLK_CON_DIV_DIV_CLKCMU_SDMA_NOC, 0, 4),
1832 	DIV(CLK_DOUT_CMU_DIV_SDMA_NOC_SM, "dout_cmu_div_sdma_noc_sm",
1833 	    "mout_cmu_sdma_noc", CLK_CON_DIV_DIV_CLKCMU_SDMA_NOC_SM, 0, 4),
1834 	DIV(CLK_DOUT_CMU_DIV_CP_HISPEEDY_CLK, "dout_cmu_div_cp_hispeedy_clk",
1835 	    "mout_cmu_mux_cp_hispeedy_clk", CLK_CON_DIV_DIV_CP_HISPEEDY_CLK,
1836 	    0, 4),
1837 	DIV(CLK_DOUT_CMU_DIV_CP_HISPEEDY_CLK_SM,
1838 	    "dout_cmu_div_cp_hispeedy_clk_sm", "mout_cmu_mux_cp_hispeedy_clk",
1839 	    CLK_CON_DIV_DIV_CP_HISPEEDY_CLK_SM, 0, 4),
1840 	DIV(CLK_DOUT_CMU_DIV_CP_SHARED0_CLK, "dout_cmu_div_cp_shared0_clk",
1841 	    "mout_cmu_mux_cp_shared0_clk", CLK_CON_DIV_DIV_CP_SHARED0_CLK,
1842 	    0, 3),
1843 	DIV(CLK_DOUT_CMU_DIV_CP_SHARED0_CLK_SM,
1844 	    "dout_cmu_div_cp_shared0_clk_sm", "mout_cmu_cp_shared0_clk",
1845 	    CLK_CON_DIV_DIV_CP_SHARED0_CLK_SM, 0, 3),
1846 	DIV(CLK_DOUT_CMU_DIV_CP_SHARED2_CLK, "dout_cmu_div_cp_shared2_clk",
1847 	    "mout_cmu_mux_cp_shared2_clk", CLK_CON_DIV_DIV_CP_SHARED2_CLK,
1848 	    0, 3),
1849 	DIV(CLK_DOUT_CMU_DIV_CP_SHARED2_CLK_SM,
1850 	    "dout_cmu_div_cp_shared2_clk_sm", "mout_cmu_cp_shared2_clk",
1851 	    CLK_CON_DIV_DIV_CP_SHARED2_CLK_SM, 0, 3),
1852 	DIV(CLK_DOUT_CMU_UFS_NOC, "dout_cmu_ufs_noc", "mout_cmu_mux_ufs_noc",
1853 	    CLK_CON_DIV_CLKCMU_UFS_NOC, 0, 4),
1854 	DIV(CLK_DOUT_CMU_DIV_M2M_FRC, "dout_cmu_div_m2m_frc",
1855 	    "mout_cmu_mux_m2m_frc", CLK_CON_DIV_DIV_CLKCMU_M2M_FRC, 0, 4),
1856 	DIV(CLK_DOUT_CMU_DIV_M2M_FRC_SM, "dout_cmu_div_m2m_frc_sm",
1857 	    "mout_cmu_m2m_frc", CLK_CON_DIV_DIV_CLKCMU_M2M_FRC_SM, 0, 4),
1858 	DIV(CLK_DOUT_CMU_DIV_MCSC_MCSC, "dout_cmu_div_mcsc_mcsc",
1859 	    "mout_cmu_mux_mcsc_mcsc", CLK_CON_DIV_DIV_CLKCMU_MCSC_MCSC, 0, 4),
1860 	DIV(CLK_DOUT_CMU_DIV_MCSC_MCSC_SM, "dout_cmu_div_mcsc_mcsc_sm",
1861 	    "mout_cmu_mcsc_mcsc", CLK_CON_DIV_DIV_CLKCMU_MCSC_MCSC_SM, 0, 4),
1862 	DIV(CLK_DOUT_CMU_DIV_MCSC_NOC, "dout_cmu_div_mcsc_noc",
1863 	    "mout_cmu_mux_mcsc_noc", CLK_CON_DIV_DIV_CLKCMU_MCSC_NOC, 0, 4),
1864 	DIV(CLK_DOUT_CMU_DIV_MCSC_NOC_SM, "dout_cmu_div_mcsc_noc_sm",
1865 	    "mout_cmu_mcsc_noc", CLK_CON_DIV_DIV_CLKCMU_MCSC_NOC_SM, 0, 4),
1866 };
1867 
1868 static const struct samsung_fixed_factor_clock top_fixed_factor_clks[] __initconst = {
1869 	FFACTOR(CLK_DOUT_SHARED0_DIV1, "dout_shared0_div1",
1870 		"fout_shared0_pll", 1, 1, 0),
1871 	FFACTOR(CLK_DOUT_SHARED0_DIV2, "dout_shared0_div2",
1872 		"fout_shared0_pll", 1, 2, 0),
1873 	FFACTOR(CLK_DOUT_SHARED0_DIV4, "dout_shared0_div4",
1874 		"fout_shared0_pll", 1, 4, 0),
1875 	FFACTOR(CLK_DOUT_SHARED1_DIV1, "dout_shared1_div1",
1876 		"fout_shared1_pll", 1, 1, 0),
1877 	FFACTOR(CLK_DOUT_SHARED1_DIV2, "dout_shared1_div2",
1878 		"fout_shared1_pll", 1, 2, 0),
1879 	FFACTOR(CLK_DOUT_SHARED1_DIV4, "dout_shared1_div4",
1880 		"fout_shared1_pll", 1, 4, 0),
1881 	FFACTOR(CLK_DOUT_SHARED2_DIV1, "dout_shared2_div1",
1882 		"fout_shared2_pll", 1, 1, 0),
1883 	FFACTOR(CLK_DOUT_SHARED2_DIV2, "dout_shared2_div2",
1884 		"fout_shared2_pll", 1, 2, 0),
1885 	FFACTOR(CLK_DOUT_SHARED2_DIV4, "dout_shared2_div4",
1886 		"fout_shared2_pll", 1, 4, 0),
1887 	FFACTOR(CLK_DOUT_SHARED3_DIV1, "dout_shared3_div1",
1888 		"fout_shared3_pll", 1, 1, 0),
1889 	FFACTOR(CLK_DOUT_SHARED3_DIV2, "dout_shared3_div2",
1890 		"fout_shared3_pll", 1, 2, 0),
1891 	FFACTOR(CLK_DOUT_SHARED3_DIV4, "dout_shared3_div4",
1892 		"fout_shared3_pll", 1, 4, 0),
1893 	FFACTOR(CLK_DOUT_SHARED4_DIV1, "dout_shared4_div1",
1894 		"fout_shared4_pll", 1, 1, 0),
1895 	FFACTOR(CLK_DOUT_SHARED4_DIV2, "dout_shared4_div2",
1896 		"fout_shared4_pll", 1, 2, 0),
1897 	FFACTOR(CLK_DOUT_SHARED4_DIV4, "dout_shared4_div4",
1898 		"fout_shared4_pll", 1, 4, 0),
1899 	FFACTOR(CLK_DOUT_SHARED_MIF_DIV1, "dout_shared_mif_div1",
1900 		"fout_shared_mif_pll", 1, 1, 0),
1901 	FFACTOR(CLK_DOUT_SHARED_MIF_DIV2, "dout_shared_mif_div2",
1902 		"fout_shared_mif_pll", 1, 2, 0),
1903 	FFACTOR(CLK_DOUT_SHARED_MIF_DIV4, "dout_shared_mif_div4",
1904 		"fout_shared_mif_pll", 1, 4, 0),
1905 	FFACTOR(CLK_DOUT_SHARED_MIF_DIV4, "dout_mmc_div1",
1906 		"fout_mmc_pll", 1, 1, 0),
1907 	FFACTOR(CLK_DOUT_SHARED_MIF_DIV4, "dout_mmc_div2",
1908 		"fout_mmc_pll", 1, 2, 0),
1909 	FFACTOR(CLK_DOUT_SHARED_MIF_DIV4, "dout_mmc_div4",
1910 		"fout_mmc_pll", 1, 4, 0),
1911 	FFACTOR(CLK_DOUT_TCXO_DIV3, "dout_tcxo_div3",
1912 		"oscclk", 1, 3, 0),
1913 	FFACTOR(CLK_DOUT_TCXO_DIV4, "dout_tcxo_div4",
1914 		"oscclk", 1, 4, 0),
1915 };
1916 
1917 static const struct samsung_cmu_info top_cmu_info __initconst = {
1918 	.pll_clks		= top_pll_clks,
1919 	.nr_pll_clks		= ARRAY_SIZE(top_pll_clks),
1920 	.mux_clks		= top_mux_clks,
1921 	.nr_mux_clks		= ARRAY_SIZE(top_mux_clks),
1922 	.div_clks		= top_div_clks,
1923 	.nr_div_clks		= ARRAY_SIZE(top_div_clks),
1924 	.fixed_factor_clks	= top_fixed_factor_clks,
1925 	.nr_fixed_factor_clks	= ARRAY_SIZE(top_fixed_factor_clks),
1926 	.nr_clk_ids		= CLKS_NR_TOP,
1927 	.clk_regs		= top_clk_regs,
1928 	.nr_clk_regs		= ARRAY_SIZE(top_clk_regs),
1929 };
1930 
1931 static void __init exynos2200_cmu_top_init(struct device_node *np)
1932 {
1933 	exynos_arm64_register_cmu(NULL, np, &top_cmu_info);
1934 }
1935 
1936 /* Register CMU_TOP early, as it's a dependency for other early domains */
1937 CLK_OF_DECLARE(exynos2200_cmu_top, "samsung,exynos2200-cmu-top",
1938 	       exynos2200_cmu_top_init);
1939 
1940 /* ---- CMU_ALIVE ---------------------------------------------------------- */
1941 
1942 /* Register Offset definitions for CMU_ALIVE (0x15800000) */
1943 #define PLL_CON0_MUX_CLKCMU_ALIVE_NOC_USER						0x600
1944 #define PLL_CON1_MUX_CLKCMU_ALIVE_NOC_USER						0x604
1945 #define PLL_CON0_MUX_CLKMUX_ALIVE_RCO_SPMI_USER						0x610
1946 #define PLL_CON1_MUX_CLKMUX_ALIVE_RCO_SPMI_USER						0x614
1947 #define PLL_CON0_MUX_CLK_RCO_ALIVE_USER							0x620
1948 #define PLL_CON1_MUX_CLK_RCO_ALIVE_USER							0x624
1949 #define CLK_CON_MUX_MUX_CLKALIVE_CHUB_PERI						0x1004
1950 #define CLK_CON_MUX_MUX_CLKALIVE_CMGP_NOC						0x1008
1951 #define CLK_CON_MUX_MUX_CLKALIVE_CMGP_PERI						0x100c
1952 #define CLK_CON_MUX_MUX_CLKALIVE_DBGCORE_NOC						0x1010
1953 #define CLK_CON_MUX_MUX_CLKALIVE_DNC_NOC						0x1014
1954 #define CLK_CON_MUX_MUX_CLKALIVE_CHUBVTS_NOC						0x1018
1955 #define CLK_CON_MUX_MUX_CLKALIVE_GNPU_NOC						0x101c
1956 #define CLK_CON_MUX_MUX_CLKALIVE_GNSS_NOC						0x1020
1957 #define CLK_CON_MUX_MUX_CLKALIVE_SDMA_NOC						0x1024
1958 #define CLK_CON_MUX_MUX_CLKALIVE_UFD_NOC						0x1028
1959 #define CLK_CON_MUX_MUX_CLK_ALIVE_DBGCORE_UART						0x1030
1960 #define CLK_CON_MUX_MUX_CLK_ALIVE_NOC							0x1034
1961 #define CLK_CON_MUX_MUX_CLK_ALIVE_PMU_SUB						0x1038
1962 #define CLK_CON_MUX_MUX_CLK_ALIVE_SPMI							0x103c
1963 #define CLK_CON_MUX_MUX_CLK_ALIVE_TIMER							0x1040
1964 #define CLK_CON_MUX_MUX_CLKALIVE_CSIS_NOC						0x1044
1965 #define CLK_CON_MUX_MUX_CLKALIVE_DSP_NOC						0x1048
1966 #define CLK_CON_DIV_CLKALIVE_CHUB_PERI							0x1804
1967 #define CLK_CON_DIV_CLKALIVE_CMGP_NOC							0x1808
1968 #define CLK_CON_DIV_CLKALIVE_CMGP_PERI							0x180c
1969 #define CLK_CON_DIV_CLKALIVE_DBGCORE_NOC						0x1810
1970 #define CLK_CON_DIV_CLKALIVE_DNC_NOC							0x1814
1971 #define CLK_CON_DIV_CLKALIVE_CHUBVTS_NOC						0x1818
1972 #define CLK_CON_DIV_CLKALIVE_GNPU_NOC							0x181c
1973 #define CLK_CON_DIV_CLKALIVE_SDMA_NOC							0x1820
1974 #define CLK_CON_DIV_CLKALIVE_UFD_NOC							0x1824
1975 #define CLK_CON_DIV_DIV_CLK_ALIVE_DBGCORE_UART						0x182c
1976 #define CLK_CON_DIV_DIV_CLK_ALIVE_NOC							0x1830
1977 #define CLK_CON_DIV_DIV_CLK_ALIVE_PMU_SUB						0x1834
1978 #define CLK_CON_DIV_DIV_CLK_ALIVE_SPMI							0x1838
1979 #define CLK_CON_DIV_CLKALIVE_CSIS_NOC							0x183c
1980 #define CLK_CON_DIV_CLKALIVE_DSP_NOC							0x1840
1981 #define CLK_CON_GAT_CLKALIVE_CHUBVTS_RCO						0x2000
1982 #define CLK_CON_GAT_CLKALIVE_DNC_RCO							0x2004
1983 #define CLK_CON_GAT_CLKALIVE_CSIS_RCO							0x2008
1984 #define CLK_CON_GAT_CLKALIVE_GNPU_RCO							0x200c
1985 #define CLK_CON_GAT_CLKALIVE_GNSS_NOC							0x2010
1986 #define CLK_CON_GAT_CLKALIVE_SDMA_RCO							0x2014
1987 #define CLK_CON_GAT_CLKALIVE_UFD_RCO							0x2018
1988 #define CLK_CON_GAT_CLKALIVE_DSP_RCO							0x201c
1989 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_ALIVE_CMU_ALIVE_IPCLKPORT_PCLK			0x2020
1990 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_GPIO_ALIVE_IPCLKPORT_PCLK			0x2024
1991 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_INTCOMB_VGPIO2APM_IPCLKPORT_PCLK		0x2028
1992 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_INTCOMB_VGPIO2AP_IPCLKPORT_PCLK		0x202c
1993 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_INTCOMB_VGPIO2PMU_IPCLKPORT_PCLK		0x2030
1994 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_PMU_ALIVE_IPCLKPORT_PCLK			0x2034
1995 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_APM_DMA_IPCLKPORT_PCLK				0x2038
1996 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_CHUB_RTC_IPCLKPORT_OSCCLK				0x203c
1997 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_CHUB_RTC_IPCLKPORT_PCLK				0x2040
1998 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_CLKMON_IPCLKPORT_PCLK				0x2044
1999 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_DBGCORE_UART_IPCLKPORT_IPCLK			0x2048
2000 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_DBGCORE_UART_IPCLKPORT_PCLK			0x204c
2001 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_BLK_ALIVE_FRC_OTP_DESERIAL_IPCLKPORT_I_CLK	0x2050
2002 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_DTZPC_ALIVE_IPCLKPORT_PCLK			0x2054
2003 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_GREBEINTEGRATION_IPCLKPORT_HCLK			0x2058
2004 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_HW_SCANDUMP_CLKSTOP_CTRL_IPCLKPORT_ACLK		0x205c
2005 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_INTMEM_IPCLKPORT_I_ACLK				0x2060
2006 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_INTMEM_IPCLKPORT_I_PCLK				0x2064
2007 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_LH_AXI_SI_D_APM_IPCLKPORT_I_CLK			0x2068
2008 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_AP_IPCLKPORT_PCLK			0x206c
2009 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_CHUB_IPCLKPORT_PCLK			0x2070
2010 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_CP_IPCLKPORT_PCLK			0x2074
2011 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_GNSS_IPCLKPORT_PCLK			0x2078
2012 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_VTS_IPCLKPORT_PCLK			0x207c
2013 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_CHUB_IPCLKPORT_PCLK			0x2080
2014 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_CP_IPCLKPORT_PCLK			0x2084
2015 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_CP_S_IPCLKPORT_PCLK			0x2088
2016 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_DBGCORE_IPCLKPORT_PCLK			0x208c
2017 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_GNSS_IPCLKPORT_PCLK			0x2090
2018 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_CP_CHUB_IPCLKPORT_PCLK			0x2094
2019 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_CP_GNSS_IPCLKPORT_PCLK			0x2098
2020 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_GNSS_CHUB_IPCLKPORT_PCLK			0x209c
2021 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_SHARED_SRAM_IPCLKPORT_PCLK		0x20a0
2022 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_AUD_IPCLKPORT_PCLK			0x20a4
2023 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MCT_ALIVE_IPCLKPORT_I_PCLK			0x20a8
2024 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_PMU_INTR_GEN_IPCLKPORT_PCLK			0x20ac
2025 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_PMU_IPCLKPORT_ACLK				0x20b0
2026 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_PMU_IPCLKPORT_CLKIN_PMU_SUB			0x20b4
2027 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_CP_1_IPCLKPORT_PCLK			0x20b8
2028 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_OTP_DESERIAL_ALIVE_IPCLKPORT_I_CLK		0x20bc
2029 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_DBGCORE_UART_IPCLKPORT_CLK	0x20c0
2030 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_FREE_OSCCLK_IPCLKPORT_CLK	0x20c4
2031 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_GREBE_IPCLKPORT_CLK		0x20c8
2032 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_NOC_IPCLKPORT_CLK		0x20cc
2033 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_OSCCLK_RCO_IPCLKPORT_CLK	0x20d0
2034 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_SPMI_IPCLKPORT_CLK		0x20d4
2035 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_TIMER_IPCLKPORT_CLK		0x20d8
2036 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_NOC_IPCLKPORT_CLK		0x20dc
2037 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RTC_IPCLKPORT_PCLK				0x20e0
2038 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_OTP_HCU_DESERIAL_IPCLKPORT_I_CLK			0x20e4
2039 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_LD_GNSS_IPCLKPORT_I_CLK		0x20e8
2040 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_LP_MODEM_IPCLKPORT_I_CLK		0x20ec
2041 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_LD_CHUBVTS_IPCLKPORT_I_CLK		0x20f0
2042 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_ID_DBGCORE_IPCLKPORT_I_CLK		0x20f4
2043 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_P_APM_IPCLKPORT_I_CLK			0x20f8
2044 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_LP_CMGP_IPCLKPORT_I_CLK		0x20fc
2045 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_IP_APM_IPCLKPORT_I_CLK			0x2100
2046 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_FREE_OSCCLK_IPCLKPORT_CLK	0x2104
2047 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_LP_CHUBVTS_IPCLKPORT_I_CLK		0x2108
2048 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_LP_PPU_IPCLKPORT_I_CLK			0x210c
2049 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_LP_ALIVEDNC_IPCLKPORT_I_CLK		0x2110
2050 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SPC_ALIVE_IPCLKPORT_PCLK				0x2114
2051 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SPMI_MASTER_PMIC_IPCLKPORT_I_IPCLK		0x2118
2052 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SPMI_MASTER_PMIC_IPCLKPORT_I_PCLK			0x211c
2053 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SWEEPER_P_ALIVE_IPCLKPORT_ACLK			0x2120
2054 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_SYSREG_ALIVE_IPCLKPORT_PCLK			0x2124
2055 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_TOP_RTC_IPCLKPORT_OSCCLK				0x2128
2056 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_TOP_RTC_IPCLKPORT_PCLK				0x212c
2057 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_VGEN_LITE_ALIVE_IPCLKPORT_CLK			0x2130
2058 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_WDT_ALIVE_IPCLKPORT_PCLK				0x2134
2059 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_XIU_DP_ALIVE_IPCLKPORT_ACLK			0x2138
2060 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_OSCCLK_RCO_IPCLKPORT_CLK	0x213c
2061 #define CLK_CON_GAT_GATE_CLKALIVE_CHUB_PERI						0x2140
2062 #define CLK_CON_GAT_GATE_CLKALIVE_CMGP_NOC						0x2144
2063 #define CLK_CON_GAT_GATE_CLKALIVE_CMGP_PERI						0x2148
2064 #define CLK_CON_GAT_GATE_CLKALIVE_DBGCORE_NOC						0x214c
2065 #define CLK_CON_GAT_GATE_CLKALIVE_DNC_NOC						0x2150
2066 #define CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_SPMI_IPCLKPORT_CLK		0x2154
2067 #define CLK_CON_GAT_GATE_CLKALIVE_GNPU_NOC						0x2158
2068 #define CLK_CON_GAT_GATE_CLKALIVE_SDMA_NOC						0x215c
2069 #define CLK_CON_GAT_GATE_CLKALIVE_UFD_NOC						0x2160
2070 #define CLK_CON_GAT_GATE_CLKALIVE_CHUBVTS_NOC						0x2164
2071 #define CLK_CON_GAT_GATE_CLKALIVE_CSIS_NOC						0x2168
2072 #define CLK_CON_GAT_GATE_CLKALIVE_DSP_NOC						0x216c
2073 
2074 static const unsigned long alive_clk_regs[] __initconst = {
2075 	PLL_CON0_MUX_CLKCMU_ALIVE_NOC_USER,
2076 	PLL_CON1_MUX_CLKCMU_ALIVE_NOC_USER,
2077 	PLL_CON0_MUX_CLKMUX_ALIVE_RCO_SPMI_USER,
2078 	PLL_CON1_MUX_CLKMUX_ALIVE_RCO_SPMI_USER,
2079 	PLL_CON0_MUX_CLK_RCO_ALIVE_USER,
2080 	PLL_CON1_MUX_CLK_RCO_ALIVE_USER,
2081 	CLK_CON_MUX_MUX_CLKALIVE_CHUB_PERI,
2082 	CLK_CON_MUX_MUX_CLKALIVE_CMGP_NOC,
2083 	CLK_CON_MUX_MUX_CLKALIVE_CMGP_PERI,
2084 	CLK_CON_MUX_MUX_CLKALIVE_DBGCORE_NOC,
2085 	CLK_CON_MUX_MUX_CLKALIVE_DNC_NOC,
2086 	CLK_CON_MUX_MUX_CLKALIVE_CHUBVTS_NOC,
2087 	CLK_CON_MUX_MUX_CLKALIVE_GNPU_NOC,
2088 	CLK_CON_MUX_MUX_CLKALIVE_GNSS_NOC,
2089 	CLK_CON_MUX_MUX_CLKALIVE_SDMA_NOC,
2090 	CLK_CON_MUX_MUX_CLKALIVE_UFD_NOC,
2091 	CLK_CON_MUX_MUX_CLK_ALIVE_DBGCORE_UART,
2092 	CLK_CON_MUX_MUX_CLK_ALIVE_NOC,
2093 	CLK_CON_MUX_MUX_CLK_ALIVE_PMU_SUB,
2094 	CLK_CON_MUX_MUX_CLK_ALIVE_SPMI,
2095 	CLK_CON_MUX_MUX_CLK_ALIVE_TIMER,
2096 	CLK_CON_MUX_MUX_CLKALIVE_CSIS_NOC,
2097 	CLK_CON_MUX_MUX_CLKALIVE_DSP_NOC,
2098 	CLK_CON_DIV_CLKALIVE_CHUB_PERI,
2099 	CLK_CON_DIV_CLKALIVE_CMGP_NOC,
2100 	CLK_CON_DIV_CLKALIVE_CMGP_PERI,
2101 	CLK_CON_DIV_CLKALIVE_DBGCORE_NOC,
2102 	CLK_CON_DIV_CLKALIVE_DNC_NOC,
2103 	CLK_CON_DIV_CLKALIVE_CHUBVTS_NOC,
2104 	CLK_CON_DIV_CLKALIVE_GNPU_NOC,
2105 	CLK_CON_DIV_CLKALIVE_SDMA_NOC,
2106 	CLK_CON_DIV_CLKALIVE_UFD_NOC,
2107 	CLK_CON_DIV_DIV_CLK_ALIVE_DBGCORE_UART,
2108 	CLK_CON_DIV_DIV_CLK_ALIVE_NOC,
2109 	CLK_CON_DIV_DIV_CLK_ALIVE_PMU_SUB,
2110 	CLK_CON_DIV_DIV_CLK_ALIVE_SPMI,
2111 	CLK_CON_DIV_CLKALIVE_CSIS_NOC,
2112 	CLK_CON_DIV_CLKALIVE_DSP_NOC,
2113 	CLK_CON_GAT_CLKALIVE_CHUBVTS_RCO,
2114 	CLK_CON_GAT_CLKALIVE_DNC_RCO,
2115 	CLK_CON_GAT_CLKALIVE_CSIS_RCO,
2116 	CLK_CON_GAT_CLKALIVE_GNPU_RCO,
2117 	CLK_CON_GAT_CLKALIVE_GNSS_NOC,
2118 	CLK_CON_GAT_CLKALIVE_SDMA_RCO,
2119 	CLK_CON_GAT_CLKALIVE_UFD_RCO,
2120 	CLK_CON_GAT_CLKALIVE_DSP_RCO,
2121 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_ALIVE_CMU_ALIVE_IPCLKPORT_PCLK,
2122 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_GPIO_ALIVE_IPCLKPORT_PCLK,
2123 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_INTCOMB_VGPIO2APM_IPCLKPORT_PCLK,
2124 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_INTCOMB_VGPIO2AP_IPCLKPORT_PCLK,
2125 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_INTCOMB_VGPIO2PMU_IPCLKPORT_PCLK,
2126 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_APBIF_PMU_ALIVE_IPCLKPORT_PCLK,
2127 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_APM_DMA_IPCLKPORT_PCLK,
2128 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_CHUB_RTC_IPCLKPORT_OSCCLK,
2129 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_CHUB_RTC_IPCLKPORT_PCLK,
2130 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_CLKMON_IPCLKPORT_PCLK,
2131 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_DBGCORE_UART_IPCLKPORT_IPCLK,
2132 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_DBGCORE_UART_IPCLKPORT_PCLK,
2133 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_BLK_ALIVE_FRC_OTP_DESERIAL_IPCLKPORT_I_CLK,
2134 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_DTZPC_ALIVE_IPCLKPORT_PCLK,
2135 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_GREBEINTEGRATION_IPCLKPORT_HCLK,
2136 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_HW_SCANDUMP_CLKSTOP_CTRL_IPCLKPORT_ACLK,
2137 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_INTMEM_IPCLKPORT_I_ACLK,
2138 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_INTMEM_IPCLKPORT_I_PCLK,
2139 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_LH_AXI_SI_D_APM_IPCLKPORT_I_CLK,
2140 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_AP_IPCLKPORT_PCLK,
2141 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_CHUB_IPCLKPORT_PCLK,
2142 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_CP_IPCLKPORT_PCLK,
2143 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_GNSS_IPCLKPORT_PCLK,
2144 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_VTS_IPCLKPORT_PCLK,
2145 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_CHUB_IPCLKPORT_PCLK,
2146 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_CP_IPCLKPORT_PCLK,
2147 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_CP_S_IPCLKPORT_PCLK,
2148 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_DBGCORE_IPCLKPORT_PCLK,
2149 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_AP_GNSS_IPCLKPORT_PCLK,
2150 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_CP_CHUB_IPCLKPORT_PCLK,
2151 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_CP_GNSS_IPCLKPORT_PCLK,
2152 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_GNSS_CHUB_IPCLKPORT_PCLK,
2153 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_SHARED_SRAM_IPCLKPORT_PCLK,
2154 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_AUD_IPCLKPORT_PCLK,
2155 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MCT_ALIVE_IPCLKPORT_I_PCLK,
2156 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_PMU_INTR_GEN_IPCLKPORT_PCLK,
2157 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_PMU_IPCLKPORT_ACLK,
2158 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_PMU_IPCLKPORT_CLKIN_PMU_SUB,
2159 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_MAILBOX_APM_CP_1_IPCLKPORT_PCLK,
2160 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_OTP_DESERIAL_ALIVE_IPCLKPORT_I_CLK,
2161 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_DBGCORE_UART_IPCLKPORT_CLK,
2162 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_FREE_OSCCLK_IPCLKPORT_CLK,
2163 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_GREBE_IPCLKPORT_CLK,
2164 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_NOC_IPCLKPORT_CLK,
2165 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_OSCCLK_RCO_IPCLKPORT_CLK,
2166 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_SPMI_IPCLKPORT_CLK,
2167 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_CLK_ALIVE_TIMER_IPCLKPORT_CLK,
2168 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_NOC_IPCLKPORT_CLK,
2169 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RTC_IPCLKPORT_PCLK,
2170 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_OTP_HCU_DESERIAL_IPCLKPORT_I_CLK,
2171 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_LD_GNSS_IPCLKPORT_I_CLK,
2172 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_LP_MODEM_IPCLKPORT_I_CLK,
2173 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_LD_CHUBVTS_IPCLKPORT_I_CLK,
2174 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_ID_DBGCORE_IPCLKPORT_I_CLK,
2175 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_MI_P_APM_IPCLKPORT_I_CLK,
2176 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_LP_CMGP_IPCLKPORT_I_CLK,
2177 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_IP_APM_IPCLKPORT_I_CLK,
2178 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_FREE_OSCCLK_IPCLKPORT_CLK,
2179 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_LP_CHUBVTS_IPCLKPORT_I_CLK,
2180 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_LP_PPU_IPCLKPORT_I_CLK,
2181 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SLH_AXI_SI_LP_ALIVEDNC_IPCLKPORT_I_CLK,
2182 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SPC_ALIVE_IPCLKPORT_PCLK,
2183 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SPMI_MASTER_PMIC_IPCLKPORT_I_IPCLK,
2184 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SPMI_MASTER_PMIC_IPCLKPORT_I_PCLK,
2185 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SWEEPER_P_ALIVE_IPCLKPORT_ACLK,
2186 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_SYSREG_ALIVE_IPCLKPORT_PCLK,
2187 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_TOP_RTC_IPCLKPORT_OSCCLK,
2188 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_TOP_RTC_IPCLKPORT_PCLK,
2189 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_VGEN_LITE_ALIVE_IPCLKPORT_CLK,
2190 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_WDT_ALIVE_IPCLKPORT_PCLK,
2191 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_XIU_DP_ALIVE_IPCLKPORT_ACLK,
2192 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_OSCCLK_RCO_IPCLKPORT_CLK,
2193 	CLK_CON_GAT_GATE_CLKALIVE_CHUB_PERI,
2194 	CLK_CON_GAT_GATE_CLKALIVE_CMGP_NOC,
2195 	CLK_CON_GAT_GATE_CLKALIVE_CMGP_PERI,
2196 	CLK_CON_GAT_GATE_CLKALIVE_DBGCORE_NOC,
2197 	CLK_CON_GAT_GATE_CLKALIVE_DNC_NOC,
2198 	CLK_CON_GAT_CLK_BLK_ALIVE_UID_RSTNSYNC_SR_CLK_ALIVE_SPMI_IPCLKPORT_CLK,
2199 	CLK_CON_GAT_GATE_CLKALIVE_GNPU_NOC,
2200 	CLK_CON_GAT_GATE_CLKALIVE_SDMA_NOC,
2201 	CLK_CON_GAT_GATE_CLKALIVE_UFD_NOC,
2202 	CLK_CON_GAT_GATE_CLKALIVE_CHUBVTS_NOC,
2203 	CLK_CON_GAT_GATE_CLKALIVE_CSIS_NOC,
2204 	CLK_CON_GAT_GATE_CLKALIVE_DSP_NOC,
2205 };
2206 
2207 PNAME(mout_alive_noc_user_p)		= { "oscclk", "dout_cmu_alive_noc" };
2208 PNAME(mout_alive_rco_spmi_user_p)	= { "oscclk", "rco_i3c_pmic" };
2209 PNAME(mout_rco_alive_user_p)		= { "oscclk", "rco_alive" };
2210 PNAME(mout_alive_chub_peri_p)		= { "mout_rco_alive_user", "rco_400",
2211 					    "mout_alive_noc_user", "oscclk" };
2212 PNAME(mout_alive_cmgp_noc_p)		= { "mout_rco_alive_user", "rco_400",
2213 					    "mout_alive_noc_user", "oscclk" };
2214 PNAME(mout_alive_cmgp_peri_p)		= { "mout_rco_alive_user", "rco_400",
2215 					    "mout_alive_noc_user", "oscclk" };
2216 PNAME(mout_alive_dbgcore_noc_p)		= { "mout_rco_alive_user", "rco_400",
2217 					    "mout_alive_noc_user", "oscclk" };
2218 PNAME(mout_alive_dnc_noc_p)		= { "mout_rco_alive_user", "rco_400",
2219 					    "mout_alive_noc_user", "oscclk" };
2220 PNAME(mout_alive_chubvts_noc_p)		= { "mout_rco_alive_user", "rco_400",
2221 					    "mout_alive_noc_user", "oscclk" };
2222 PNAME(mout_alive_gnpu_noc_p)		= { "mout_rco_alive_user", "rco_400",
2223 					    "mout_alive_noc_user", "oscclk" };
2224 PNAME(mout_alive_gnss_noc_p)		= { "rco_400", "mout_alive_noc_user" };
2225 PNAME(mout_alive_sdma_noc_p)		= { "mout_rco_alive_user", "rco_400",
2226 					    "mout_alive_noc_user", "oscclk" };
2227 PNAME(mout_alive_ufd_noc_p)		= { "mout_rco_alive_user",
2228 					    "rco_400",
2229 					    "mout_alive_noc_user",
2230 					    "oscclk" };
2231 PNAME(mout_alive_dbgcore_uart_p)	= { "mout_rco_alive_user", "rco_400",
2232 					    "mout_alive_noc_user", "oscclk" };
2233 PNAME(mout_alive_noc_p)			= { "mout_rco_alive_user", "rco_400",
2234 					    "mout_alive_noc_user", "oscclk" };
2235 PNAME(mout_alive_pmu_sub_p)		= { "mout_rco_alive_user", "rco_400",
2236 					    "mout_alive_noc_user", "oscclk" };
2237 PNAME(mout_alive_spmi_p)		= { "mout_rco_alive_user", "rco_400",
2238 					    "mout_alive_rco_spmi_user",
2239 					    "oscclk" };
2240 PNAME(mout_alive_timer_p)		= { "oscclk", "oscclk" };
2241 PNAME(mout_alive_csis_noc_p)		= { "mout_rco_alive_user", "rco_400",
2242 					    "mout_alive_noc_user", "oscclk" };
2243 PNAME(mout_alive_dsp_noc_p)		= { "mout_rco_alive_user", "rco_400",
2244 					    "mout_alive_noc_user", "oscclk" };
2245 
2246 static const struct samsung_mux_clock alive_mux_clks[] __initconst = {
2247 	MUX(CLK_MOUT_ALIVE_NOC_USER, "mout_alive_noc_user",
2248 	    mout_alive_noc_user_p, PLL_CON0_MUX_CLKCMU_ALIVE_NOC_USER, 4, 1),
2249 	MUX(CLK_MOUT_ALIVE_RCO_SPMI_USER, "mout_alive_rco_spmi_user",
2250 	    mout_alive_rco_spmi_user_p,
2251 	    PLL_CON0_MUX_CLKMUX_ALIVE_RCO_SPMI_USER, 4, 1),
2252 	MUX(CLK_MOUT_RCO_ALIVE_USER, "mout_rco_alive_user",
2253 	    mout_rco_alive_user_p, PLL_CON0_MUX_CLK_RCO_ALIVE_USER, 4, 1),
2254 	MUX(CLK_MOUT_ALIVE_CHUB_PERI, "mout_alive_chub_peri",
2255 	    mout_alive_chub_peri_p, CLK_CON_MUX_MUX_CLKALIVE_CHUB_PERI, 0, 2),
2256 	MUX(CLK_MOUT_ALIVE_CMGP_NOC, "mout_alive_cmgp_noc",
2257 	    mout_alive_cmgp_noc_p, CLK_CON_MUX_MUX_CLKALIVE_CMGP_NOC, 0, 2),
2258 	MUX(CLK_MOUT_ALIVE_CMGP_PERI, "mout_alive_cmgp_peri",
2259 	    mout_alive_cmgp_peri_p, CLK_CON_MUX_MUX_CLKALIVE_CMGP_PERI, 0, 2),
2260 	MUX(CLK_MOUT_ALIVE_DBGCORE_NOC, "mout_alive_dbgcore_noc",
2261 	    mout_alive_dbgcore_noc_p, CLK_CON_MUX_MUX_CLKALIVE_DBGCORE_NOC,
2262 	    0, 2),
2263 	MUX(CLK_MOUT_ALIVE_DNC_NOC, "mout_alive_dnc_noc", mout_alive_dnc_noc_p,
2264 	    CLK_CON_MUX_MUX_CLKALIVE_DNC_NOC, 0, 2),
2265 	MUX(CLK_MOUT_ALIVE_CHUBVTS_NOC, "mout_alive_chubvts_noc",
2266 	    mout_alive_chubvts_noc_p, CLK_CON_MUX_MUX_CLKALIVE_CHUBVTS_NOC,
2267 	    0, 2),
2268 	MUX(CLK_MOUT_ALIVE_GNPU_NOC, "mout_alive_gnpu_noc",
2269 	    mout_alive_gnpu_noc_p, CLK_CON_MUX_MUX_CLKALIVE_GNPU_NOC, 0, 2),
2270 	MUX(CLK_MOUT_ALIVE_GNSS_NOC, "mout_alive_gnss_noc",
2271 	    mout_alive_gnss_noc_p, CLK_CON_MUX_MUX_CLKALIVE_GNSS_NOC, 0, 1),
2272 	MUX(CLK_MOUT_ALIVE_SDMA_NOC, "mout_alive_sdma_noc",
2273 	    mout_alive_sdma_noc_p, CLK_CON_MUX_MUX_CLKALIVE_SDMA_NOC, 0, 2),
2274 	MUX(CLK_MOUT_ALIVE_UFD_NOC, "mout_alive_ufd_noc", mout_alive_ufd_noc_p,
2275 	    CLK_CON_MUX_MUX_CLKALIVE_UFD_NOC, 0, 2),
2276 	MUX(CLK_MOUT_ALIVE_DBGCORE_UART, "mout_alive_dbgcore_uart",
2277 	    mout_alive_dbgcore_uart_p, CLK_CON_MUX_MUX_CLK_ALIVE_DBGCORE_UART,
2278 	    0, 2),
2279 	MUX(CLK_MOUT_ALIVE_NOC, "mout_alive_noc", mout_alive_noc_p,
2280 	    CLK_CON_MUX_MUX_CLK_ALIVE_NOC, 0, 2),
2281 	MUX(CLK_MOUT_ALIVE_PMU_SUB, "mout_alive_pmu_sub", mout_alive_pmu_sub_p,
2282 	    CLK_CON_MUX_MUX_CLK_ALIVE_PMU_SUB, 0, 2),
2283 	MUX(CLK_MOUT_ALIVE_SPMI, "mout_alive_spmi", mout_alive_spmi_p,
2284 	    CLK_CON_MUX_MUX_CLK_ALIVE_SPMI, 0, 2),
2285 	MUX(CLK_MOUT_ALIVE_TIMER, "mout_alive_timer", mout_alive_timer_p,
2286 	    CLK_CON_MUX_MUX_CLK_ALIVE_TIMER, 0, 1),
2287 	MUX(CLK_MOUT_ALIVE_CSIS_NOC, "mout_alive_csis_noc",
2288 	    mout_alive_csis_noc_p, CLK_CON_MUX_MUX_CLKALIVE_CSIS_NOC, 0, 2),
2289 	MUX(CLK_MOUT_ALIVE_DSP_NOC, "mout_alive_dsp_noc", mout_alive_dsp_noc_p,
2290 	    CLK_CON_MUX_MUX_CLKALIVE_DSP_NOC, 0, 2),
2291 };
2292 
2293 static const struct samsung_div_clock alive_div_clks[] __initconst = {
2294 	DIV(CLK_DOUT_ALIVE_CHUB_PERI, "dout_alive_chub_peri",
2295 	    "mout_alive_chub_peri", CLK_CON_DIV_CLKALIVE_CHUB_PERI, 0, 3),
2296 	DIV(CLK_DOUT_ALIVE_CMGP_NOC, "dout_alive_cmgp_noc",
2297 	    "mout_alive_cmgp_noc", CLK_CON_DIV_CLKALIVE_CMGP_NOC, 0, 3),
2298 	DIV(CLK_DOUT_ALIVE_CMGP_PERI, "dout_alive_cmgp_peri",
2299 	    "mout_alive_cmgp_peri", CLK_CON_DIV_CLKALIVE_CMGP_PERI, 0, 3),
2300 	DIV(CLK_DOUT_ALIVE_DBGCORE_NOC, "dout_alive_dbgcore_noc",
2301 	    "mout_alive_dbgcore_noc", CLK_CON_DIV_CLKALIVE_DBGCORE_NOC, 0, 3),
2302 	DIV(CLK_DOUT_ALIVE_DNC_NOC, "dout_alive_dnc_noc", "mout_alive_dnc_noc",
2303 	    CLK_CON_DIV_CLKALIVE_DNC_NOC, 0, 3),
2304 	DIV(CLK_DOUT_ALIVE_CHUBVTS_NOC, "dout_alive_chubvts_noc",
2305 	    "mout_alive_chubvts_noc", CLK_CON_DIV_CLKALIVE_CHUBVTS_NOC, 0, 3),
2306 	DIV(CLK_DOUT_ALIVE_GNPU_NOC, "dout_alive_gnpu_noc",
2307 	    "mout_alive_gnpu_noc", CLK_CON_DIV_CLKALIVE_GNPU_NOC, 0, 3),
2308 	DIV(CLK_DOUT_ALIVE_SDMA_NOC, "dout_alive_sdma_noc",
2309 	    "mout_alive_sdma_noc", CLK_CON_DIV_CLKALIVE_SDMA_NOC, 0, 3),
2310 	DIV(CLK_DOUT_ALIVE_UFD_NOC, "dout_alive_ufd_noc", "mout_alive_ufd_noc",
2311 	    CLK_CON_DIV_CLKALIVE_UFD_NOC, 0, 3),
2312 	DIV(CLK_DOUT_ALIVE_DBGCORE_UART, "dout_alive_dbgcore_uart",
2313 	    "mout_alive_dbgcore_uart", CLK_CON_DIV_DIV_CLK_ALIVE_DBGCORE_UART,
2314 	    0, 4),
2315 	DIV(CLK_DOUT_ALIVE_NOC, "dout_alive_noc", "mout_alive_noc",
2316 	    CLK_CON_DIV_DIV_CLK_ALIVE_NOC, 0, 3),
2317 	DIV(CLK_DOUT_ALIVE_PMU_SUB, "dout_alive_pmu_sub", "mout_alive_pmu_sub",
2318 	    CLK_CON_DIV_DIV_CLK_ALIVE_PMU_SUB, 0, 3),
2319 	DIV(CLK_DOUT_ALIVE_SPMI, "dout_alive_spmi", "mout_alive_spmi",
2320 	    CLK_CON_DIV_DIV_CLK_ALIVE_SPMI, 0, 5),
2321 	DIV(CLK_DOUT_ALIVE_CSIS_NOC, "dout_alive_csis_noc",
2322 	    "mout_alive_csis_noc", CLK_CON_DIV_CLKALIVE_CSIS_NOC, 0, 3),
2323 	DIV(CLK_DOUT_ALIVE_DSP_NOC, "dout_alive_dsp_noc",
2324 	    "mout_alive_dsp_noc", CLK_CON_DIV_CLKALIVE_DSP_NOC, 0, 3),
2325 };
2326 
2327 static const struct samsung_fixed_rate_clock alive_fixed_clks[] __initconst = {
2328 	FRATE(0, "rco_i3c_pmic", NULL, 0, 49152000),
2329 	FRATE(0, "rco_alive", NULL, 0, 49152000),
2330 	FRATE(0, "rco_400", NULL, 0, 393216000),
2331 };
2332 
2333 static const struct samsung_cmu_info alive_cmu_info __initconst = {
2334 	.mux_clks		= alive_mux_clks,
2335 	.nr_mux_clks		= ARRAY_SIZE(alive_mux_clks),
2336 	.div_clks		= alive_div_clks,
2337 	.nr_div_clks		= ARRAY_SIZE(alive_div_clks),
2338 	.fixed_clks		= alive_fixed_clks,
2339 	.nr_fixed_clks		= ARRAY_SIZE(alive_fixed_clks),
2340 	.nr_clk_ids		= CLKS_NR_ALIVE,
2341 	.clk_regs		= alive_clk_regs,
2342 	.nr_clk_regs		= ARRAY_SIZE(alive_clk_regs),
2343 	.clk_name		= "noc",
2344 };
2345 
2346 static void __init exynos2200_cmu_alive_init(struct device_node *np)
2347 {
2348 	exynos_arm64_register_cmu(NULL, np, &alive_cmu_info);
2349 }
2350 
2351 /* Register CMU_ALIVE early, as it's a dependency for other early domains */
2352 CLK_OF_DECLARE(exynos2200_cmu_alive, "samsung,exynos2200-cmu-alive",
2353 	       exynos2200_cmu_alive_init);
2354 
2355 /* ---- CMU_PERIS ---------------------------------------------------------- */
2356 
2357 /* Register Offset definitions for CMU_PERIS (0x10020000) */
2358 #define PLL_CON0_MUX_CLKCMU_PERIS_GIC_USER						0x600
2359 #define PLL_CON1_MUX_CLKCMU_PERIS_GIC_USER						0x604
2360 #define PLL_CON0_MUX_CLKCMU_PERIS_NOC_USER						0x610
2361 #define PLL_CON1_MUX_CLKCMU_PERIS_NOC_USER						0x614
2362 #define CLK_CON_MUX_MUX_CLK_PERIS_GIC							0x1000
2363 #define CLK_CON_DIV_CLKCMU_OTP								0x1800
2364 #define CLK_CON_DIV_DIV_CLK_PERIS_DDD_CTRL						0x1804
2365 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_BUSIF_DDD_PERIS_IPCLKPORT_ATCLK			0x2000
2366 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_BUSIF_DDD_PERIS_IPCLKPORT_PCLK			0x2004
2367 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_DDD_PERIS_IPCLKPORT_CK_IN				0x2008
2368 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_D_TZPC_PERIS_IPCLKPORT_PCLK			0x200c
2369 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_GIC_IPCLKPORT_GICCLK				0x2010
2370 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_LH_AST_MI_LD_ICC_CPUGIC_CLUSTER0_IPCLKPORT_I_CLK	0x2014
2371 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_LH_AST_SI_LD_IRI_GICCPU_CLUSTER0_IPCLKPORT_I_CLK	0x2018
2372 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_MCT_IPCLKPORT_PCLK				0x201c
2373 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_OTP_CON_BIRA_IPCLKPORT_I_OSCCLK			0x2020
2374 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_OTP_CON_BIRA_IPCLKPORT_PCLK			0x2024
2375 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_OTP_CON_TOP_IPCLKPORT_I_OSCCLK			0x2028
2376 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_OTP_CON_TOP_IPCLKPORT_PCLK			0x202c
2377 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_PERIS_CMU_PERIS_IPCLKPORT_PCLK			0x2030
2378 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_CLK_PERIS_FREE_OSCCLK_IPCLKPORT_CLK	0x2038
2379 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_CLK_PERIS_GIC_IPCLKPORT_CLK		0x203c
2380 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_CLK_PERIS_NOCP_IPCLKPORT_CLK		0x2040
2381 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_SLH_AXI_MI_P_PERISGIC_IPCLKPORT_I_CLK		0x2044
2382 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_SLH_AXI_MI_P_PERIS_IPCLKPORT_I_CLK		0x2048
2383 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_SYSREG_PERIS_IPCLKPORT_PCLK			0x204c
2384 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_TMU_SUB_IPCLKPORT_PCLK				0x2050
2385 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_TMU_TOP_IPCLKPORT_PCLK				0x2054
2386 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_WDT0_IPCLKPORT_PCLK				0x2058
2387 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_WDT1_IPCLKPORT_PCLK				0x205c
2388 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_SR_CLK_PERIS_DDD_CTRL_IPCLKPORT_CLK	0x2060
2389 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_SR_CLK_PERIS_FREE_OSCCLK_IPCLKPORT_CLK	0x2064
2390 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_SR_CLK_PERIS_GIC_IPCLKPORT_CLK		0x2068
2391 #define CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_SR_CLK_PERIS_NOCP_IPCLKPORT_CLK		0x206c
2392 
2393 static const unsigned long peris_clk_regs[] __initconst = {
2394 	PLL_CON0_MUX_CLKCMU_PERIS_GIC_USER,
2395 	PLL_CON1_MUX_CLKCMU_PERIS_GIC_USER,
2396 	PLL_CON0_MUX_CLKCMU_PERIS_NOC_USER,
2397 	PLL_CON1_MUX_CLKCMU_PERIS_NOC_USER,
2398 	CLK_CON_MUX_MUX_CLK_PERIS_GIC,
2399 	CLK_CON_DIV_CLKCMU_OTP,
2400 	CLK_CON_DIV_DIV_CLK_PERIS_DDD_CTRL,
2401 	CLK_CON_GAT_CLK_BLK_PERIS_UID_BUSIF_DDD_PERIS_IPCLKPORT_ATCLK,
2402 	CLK_CON_GAT_CLK_BLK_PERIS_UID_BUSIF_DDD_PERIS_IPCLKPORT_PCLK,
2403 	CLK_CON_GAT_CLK_BLK_PERIS_UID_DDD_PERIS_IPCLKPORT_CK_IN,
2404 	CLK_CON_GAT_CLK_BLK_PERIS_UID_D_TZPC_PERIS_IPCLKPORT_PCLK,
2405 	CLK_CON_GAT_CLK_BLK_PERIS_UID_GIC_IPCLKPORT_GICCLK,
2406 	CLK_CON_GAT_CLK_BLK_PERIS_UID_LH_AST_MI_LD_ICC_CPUGIC_CLUSTER0_IPCLKPORT_I_CLK,
2407 	CLK_CON_GAT_CLK_BLK_PERIS_UID_LH_AST_SI_LD_IRI_GICCPU_CLUSTER0_IPCLKPORT_I_CLK,
2408 	CLK_CON_GAT_CLK_BLK_PERIS_UID_MCT_IPCLKPORT_PCLK,
2409 	CLK_CON_GAT_CLK_BLK_PERIS_UID_OTP_CON_BIRA_IPCLKPORT_I_OSCCLK,
2410 	CLK_CON_GAT_CLK_BLK_PERIS_UID_OTP_CON_BIRA_IPCLKPORT_PCLK,
2411 	CLK_CON_GAT_CLK_BLK_PERIS_UID_OTP_CON_TOP_IPCLKPORT_I_OSCCLK,
2412 	CLK_CON_GAT_CLK_BLK_PERIS_UID_OTP_CON_TOP_IPCLKPORT_PCLK,
2413 	CLK_CON_GAT_CLK_BLK_PERIS_UID_PERIS_CMU_PERIS_IPCLKPORT_PCLK,
2414 	CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_CLK_PERIS_FREE_OSCCLK_IPCLKPORT_CLK,
2415 	CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_CLK_PERIS_GIC_IPCLKPORT_CLK,
2416 	CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_CLK_PERIS_NOCP_IPCLKPORT_CLK,
2417 	CLK_CON_GAT_CLK_BLK_PERIS_UID_SLH_AXI_MI_P_PERISGIC_IPCLKPORT_I_CLK,
2418 	CLK_CON_GAT_CLK_BLK_PERIS_UID_SLH_AXI_MI_P_PERIS_IPCLKPORT_I_CLK,
2419 	CLK_CON_GAT_CLK_BLK_PERIS_UID_SYSREG_PERIS_IPCLKPORT_PCLK,
2420 	CLK_CON_GAT_CLK_BLK_PERIS_UID_TMU_SUB_IPCLKPORT_PCLK,
2421 	CLK_CON_GAT_CLK_BLK_PERIS_UID_TMU_TOP_IPCLKPORT_PCLK,
2422 	CLK_CON_GAT_CLK_BLK_PERIS_UID_WDT0_IPCLKPORT_PCLK,
2423 	CLK_CON_GAT_CLK_BLK_PERIS_UID_WDT1_IPCLKPORT_PCLK,
2424 	CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_SR_CLK_PERIS_DDD_CTRL_IPCLKPORT_CLK,
2425 	CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_SR_CLK_PERIS_FREE_OSCCLK_IPCLKPORT_CLK,
2426 	CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_SR_CLK_PERIS_GIC_IPCLKPORT_CLK,
2427 	CLK_CON_GAT_CLK_BLK_PERIS_UID_RSTNSYNC_SR_CLK_PERIS_NOCP_IPCLKPORT_CLK,
2428 };
2429 
2430 PNAME(mout_peris_gic_user_p)	= { "dout_tcxo_div3",
2431 				    "dout_cmu_peris_gic" };
2432 PNAME(mout_peris_noc_user_p)	= { "dout_tcxo_div3",
2433 				    "dout_cmu_peris_noc" };
2434 PNAME(mout_peris_gic_p)		= { "mout_peris_gic_user", "dout_tcxo_div3" };
2435 
2436 static const struct samsung_mux_clock peris_mux_clks[] __initconst = {
2437 	MUX(CLK_MOUT_PERIS_GIC_USER, "mout_peris_gic_user",
2438 	    mout_peris_gic_user_p, PLL_CON0_MUX_CLKCMU_PERIS_GIC_USER, 4, 1),
2439 	MUX(CLK_MOUT_PERIS_NOC_USER, "mout_peris_noc_user",
2440 	    mout_peris_noc_user_p, PLL_CON0_MUX_CLKCMU_PERIS_NOC_USER, 4, 1),
2441 	MUX(CLK_MOUT_PERIS_GIC, "mout_peris_gic", mout_peris_gic_p,
2442 	    CLK_CON_MUX_MUX_CLK_PERIS_GIC, 0, 0),
2443 };
2444 
2445 static const struct samsung_fixed_factor_clock peris_fixed_factor_clks[] __initconst = {
2446 	FFACTOR(CLK_DOUT_PERIS_OTP, "dout_peris_otp",
2447 		"dout_tcxo_div3", 1, 8, 0),
2448 	FFACTOR(CLK_DOUT_PERIS_DDD_CTRL, "dout_peris_ddd_ctrl",
2449 		"mout_peris_gic", 1, 4, 0),
2450 };
2451 
2452 static const struct samsung_cmu_info peris_cmu_info __initconst = {
2453 	.mux_clks		= peris_mux_clks,
2454 	.nr_mux_clks		= ARRAY_SIZE(peris_mux_clks),
2455 	.fixed_factor_clks	= peris_fixed_factor_clks,
2456 	.nr_fixed_factor_clks	= ARRAY_SIZE(peris_fixed_factor_clks),
2457 	.nr_clk_ids		= CLKS_NR_PERIS,
2458 	.clk_regs		= peris_clk_regs,
2459 	.nr_clk_regs		= ARRAY_SIZE(peris_clk_regs),
2460 	.clk_name		= "noc",
2461 };
2462 
2463 static void __init exynos2200_cmu_peris_init(struct device_node *np)
2464 {
2465 	exynos_arm64_register_cmu(NULL, np, &peris_cmu_info);
2466 }
2467 
2468 /* Register CMU_PERIS early, as it's a dependency for GIC and MCT */
2469 CLK_OF_DECLARE(exynos2200_cmu_peris, "samsung,exynos2200-cmu-peris",
2470 	       exynos2200_cmu_peris_init);
2471 
2472 /* ---- CMU_CMGP ----------------------------------------------------------- */
2473 
2474 /* Register Offset definitions for CMU_CMGP (0x14e00000) */
2475 #define PLL_CON0_MUX_CLKALIVE_CMGP_NOC_USER						0x610
2476 #define PLL_CON1_MUX_CLKALIVE_CMGP_NOC_USER						0x614
2477 #define PLL_CON0_MUX_CLKALIVE_CMGP_PERI_USER						0x620
2478 #define PLL_CON1_MUX_CLKALIVE_CMGP_PERI_USER						0x624
2479 #define CLK_CON_MUX_MUX_CLK_CMGP_I2C							0x1000
2480 #define CLK_CON_MUX_MUX_CLK_CMGP_SPI_I2C0						0x1008
2481 #define CLK_CON_MUX_MUX_CLK_CMGP_SPI_I2C1						0x100c
2482 #define CLK_CON_MUX_MUX_CLK_CMGP_SPI_MS_CTRL						0x1010
2483 #define CLK_CON_MUX_MUX_CLK_CMGP_USI0							0x1014
2484 #define CLK_CON_MUX_MUX_CLK_CMGP_USI1							0x1018
2485 #define CLK_CON_MUX_MUX_CLK_CMGP_USI2							0x101c
2486 #define CLK_CON_MUX_MUX_CLK_CMGP_USI3							0x1020
2487 #define CLK_CON_MUX_MUX_CLK_CMGP_USI4							0x1024
2488 #define CLK_CON_MUX_MUX_CLK_CMGP_USI5							0x1028
2489 #define CLK_CON_MUX_MUX_CLK_CMGP_USI6							0x102c
2490 #define CLK_CON_DIV_DIV_CLK_CMGP_I2C							0x1800
2491 #define CLK_CON_DIV_DIV_CLK_CMGP_SPI_I2C0						0x1808
2492 #define CLK_CON_DIV_DIV_CLK_CMGP_SPI_I2C1						0x180c
2493 #define CLK_CON_DIV_DIV_CLK_CMGP_SPI_MS_CTRL						0x1810
2494 #define CLK_CON_DIV_DIV_CLK_CMGP_USI0							0x1814
2495 #define CLK_CON_DIV_DIV_CLK_CMGP_USI1							0x1818
2496 #define CLK_CON_DIV_DIV_CLK_CMGP_USI2							0x181c
2497 #define CLK_CON_DIV_DIV_CLK_CMGP_USI3							0x1820
2498 #define CLK_CON_DIV_DIV_CLK_CMGP_USI4							0x1824
2499 #define CLK_CON_DIV_DIV_CLK_CMGP_USI5							0x1828
2500 #define CLK_CON_DIV_DIV_CLK_CMGP_USI6							0x182c
2501 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_APBIF_GPIO_CMGP_IPCLKPORT_PCLK			0x2000
2502 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_CMGP_CMU_CMGP_IPCLKPORT_PCLK			0x2004
2503 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_CMGP_I2C_IPCLKPORT_IPCLK				0x2008
2504 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_CMGP_I2C_IPCLKPORT_PCLK				0x200c
2505 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_D_TZPC_CMGP_IPCLKPORT_PCLK				0x2010
2506 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP2_IPCLKPORT_IPCLK				0x2014
2507 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP2_IPCLKPORT_PCLK				0x2018
2508 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP3_IPCLKPORT_IPCLK				0x201c
2509 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP3_IPCLKPORT_PCLK				0x2020
2510 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP4_IPCLKPORT_IPCLK				0x2024
2511 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP4_IPCLKPORT_PCLK				0x2028
2512 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP5_IPCLKPORT_IPCLK				0x202c
2513 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP5_IPCLKPORT_PCLK				0x2030
2514 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP6_IPCLKPORT_IPCLK				0x2034
2515 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP6_IPCLKPORT_PCLK				0x2038
2516 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_NOC_IPCLKPORT_CLK		0x2040
2517 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_CLK_CMGP_FREE_OSCCLK_IPCLKPORT_CLK	0x2044
2518 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_I2C_IPCLKPORT_CLK		0x2048
2519 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_CLK_CMGP_NOC_IPCLKPORT_CLK		0x2050
2520 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_SPI_I2C0_IPCLKPORT_CLK	0x2054
2521 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_SPI_I2C1_IPCLKPORT_CLK	0x2058
2522 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI0_IPCLKPORT_CLK		0x205c
2523 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI1_IPCLKPORT_CLK		0x2060
2524 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI2_IPCLKPORT_CLK		0x2064
2525 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI3_IPCLKPORT_CLK		0x2068
2526 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI4_IPCLKPORT_CLK		0x206c
2527 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI5_IPCLKPORT_CLK		0x2070
2528 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI6_IPCLKPORT_CLK		0x2074
2529 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_SPI_MS_CTRL_IPCLKPORT_CLK	0x2078
2530 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SLH_AXI_MI_LP_CMGP_IPCLKPORT_I_CLK			0x207c
2531 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SLH_AXI_SI_LP_CMGPUFD_IPCLKPORT_I_CLK		0x2080
2532 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_I2C_CMGP0_IPCLKPORT_IPCLK			0x2084
2533 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_I2C_CMGP0_IPCLKPORT_PCLK			0x2088
2534 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_I2C_CMGP1_IPCLKPORT_IPCLK			0x208c
2535 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_I2C_CMGP1_IPCLKPORT_PCLK			0x2090
2536 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_MULTI_SLV_Q_CTRL_CMGP_IPCLKPORT_CLK		0x2094
2537 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2APM_IPCLKPORT_PCLK			0x2098
2538 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2CHUB_IPCLKPORT_PCLK			0x209c
2539 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2CP_IPCLKPORT_PCLK			0x20a0
2540 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2GNSS_IPCLKPORT_PCLK			0x20a4
2541 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2PMU_AP_IPCLKPORT_PCLK			0x20a8
2542 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP_IPCLKPORT_PCLK				0x20ac
2543 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP0_IPCLKPORT_IPCLK				0x20b0
2544 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP0_IPCLKPORT_PCLK				0x20b4
2545 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP1_IPCLKPORT_IPCLK				0x20b8
2546 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP1_IPCLKPORT_PCLK				0x20bc
2547 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP2_IPCLKPORT_IPCLK				0x20c0
2548 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP2_IPCLKPORT_PCLK				0x20c4
2549 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP3_IPCLKPORT_IPCLK				0x20c8
2550 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP3_IPCLKPORT_PCLK				0x20cc
2551 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP4_IPCLKPORT_IPCLK				0x20d0
2552 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP4_IPCLKPORT_PCLK				0x20d4
2553 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP5_IPCLKPORT_IPCLK				0x20d8
2554 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP5_IPCLKPORT_PCLK				0x20dc
2555 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP6_IPCLKPORT_IPCLK				0x20e0
2556 #define CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP6_IPCLKPORT_PCLK				0x20e4
2557 
2558 static const unsigned long cmgp_clk_regs[] __initconst = {
2559 	PLL_CON0_MUX_CLKALIVE_CMGP_NOC_USER,
2560 	PLL_CON1_MUX_CLKALIVE_CMGP_NOC_USER,
2561 	PLL_CON0_MUX_CLKALIVE_CMGP_PERI_USER,
2562 	PLL_CON1_MUX_CLKALIVE_CMGP_PERI_USER,
2563 	CLK_CON_MUX_MUX_CLK_CMGP_I2C,
2564 	CLK_CON_MUX_MUX_CLK_CMGP_SPI_I2C0,
2565 	CLK_CON_MUX_MUX_CLK_CMGP_SPI_I2C1,
2566 	CLK_CON_MUX_MUX_CLK_CMGP_SPI_MS_CTRL,
2567 	CLK_CON_MUX_MUX_CLK_CMGP_USI0,
2568 	CLK_CON_MUX_MUX_CLK_CMGP_USI1,
2569 	CLK_CON_MUX_MUX_CLK_CMGP_USI2,
2570 	CLK_CON_MUX_MUX_CLK_CMGP_USI3,
2571 	CLK_CON_MUX_MUX_CLK_CMGP_USI4,
2572 	CLK_CON_MUX_MUX_CLK_CMGP_USI5,
2573 	CLK_CON_MUX_MUX_CLK_CMGP_USI6,
2574 	CLK_CON_DIV_DIV_CLK_CMGP_I2C,
2575 	CLK_CON_DIV_DIV_CLK_CMGP_SPI_I2C0,
2576 	CLK_CON_DIV_DIV_CLK_CMGP_SPI_I2C1,
2577 	CLK_CON_DIV_DIV_CLK_CMGP_SPI_MS_CTRL,
2578 	CLK_CON_DIV_DIV_CLK_CMGP_USI0,
2579 	CLK_CON_DIV_DIV_CLK_CMGP_USI1,
2580 	CLK_CON_DIV_DIV_CLK_CMGP_USI2,
2581 	CLK_CON_DIV_DIV_CLK_CMGP_USI3,
2582 	CLK_CON_DIV_DIV_CLK_CMGP_USI4,
2583 	CLK_CON_DIV_DIV_CLK_CMGP_USI5,
2584 	CLK_CON_DIV_DIV_CLK_CMGP_USI6,
2585 	CLK_CON_GAT_CLK_BLK_CMGP_UID_APBIF_GPIO_CMGP_IPCLKPORT_PCLK,
2586 	CLK_CON_GAT_CLK_BLK_CMGP_UID_CMGP_CMU_CMGP_IPCLKPORT_PCLK,
2587 	CLK_CON_GAT_CLK_BLK_CMGP_UID_CMGP_I2C_IPCLKPORT_IPCLK,
2588 	CLK_CON_GAT_CLK_BLK_CMGP_UID_CMGP_I2C_IPCLKPORT_PCLK,
2589 	CLK_CON_GAT_CLK_BLK_CMGP_UID_D_TZPC_CMGP_IPCLKPORT_PCLK,
2590 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP2_IPCLKPORT_IPCLK,
2591 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP2_IPCLKPORT_PCLK,
2592 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP3_IPCLKPORT_IPCLK,
2593 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP3_IPCLKPORT_PCLK,
2594 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP4_IPCLKPORT_IPCLK,
2595 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP4_IPCLKPORT_PCLK,
2596 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP5_IPCLKPORT_IPCLK,
2597 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP5_IPCLKPORT_PCLK,
2598 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP6_IPCLKPORT_IPCLK,
2599 	CLK_CON_GAT_CLK_BLK_CMGP_UID_I2C_CMGP6_IPCLKPORT_PCLK,
2600 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_NOC_IPCLKPORT_CLK,
2601 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_CLK_CMGP_FREE_OSCCLK_IPCLKPORT_CLK,
2602 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_I2C_IPCLKPORT_CLK,
2603 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_CLK_CMGP_NOC_IPCLKPORT_CLK,
2604 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_SPI_I2C0_IPCLKPORT_CLK,
2605 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_SPI_I2C1_IPCLKPORT_CLK,
2606 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI0_IPCLKPORT_CLK,
2607 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI1_IPCLKPORT_CLK,
2608 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI2_IPCLKPORT_CLK,
2609 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI3_IPCLKPORT_CLK,
2610 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI4_IPCLKPORT_CLK,
2611 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI5_IPCLKPORT_CLK,
2612 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_USI6_IPCLKPORT_CLK,
2613 	CLK_CON_GAT_CLK_BLK_CMGP_UID_RSTNSYNC_SR_CLK_CMGP_SPI_MS_CTRL_IPCLKPORT_CLK,
2614 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SLH_AXI_MI_LP_CMGP_IPCLKPORT_I_CLK,
2615 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SLH_AXI_SI_LP_CMGPUFD_IPCLKPORT_I_CLK,
2616 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_I2C_CMGP0_IPCLKPORT_IPCLK,
2617 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_I2C_CMGP0_IPCLKPORT_PCLK,
2618 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_I2C_CMGP1_IPCLKPORT_IPCLK,
2619 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_I2C_CMGP1_IPCLKPORT_PCLK,
2620 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SPI_MULTI_SLV_Q_CTRL_CMGP_IPCLKPORT_CLK,
2621 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2APM_IPCLKPORT_PCLK,
2622 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2CHUB_IPCLKPORT_PCLK,
2623 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2CP_IPCLKPORT_PCLK,
2624 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2GNSS_IPCLKPORT_PCLK,
2625 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP2PMU_AP_IPCLKPORT_PCLK,
2626 	CLK_CON_GAT_CLK_BLK_CMGP_UID_SYSREG_CMGP_IPCLKPORT_PCLK,
2627 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP0_IPCLKPORT_IPCLK,
2628 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP0_IPCLKPORT_PCLK,
2629 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP1_IPCLKPORT_IPCLK,
2630 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP1_IPCLKPORT_PCLK,
2631 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP2_IPCLKPORT_IPCLK,
2632 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP2_IPCLKPORT_PCLK,
2633 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP3_IPCLKPORT_IPCLK,
2634 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP3_IPCLKPORT_PCLK,
2635 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP4_IPCLKPORT_IPCLK,
2636 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP4_IPCLKPORT_PCLK,
2637 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP5_IPCLKPORT_IPCLK,
2638 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP5_IPCLKPORT_PCLK,
2639 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP6_IPCLKPORT_IPCLK,
2640 	CLK_CON_GAT_CLK_BLK_CMGP_UID_USI_CMGP6_IPCLKPORT_PCLK,
2641 };
2642 
2643 PNAME(mout_cmgp_clkalive_noc_user_p)	= { "oscclk", "dout_alive_cmgp_noc" };
2644 PNAME(mout_cmgp_clkalive_peri_user_p)	= { "oscclk", "dout_alive_cmgp_peri" };
2645 PNAME(mout_cmgp_i2c_p)			= { "oscclk",
2646 					    "mout_cmgp_clkalive_peri_user" };
2647 PNAME(mout_cmgp_spi_i2c0_p)		= { "oscclk",
2648 					    "mout_cmgp_clkalive_peri_user" };
2649 PNAME(mout_cmgp_spi_i2c1_p)		= { "oscclk",
2650 					    "mout_cmgp_clkalive_peri_user" };
2651 PNAME(mout_cmgp_spi_ms_ctrl_p)		= { "oscclk",
2652 					    "mout_cmgp_clkalive_peri_user" };
2653 PNAME(mout_cmgp_usi0_p)			= { "oscclk",
2654 					    "mout_cmgp_clkalive_peri_user" };
2655 PNAME(mout_cmgp_usi1_p)			= { "oscclk",
2656 					    "mout_cmgp_clkalive_peri_user" };
2657 PNAME(mout_cmgp_usi2_p)			= { "oscclk",
2658 					    "mout_cmgp_clkalive_peri_user" };
2659 PNAME(mout_cmgp_usi3_p)			= { "oscclk",
2660 					    "mout_cmgp_clkalive_peri_user" };
2661 PNAME(mout_cmgp_usi4_p)			= { "oscclk",
2662 					    "mout_cmgp_clkalive_peri_user" };
2663 PNAME(mout_cmgp_usi5_p)			= { "oscclk",
2664 					    "mout_cmgp_clkalive_peri_user" };
2665 PNAME(mout_cmgp_usi6_p)			= { "oscclk",
2666 					    "mout_cmgp_clkalive_peri_user" };
2667 
2668 static const struct samsung_mux_clock cmgp_mux_clks[] __initconst = {
2669 	MUX(CLK_MOUT_CMGP_CLKALIVE_NOC_USER, "mout_cmgp_clkalive_noc_user",
2670 	    mout_cmgp_clkalive_noc_user_p, PLL_CON0_MUX_CLKALIVE_CMGP_NOC_USER,
2671 	    4, 1),
2672 	MUX(CLK_MOUT_CMGP_CLKALIVE_PERI_USER, "mout_cmgp_clkalive_peri_user",
2673 	    mout_cmgp_clkalive_peri_user_p,
2674 	    PLL_CON0_MUX_CLKALIVE_CMGP_PERI_USER, 4, 1),
2675 	MUX(CLK_MOUT_CMGP_I2C, "mout_cmgp_i2c", mout_cmgp_i2c_p,
2676 	    CLK_CON_MUX_MUX_CLK_CMGP_I2C, 0, 1),
2677 	MUX(CLK_MOUT_CMGP_SPI_I2C0, "mout_cmgp_spi_i2c0", mout_cmgp_spi_i2c0_p,
2678 	    CLK_CON_MUX_MUX_CLK_CMGP_SPI_I2C0, 0, 1),
2679 	MUX(CLK_MOUT_CMGP_SPI_I2C1, "mout_cmgp_spi_i2c1", mout_cmgp_spi_i2c1_p,
2680 	    CLK_CON_MUX_MUX_CLK_CMGP_SPI_I2C1, 0, 1),
2681 	MUX(CLK_MOUT_CMGP_SPI_MS_CTRL, "mout_cmgp_spi_ms_ctrl",
2682 	    mout_cmgp_spi_ms_ctrl_p, CLK_CON_MUX_MUX_CLK_CMGP_SPI_MS_CTRL,
2683 	    0, 1),
2684 	MUX(CLK_MOUT_CMGP_USI0, "mout_cmgp_usi0", mout_cmgp_usi0_p,
2685 	    CLK_CON_MUX_MUX_CLK_CMGP_USI0, 0, 1),
2686 	MUX(CLK_MOUT_CMGP_USI1, "mout_cmgp_usi1", mout_cmgp_usi1_p,
2687 	    CLK_CON_MUX_MUX_CLK_CMGP_USI1, 0, 1),
2688 	MUX(CLK_MOUT_CMGP_USI2, "mout_cmgp_usi2", mout_cmgp_usi2_p,
2689 	    CLK_CON_MUX_MUX_CLK_CMGP_USI2, 0, 1),
2690 	MUX(CLK_MOUT_CMGP_USI3, "mout_cmgp_usi3", mout_cmgp_usi3_p,
2691 	    CLK_CON_MUX_MUX_CLK_CMGP_USI3, 0, 1),
2692 	MUX(CLK_MOUT_CMGP_USI4, "mout_cmgp_usi4", mout_cmgp_usi4_p,
2693 	    CLK_CON_MUX_MUX_CLK_CMGP_USI4, 0, 1),
2694 	MUX(CLK_MOUT_CMGP_USI5, "mout_cmgp_usi5", mout_cmgp_usi5_p,
2695 	    CLK_CON_MUX_MUX_CLK_CMGP_USI5, 0, 1),
2696 	MUX(CLK_MOUT_CMGP_USI6, "mout_cmgp_usi6", mout_cmgp_usi6_p,
2697 	    CLK_CON_MUX_MUX_CLK_CMGP_USI6, 0, 1),
2698 };
2699 
2700 static const struct samsung_div_clock cmgp_div_clks[] __initconst = {
2701 	DIV(CLK_DOUT_CMGP_I2C, "dout_cmgp_i2c", "mout_cmgp_i2c",
2702 	    CLK_CON_DIV_DIV_CLK_CMGP_I2C, 0, 4),
2703 	DIV(CLK_DOUT_CMGP_SPI_I2C0, "dout_cmgp_spi_i2c0", "mout_cmgp_spi_i2c0",
2704 	    CLK_CON_DIV_DIV_CLK_CMGP_SPI_I2C0, 0, 4),
2705 	DIV(CLK_DOUT_CMGP_SPI_I2C1, "dout_cmgp_spi_i2c1", "mout_cmgp_spi_i2c1",
2706 	    CLK_CON_DIV_DIV_CLK_CMGP_SPI_I2C1, 0, 4),
2707 	DIV(CLK_DOUT_CMGP_SPI_MS_CTRL, "dout_cmgp_spi_ms_ctrl",
2708 	    "mout_cmgp_spi_ms_ctrl", CLK_CON_DIV_DIV_CLK_CMGP_SPI_MS_CTRL,
2709 	    0, 4),
2710 	DIV(CLK_DOUT_CMGP_USI0, "dout_cmgp_usi0", "mout_cmgp_usi0",
2711 	    CLK_CON_DIV_DIV_CLK_CMGP_USI0, 0, 4),
2712 	DIV(CLK_DOUT_CMGP_USI1, "dout_cmgp_usi1", "mout_cmgp_usi1",
2713 	    CLK_CON_DIV_DIV_CLK_CMGP_USI1, 0, 4),
2714 	DIV(CLK_DOUT_CMGP_USI2, "dout_cmgp_usi2", "mout_cmgp_usi2",
2715 	    CLK_CON_DIV_DIV_CLK_CMGP_USI2, 0, 4),
2716 	DIV(CLK_DOUT_CMGP_USI3, "dout_cmgp_usi3", "mout_cmgp_usi3",
2717 	    CLK_CON_DIV_DIV_CLK_CMGP_USI3, 0, 4),
2718 	DIV(CLK_DOUT_CMGP_USI4, "dout_cmgp_usi4", "mout_cmgp_usi4",
2719 	    CLK_CON_DIV_DIV_CLK_CMGP_USI4, 0, 4),
2720 	DIV(CLK_DOUT_CMGP_USI5, "dout_cmgp_usi5", "mout_cmgp_usi5",
2721 	    CLK_CON_DIV_DIV_CLK_CMGP_USI5, 0, 4),
2722 	DIV(CLK_DOUT_CMGP_USI6, "dout_cmgp_usi6", "mout_cmgp_usi6",
2723 	    CLK_CON_DIV_DIV_CLK_CMGP_USI6, 0, 4),
2724 };
2725 
2726 static const struct samsung_cmu_info cmgp_cmu_info __initconst = {
2727 	.mux_clks		= cmgp_mux_clks,
2728 	.nr_mux_clks		= ARRAY_SIZE(cmgp_mux_clks),
2729 	.div_clks		= cmgp_div_clks,
2730 	.nr_div_clks		= ARRAY_SIZE(cmgp_div_clks),
2731 	.nr_clk_ids		= CLKS_NR_CMGP,
2732 	.clk_regs		= cmgp_clk_regs,
2733 	.nr_clk_regs		= ARRAY_SIZE(cmgp_clk_regs),
2734 	.clk_name		= "noc",
2735 };
2736 
2737 /* ---- CMU_HSI0 ----------------------------------------------------------- */
2738 
2739 /* Register Offset definitions for CMU_HSI0 (0x10a00000) */
2740 #define PLL_CON0_MUX_CLKAUD_HSI0_NOC_USER						0x600
2741 #define PLL_CON1_MUX_CLKAUD_HSI0_NOC_USER						0x604
2742 #define PLL_CON0_MUX_CLKCMU_HSI0_DPGTC_USER						0x610
2743 #define PLL_CON1_MUX_CLKCMU_HSI0_DPGTC_USER						0x614
2744 #define PLL_CON0_MUX_CLKCMU_HSI0_DPOSC_USER						0x620
2745 #define PLL_CON1_MUX_CLKCMU_HSI0_DPOSC_USER						0x624
2746 #define PLL_CON0_MUX_CLKCMU_HSI0_NOC_USER						0x630
2747 #define PLL_CON1_MUX_CLKCMU_HSI0_NOC_USER						0x634
2748 #define PLL_CON0_MUX_CLKCMU_HSI0_USB32DRD_USER						0x640
2749 #define PLL_CON1_MUX_CLKCMU_HSI0_USB32DRD_USER						0x644
2750 #define CLK_CON_MUX_MUX_CLK_HSI0_NOC							0x1000
2751 #define CLK_CON_MUX_MUX_CLK_HSI0_RTCCLK							0x1004
2752 #define CLK_CON_MUX_MUX_CLK_HSI0_USB32DRD						0x1008
2753 #define CLK_CON_DIV_DIV_CLK_HSI0_EUSB							0x1800
2754 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_AS_APB_EUSBPHY_HSI0_IPCLKPORT_PCLKM		0x2000
2755 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_DP_GTC_CLK			0x2004
2756 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_DP_OSC_CLK			0x2008
2757 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_PCLK				0x200c
2758 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_D_TZPC_HSI0_IPCLKPORT_PCLK				0x2010
2759 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_HSI0_CMU_HSI0_IPCLKPORT_PCLK			0x2014
2760 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_PPMU_HSI0_BUS1_IPCLKPORT_ACLK			0x2018
2761 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_PPMU_HSI0_BUS1_IPCLKPORT_PCLK			0x201c
2762 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_RSTNSYNC_CLK_HSI0_EUSB_IPCLKPORT_CLK		0x2020
2763 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_RSTNSYNC_CLK_HSI0_NOC_IPCLKPORT_CLK		0x2024
2764 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_ACEL_SI_D_HSI0_IPCLKPORT_I_CLK			0x2028
2765 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_AST_SI_G_PPMU_HSI0_IPCLKPORT_I_CLK		0x202c
2766 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_AXI_MI_LD_AUDHSI0_IPCLKPORT_I_CLK		0x2030
2767 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_AXI_MI_P_HSI0_IPCLKPORT_I_CLK			0x2034
2768 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_AXI_SI_LD_HSI0AUD_IPCLKPORT_I_CLK		0x2038
2769 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_BLK_HSI0_FRC_OTP_DESERIAL_IPCLKPORT_I_CLK		0x203c
2770 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_SYSMMU_D_HSI0_IPCLKPORT_CLK_S2			0x2040
2771 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_SYSREG_HSI0_IPCLKPORT_PCLK				0x2044
2772 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_URAM_IPCLKPORT_ACLK				0x2048
2773 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_EUSB_APB_CLK			0x204c
2774 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_EUSB_CTRL_PCLK		0x2050
2775 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USB32DRD_REF_CLK_40		0x2054
2776 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USBDPPHY_CTRL_PCLK		0x2058
2777 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USBDPPHY_TCA_APB_CLK		0x205c
2778 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USBLINK_ACLK			0x2060
2779 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USBSUBCTL_APB_PCLK		0x2064
2780 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_VGEN_LITE_HSI0_IPCLKPORT_CLK			0x2068
2781 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_XIU_D_HSI0_IPCLKPORT_ACLK				0x206c
2782 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_XIU_P0_HSI0_IPCLKPORT_ACLK				0x2070
2783 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_OTP_DESERIAL_DPLINK_HDCP_IPCLKPORT_I_CLK		0x2074
2784 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_RSTNSYNC_SR_CLK_HSI0_FREE_OSCCLK_IPCLKPORT_CLK	0x2078
2785 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_RSTNSYNC_SR_CLK_HSI0_NOC_IPCLKPORT_CLK		0x207c
2786 #define CLK_CON_GAT_CLK_BLK_HSI0_UID_SPC_HSI0_IPCLKPORT_PCLK				0x2080
2787 
2788 static const unsigned long hsi0_clk_regs[] __initconst = {
2789 	PLL_CON0_MUX_CLKAUD_HSI0_NOC_USER,
2790 	PLL_CON1_MUX_CLKAUD_HSI0_NOC_USER,
2791 	PLL_CON0_MUX_CLKCMU_HSI0_DPGTC_USER,
2792 	PLL_CON1_MUX_CLKCMU_HSI0_DPGTC_USER,
2793 	PLL_CON0_MUX_CLKCMU_HSI0_DPOSC_USER,
2794 	PLL_CON1_MUX_CLKCMU_HSI0_DPOSC_USER,
2795 	PLL_CON0_MUX_CLKCMU_HSI0_NOC_USER,
2796 	PLL_CON1_MUX_CLKCMU_HSI0_NOC_USER,
2797 	PLL_CON0_MUX_CLKCMU_HSI0_USB32DRD_USER,
2798 	PLL_CON1_MUX_CLKCMU_HSI0_USB32DRD_USER,
2799 	CLK_CON_MUX_MUX_CLK_HSI0_NOC,
2800 	CLK_CON_MUX_MUX_CLK_HSI0_RTCCLK,
2801 	CLK_CON_MUX_MUX_CLK_HSI0_USB32DRD,
2802 	CLK_CON_DIV_DIV_CLK_HSI0_EUSB,
2803 	CLK_CON_GAT_CLK_BLK_HSI0_UID_AS_APB_EUSBPHY_HSI0_IPCLKPORT_PCLKM,
2804 	CLK_CON_GAT_CLK_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_DP_GTC_CLK,
2805 	CLK_CON_GAT_CLK_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_DP_OSC_CLK,
2806 	CLK_CON_GAT_CLK_BLK_HSI0_UID_DP_LINK_IPCLKPORT_I_PCLK,
2807 	CLK_CON_GAT_CLK_BLK_HSI0_UID_D_TZPC_HSI0_IPCLKPORT_PCLK,
2808 	CLK_CON_GAT_CLK_BLK_HSI0_UID_HSI0_CMU_HSI0_IPCLKPORT_PCLK,
2809 	CLK_CON_GAT_CLK_BLK_HSI0_UID_PPMU_HSI0_BUS1_IPCLKPORT_ACLK,
2810 	CLK_CON_GAT_CLK_BLK_HSI0_UID_PPMU_HSI0_BUS1_IPCLKPORT_PCLK,
2811 	CLK_CON_GAT_CLK_BLK_HSI0_UID_RSTNSYNC_CLK_HSI0_EUSB_IPCLKPORT_CLK,
2812 	CLK_CON_GAT_CLK_BLK_HSI0_UID_RSTNSYNC_CLK_HSI0_NOC_IPCLKPORT_CLK,
2813 	CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_ACEL_SI_D_HSI0_IPCLKPORT_I_CLK,
2814 	CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_AST_SI_G_PPMU_HSI0_IPCLKPORT_I_CLK,
2815 	CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_AXI_MI_LD_AUDHSI0_IPCLKPORT_I_CLK,
2816 	CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_AXI_MI_P_HSI0_IPCLKPORT_I_CLK,
2817 	CLK_CON_GAT_CLK_BLK_HSI0_UID_SLH_AXI_SI_LD_HSI0AUD_IPCLKPORT_I_CLK,
2818 	CLK_CON_GAT_CLK_BLK_HSI0_UID_BLK_HSI0_FRC_OTP_DESERIAL_IPCLKPORT_I_CLK,
2819 	CLK_CON_GAT_CLK_BLK_HSI0_UID_SYSMMU_D_HSI0_IPCLKPORT_CLK_S2,
2820 	CLK_CON_GAT_CLK_BLK_HSI0_UID_SYSREG_HSI0_IPCLKPORT_PCLK,
2821 	CLK_CON_GAT_CLK_BLK_HSI0_UID_URAM_IPCLKPORT_ACLK,
2822 	CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_EUSB_APB_CLK,
2823 	CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_EUSB_CTRL_PCLK,
2824 	CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USB32DRD_REF_CLK_40,
2825 	CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USBDPPHY_CTRL_PCLK,
2826 	CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USBDPPHY_TCA_APB_CLK,
2827 	CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USBLINK_ACLK,
2828 	CLK_CON_GAT_CLK_BLK_HSI0_UID_USB32DRD_IPCLKPORT_I_USBSUBCTL_APB_PCLK,
2829 	CLK_CON_GAT_CLK_BLK_HSI0_UID_VGEN_LITE_HSI0_IPCLKPORT_CLK,
2830 	CLK_CON_GAT_CLK_BLK_HSI0_UID_XIU_D_HSI0_IPCLKPORT_ACLK,
2831 	CLK_CON_GAT_CLK_BLK_HSI0_UID_XIU_P0_HSI0_IPCLKPORT_ACLK,
2832 	CLK_CON_GAT_CLK_BLK_HSI0_UID_OTP_DESERIAL_DPLINK_HDCP_IPCLKPORT_I_CLK,
2833 	CLK_CON_GAT_CLK_BLK_HSI0_UID_RSTNSYNC_SR_CLK_HSI0_FREE_OSCCLK_IPCLKPORT_CLK,
2834 	CLK_CON_GAT_CLK_BLK_HSI0_UID_RSTNSYNC_SR_CLK_HSI0_NOC_IPCLKPORT_CLK,
2835 	CLK_CON_GAT_CLK_BLK_HSI0_UID_SPC_HSI0_IPCLKPORT_PCLK,
2836 };
2837 
2838 PNAME(mout_clkcmu_hsi0_dpgtc_user_p)	= { "oscclk", "dout_cmu_hsi0_dpgtc" };
2839 PNAME(mout_clkcmu_hsi0_dposc_user_p)	= { "oscclk", "dout_cmu_hsi0_dposc" };
2840 PNAME(mout_clkcmu_hsi0_noc_user_p)	= { "oscclk", "dout_cmu_hsi0_noc" };
2841 PNAME(mout_clkcmu_hsi0_usb32drd_user_p)	= { "oscclk",
2842 					    "dout_cmu_hsi0_usb32drd" };
2843 PNAME(mout_mux_clk_hsi0_noc_p)		= { "mout_clkcmu_hsi0_noc_user" };
2844 PNAME(mout_mux_clk_hsi0_rtcclk_p)	= { "rtcclk", "oscclk" };
2845 PNAME(mout_mux_clk_hsi0_usb32drd_p)	= { "dout_tcxo_div4",
2846 					    "mout_clkcmu_hsi0_usb32drd_user" };
2847 
2848 static const struct samsung_mux_clock hsi0_mux_clks[] __initconst = {
2849 	MUX(CLK_MOUT_CLKCMU_HSI0_DPGTC_USER, "mout_clkcmu_hsi0_dpgtc_user",
2850 	    mout_clkcmu_hsi0_dpgtc_user_p, PLL_CON0_MUX_CLKCMU_HSI0_DPGTC_USER,
2851 	    4, 1),
2852 	MUX(CLK_MOUT_CLKCMU_HSI0_DPOSC_USER, "mout_clkcmu_hsi0_dposc_user",
2853 	    mout_clkcmu_hsi0_dposc_user_p, PLL_CON0_MUX_CLKCMU_HSI0_DPOSC_USER,
2854 	    4, 1),
2855 	MUX(CLK_MOUT_CLKCMU_HSI0_NOC_USER, "mout_clkcmu_hsi0_noc_user",
2856 	    mout_clkcmu_hsi0_noc_user_p, PLL_CON0_MUX_CLKCMU_HSI0_NOC_USER,
2857 	    4, 1),
2858 	MUX(CLK_MOUT_CLKCMU_HSI0_USB32DRD_USER,
2859 	    "mout_clkcmu_hsi0_usb32drd_user", mout_clkcmu_hsi0_usb32drd_user_p,
2860 	    PLL_CON0_MUX_CLKCMU_HSI0_USB32DRD_USER, 4, 1),
2861 	MUX(CLK_MOUT_HSI0_NOC, "mout_hsi0_noc", mout_mux_clk_hsi0_noc_p,
2862 	    CLK_CON_MUX_MUX_CLK_HSI0_NOC, 0, 1),
2863 	MUX(CLK_MOUT_HSI0_RTCCLK, "mout_hsi0_rtcclk",
2864 	    mout_mux_clk_hsi0_rtcclk_p, CLK_CON_MUX_MUX_CLK_HSI0_RTCCLK, 0, 1),
2865 	MUX(CLK_MOUT_HSI0_USB32DRD, "mout_hsi0_usb32drd",
2866 	    mout_mux_clk_hsi0_usb32drd_p, CLK_CON_MUX_MUX_CLK_HSI0_USB32DRD,
2867 	    0, 1),
2868 };
2869 
2870 static const struct samsung_div_clock hsi0_div_clks[] __initconst = {
2871 	DIV(CLK_DOUT_DIV_CLK_HSI0_EUSB, "dout_div_clk_hsi0_eusb",
2872 	    "mout_hsi0_noc", CLK_CON_DIV_DIV_CLK_HSI0_EUSB, 0, 2),
2873 };
2874 
2875 static const struct samsung_cmu_info hsi0_cmu_info __initconst = {
2876 	.mux_clks		= hsi0_mux_clks,
2877 	.nr_mux_clks		= ARRAY_SIZE(hsi0_mux_clks),
2878 	.div_clks		= hsi0_div_clks,
2879 	.nr_div_clks		= ARRAY_SIZE(hsi0_div_clks),
2880 	.nr_clk_ids		= CLKS_NR_HSI0,
2881 	.clk_regs		= hsi0_clk_regs,
2882 	.nr_clk_regs		= ARRAY_SIZE(hsi0_clk_regs),
2883 	.clk_name		= "noc",
2884 };
2885 
2886 /* ---- CMU_PERIC0 --------------------------------------------------------- */
2887 
2888 /* Register Offset definitions for CMU_PERIC0 (0x10400000) */
2889 #define PLL_CON0_MUX_CLKCMU_PERIC0_IP0_USER						0x600
2890 #define PLL_CON1_MUX_CLKCMU_PERIC0_IP0_USER						0x604
2891 #define PLL_CON0_MUX_CLKCMU_PERIC0_IP1_USER						0x610
2892 #define PLL_CON1_MUX_CLKCMU_PERIC0_IP1_USER						0x614
2893 #define PLL_CON0_MUX_CLKCMU_PERIC0_NOC_USER						0x620
2894 #define PLL_CON1_MUX_CLKCMU_PERIC0_NOC_USER						0x624
2895 #define CLK_CON_MUX_MUX_CLK_PERIC0_I2C							0x1000
2896 #define CLK_CON_MUX_MUX_CLK_PERIC0_USI04						0x1010
2897 #define CLK_CON_DIV_DIV_CLK_PERIC0_I2C							0x1800
2898 #define CLK_CON_DIV_DIV_CLK_PERIC0_USI04						0x1810
2899 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_D_TZPC_PERIC0_IPCLKPORT_PCLK			0x2000
2900 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_GPIO_PERIC0_IPCLKPORT_PCLK			0x2004
2901 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_PERIC0_CMU_PERIC0_IPCLKPORT_PCLK			0x2008
2902 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_FREE_OSCCLK_IPCLKPORT_CLK	0x200c
2903 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_I2C_IPCLKPORT_CLK		0x2010
2904 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_NOCP_IPCLKPORT_CLK		0x2014
2905 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_SR_CLK_PERIC0_USI04_IPCLKPORT_CLK	0x2018
2906 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_SLH_AXI_MI_P_PERIC0_IPCLKPORT_I_CLK		0x201c
2907 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_SYSREG_PERIC0_IPCLKPORT_PCLK			0x2020
2908 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_USI04_I2C_IPCLKPORT_IPCLK			0x2024
2909 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_USI04_I2C_IPCLKPORT_PCLK				0x2028
2910 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_USI04_USI_IPCLKPORT_IPCLK			0x202c
2911 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_USI04_USI_IPCLKPORT_PCLK				0x2030
2912 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C00_IPCLKPORT_I_PCLK				0x2034
2913 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C00_IPCLKPORT_I_SCLK				0x2038
2914 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C01_IPCLKPORT_I_PCLK				0x203c
2915 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C01_IPCLKPORT_I_SCLK				0x2040
2916 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C02_IPCLKPORT_I_PCLK				0x2044
2917 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C02_IPCLKPORT_I_SCLK				0x2048
2918 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_SR_CLK_PERIC0_I2C_IPCLKPORT_CLK		0x204c
2919 #define CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_SR_CLK_PERIC0_NOCP_IPCLKPORT_CLK	0x2050
2920 
2921 static const unsigned long peric0_clk_regs[] __initconst = {
2922 	PLL_CON0_MUX_CLKCMU_PERIC0_IP0_USER,
2923 	PLL_CON1_MUX_CLKCMU_PERIC0_IP0_USER,
2924 	PLL_CON0_MUX_CLKCMU_PERIC0_IP1_USER,
2925 	PLL_CON1_MUX_CLKCMU_PERIC0_IP1_USER,
2926 	PLL_CON0_MUX_CLKCMU_PERIC0_NOC_USER,
2927 	PLL_CON1_MUX_CLKCMU_PERIC0_NOC_USER,
2928 	CLK_CON_MUX_MUX_CLK_PERIC0_I2C,
2929 	CLK_CON_MUX_MUX_CLK_PERIC0_USI04,
2930 	CLK_CON_DIV_DIV_CLK_PERIC0_I2C,
2931 	CLK_CON_DIV_DIV_CLK_PERIC0_USI04,
2932 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_D_TZPC_PERIC0_IPCLKPORT_PCLK,
2933 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_GPIO_PERIC0_IPCLKPORT_PCLK,
2934 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_PERIC0_CMU_PERIC0_IPCLKPORT_PCLK,
2935 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_FREE_OSCCLK_IPCLKPORT_CLK,
2936 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_I2C_IPCLKPORT_CLK,
2937 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_CLK_PERIC0_NOCP_IPCLKPORT_CLK,
2938 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_SR_CLK_PERIC0_USI04_IPCLKPORT_CLK,
2939 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_SLH_AXI_MI_P_PERIC0_IPCLKPORT_I_CLK,
2940 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_SYSREG_PERIC0_IPCLKPORT_PCLK,
2941 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_USI04_I2C_IPCLKPORT_IPCLK,
2942 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_USI04_I2C_IPCLKPORT_PCLK,
2943 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_USI04_USI_IPCLKPORT_IPCLK,
2944 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_USI04_USI_IPCLKPORT_PCLK,
2945 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C00_IPCLKPORT_I_PCLK,
2946 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C00_IPCLKPORT_I_SCLK,
2947 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C01_IPCLKPORT_I_PCLK,
2948 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C01_IPCLKPORT_I_SCLK,
2949 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C02_IPCLKPORT_I_PCLK,
2950 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_I3C02_IPCLKPORT_I_SCLK,
2951 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_SR_CLK_PERIC0_I2C_IPCLKPORT_CLK,
2952 	CLK_CON_GAT_CLK_BLK_PERIC0_UID_RSTNSYNC_SR_CLK_PERIC0_NOCP_IPCLKPORT_CLK,
2953 };
2954 
2955 PNAME(mout_peric0_ip0_user_p)	= { "oscclk", "dout_cmu_peric0_ip0" };
2956 PNAME(mout_peric0_ip1_user_p)	= { "oscclk", "dout_cmu_peric0_ip1" };
2957 PNAME(mout_peric0_noc_user_p)	= { "oscclk", "dout_cmu_peric0_noc" };
2958 PNAME(mout_peric0_i2c_p)	= { "oscclk", "mout_peric0_ip0_user",
2959 				    "mout_peric0_ip0_user", "oscclk" };
2960 PNAME(mout_peric0_usi04_p)	= { "oscclk", "mout_peric0_ip0_user",
2961 				    "mout_peric0_ip0_user", "oscclk" };
2962 
2963 static const struct samsung_mux_clock peric0_mux_clks[] __initconst = {
2964 	MUX(CLK_MOUT_PERIC0_IP0_USER, "mout_peric0_ip0_user",
2965 	    mout_peric0_ip0_user_p, PLL_CON0_MUX_CLKCMU_PERIC0_IP0_USER, 4, 1),
2966 	MUX(CLK_MOUT_PERIC0_IP1_USER, "mout_peric0_ip1_user",
2967 	    mout_peric0_ip1_user_p, PLL_CON0_MUX_CLKCMU_PERIC0_IP1_USER, 4, 1),
2968 	MUX(CLK_MOUT_PERIC0_NOC_USER, "mout_peric0_noc_user",
2969 	    mout_peric0_noc_user_p, PLL_CON0_MUX_CLKCMU_PERIC0_NOC_USER, 4, 1),
2970 	MUX(CLK_MOUT_PERIC0_I2C, "mout_peric0_i2c", mout_peric0_i2c_p,
2971 	    CLK_CON_MUX_MUX_CLK_PERIC0_I2C, 0, 2),
2972 	MUX(CLK_MOUT_PERIC0_USI04, "mout_peric0_usi04", mout_peric0_usi04_p,
2973 	    CLK_CON_MUX_MUX_CLK_PERIC0_USI04, 0, 2),
2974 };
2975 
2976 static const struct samsung_div_clock peric0_div_clks[] __initconst = {
2977 	DIV(CLK_DOUT_PERIC0_I2C, "dout_peric0_i2c", "mout_peric0_i2c",
2978 	    CLK_CON_DIV_DIV_CLK_PERIC0_I2C, 0, 4),
2979 	DIV(CLK_DOUT_PERIC0_USI04, "dout_peric0_usi04", "mout_peric0_usi04",
2980 	    CLK_CON_DIV_DIV_CLK_PERIC0_USI04, 0, 7),
2981 };
2982 
2983 static const struct samsung_cmu_info peric0_cmu_info __initconst = {
2984 	.mux_clks		= peric0_mux_clks,
2985 	.nr_mux_clks		= ARRAY_SIZE(peric0_mux_clks),
2986 	.div_clks		= peric0_div_clks,
2987 	.nr_div_clks		= ARRAY_SIZE(peric0_div_clks),
2988 	.nr_clk_ids		= CLKS_NR_PERIC0,
2989 	.clk_regs		= peric0_clk_regs,
2990 	.nr_clk_regs		= ARRAY_SIZE(peric0_clk_regs),
2991 	.clk_name		= "noc",
2992 };
2993 
2994 /* ---- CMU_PERIC1 --------------------------------------------------------- */
2995 
2996 /* Register Offset definitions for CMU_PERIC1 (0x10700000) */
2997 #define PLL_CON0_MUX_CLKCMU_PERIC1_IP0_USER							0x600
2998 #define PLL_CON1_MUX_CLKCMU_PERIC1_IP0_USER							0x604
2999 #define PLL_CON0_MUX_CLKCMU_PERIC1_IP1_USER							0x610
3000 #define PLL_CON1_MUX_CLKCMU_PERIC1_IP1_USER							0x614
3001 #define PLL_CON0_MUX_CLKCMU_PERIC1_NOC_USER							0x620
3002 #define PLL_CON1_MUX_CLKCMU_PERIC1_NOC_USER							0x624
3003 #define CLK_CON_MUX_MUX_CLK_PERIC1_I2C								0x1000
3004 #define CLK_CON_MUX_MUX_CLK_PERIC1_SPI_MS_CTRL							0x1004
3005 #define CLK_CON_MUX_MUX_CLK_PERIC1_UART_BT							0x1008
3006 #define CLK_CON_MUX_MUX_CLK_PERIC1_USI07							0x100c
3007 #define CLK_CON_MUX_MUX_CLK_PERIC1_USI07_SPI_I2C						0x1010
3008 #define CLK_CON_MUX_MUX_CLK_PERIC1_USI08							0x1014
3009 #define CLK_CON_MUX_MUX_CLK_PERIC1_USI08_SPI_I2C						0x1018
3010 #define CLK_CON_MUX_MUX_CLK_PERIC1_USI09							0x101c
3011 #define CLK_CON_MUX_MUX_CLK_PERIC1_USI10							0x1020
3012 #define CLK_CON_DIV_DIV_CLK_PERIC1_I2C								0x1800
3013 #define CLK_CON_DIV_DIV_CLK_PERIC1_SPI_MS_CTRL							0x1804
3014 #define CLK_CON_DIV_DIV_CLK_PERIC1_UART_BT							0x1808
3015 #define CLK_CON_DIV_DIV_CLK_PERIC1_USI07							0x180c
3016 #define CLK_CON_DIV_DIV_CLK_PERIC1_USI07_SPI_I2C						0x1810
3017 #define CLK_CON_DIV_DIV_CLK_PERIC1_USI08							0x1814
3018 #define CLK_CON_DIV_DIV_CLK_PERIC1_USI08_SPI_I2C						0x1818
3019 #define CLK_CON_DIV_DIV_CLK_PERIC1_USI09							0x181c
3020 #define CLK_CON_DIV_DIV_CLK_PERIC1_USI10							0x1820
3021 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_BT_UART_IPCLKPORT_IPCLK					0x2000
3022 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_BT_UART_IPCLKPORT_PCLK					0x2004
3023 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_D_TZPC_PERIC1_IPCLKPORT_PCLK				0x2008
3024 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_GPIO_PERIC1_IPCLKPORT_PCLK				0x200c
3025 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_I2C_IPCLKPORT_CLK			0x2010
3026 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_NOCP_IPCLKPORT_CLK		0x2014
3027 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_PERIC1_CMU_PERIC1_IPCLKPORT_PCLK				0x2028
3028 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_FREE_OSCCLK_IPCLKPORT_CLK		0x202c
3029 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_NOCP_IPCLKPORT_CLK			0x2034
3030 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_UART_BT_IPCLKPORT_CLK		0x2038
3031 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI07_IPCLKPORT_CLK		0x203c
3032 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI07_SPI_I2C_IPCLKPORT_CLK	0x2040
3033 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI08_IPCLKPORT_CLK		0x2044
3034 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI08_SPI_I2C_IPCLKPORT_CLK	0x2048
3035 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI09_IPCLKPORT_CLK		0x204c
3036 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI10_IPCLKPORT_CLK		0x2050
3037 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_SPI_MS_CTRL_IPCLKPORT_CLK		0x2054
3038 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_SLH_AXI_MI_P_PERIC1_IPCLKPORT_I_CLK			0x205c
3039 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_SPI_MULTI_SLV_Q_CTRL_PERIC1_IPCLKPORT_CLK		0x2060
3040 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK				0x2064
3041 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI07_SPI_I2C_IPCLKPORT_IPCLK				0x2068
3042 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI07_SPI_I2C_IPCLKPORT_PCLK				0x206c
3043 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI07_USI_IPCLKPORT_IPCLK				0x2070
3044 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI07_USI_IPCLKPORT_PCLK					0x2074
3045 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI08_SPI_I2C_IPCLKPORT_IPCLK				0x2078
3046 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI08_SPI_I2C_IPCLKPORT_PCLK				0x207c
3047 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI08_USI_IPCLKPORT_IPCLK				0x2080
3048 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI08_USI_IPCLKPORT_PCLK					0x2084
3049 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI09_I2C_IPCLKPORT_IPCLK				0x2088
3050 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI09_I2C_IPCLKPORT_PCLK					0x208c
3051 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI09_USI_IPCLKPORT_IPCLK				0x2090
3052 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI09_USI_IPCLKPORT_PCLK					0x2094
3053 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI10_I2C_IPCLKPORT_IPCLK				0x2098
3054 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI10_I2C_IPCLKPORT_PCLK					0x209c
3055 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI10_USI_IPCLKPORT_IPCLK				0x20a0
3056 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI10_USI_IPCLKPORT_PCLK					0x20a4
3057 #define CLK_CON_GAT_CLK_BLK_PERIC1_UID_XIU_P_PERIC1_IPCLKPORT_ACLK				0x20a8
3058 
3059 static const unsigned long peric1_clk_regs[] __initconst = {
3060 	PLL_CON0_MUX_CLKCMU_PERIC1_IP0_USER,
3061 	PLL_CON1_MUX_CLKCMU_PERIC1_IP0_USER,
3062 	PLL_CON0_MUX_CLKCMU_PERIC1_IP1_USER,
3063 	PLL_CON1_MUX_CLKCMU_PERIC1_IP1_USER,
3064 	PLL_CON0_MUX_CLKCMU_PERIC1_NOC_USER,
3065 	PLL_CON1_MUX_CLKCMU_PERIC1_NOC_USER,
3066 	CLK_CON_MUX_MUX_CLK_PERIC1_I2C,
3067 	CLK_CON_MUX_MUX_CLK_PERIC1_SPI_MS_CTRL,
3068 	CLK_CON_MUX_MUX_CLK_PERIC1_UART_BT,
3069 	CLK_CON_MUX_MUX_CLK_PERIC1_USI07,
3070 	CLK_CON_MUX_MUX_CLK_PERIC1_USI07_SPI_I2C,
3071 	CLK_CON_MUX_MUX_CLK_PERIC1_USI08,
3072 	CLK_CON_MUX_MUX_CLK_PERIC1_USI08_SPI_I2C,
3073 	CLK_CON_MUX_MUX_CLK_PERIC1_USI09,
3074 	CLK_CON_MUX_MUX_CLK_PERIC1_USI10,
3075 	CLK_CON_DIV_DIV_CLK_PERIC1_I2C,
3076 	CLK_CON_DIV_DIV_CLK_PERIC1_SPI_MS_CTRL,
3077 	CLK_CON_DIV_DIV_CLK_PERIC1_UART_BT,
3078 	CLK_CON_DIV_DIV_CLK_PERIC1_USI07,
3079 	CLK_CON_DIV_DIV_CLK_PERIC1_USI07_SPI_I2C,
3080 	CLK_CON_DIV_DIV_CLK_PERIC1_USI08,
3081 	CLK_CON_DIV_DIV_CLK_PERIC1_USI08_SPI_I2C,
3082 	CLK_CON_DIV_DIV_CLK_PERIC1_USI09,
3083 	CLK_CON_DIV_DIV_CLK_PERIC1_USI10,
3084 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_BT_UART_IPCLKPORT_IPCLK,
3085 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_BT_UART_IPCLKPORT_PCLK,
3086 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_D_TZPC_PERIC1_IPCLKPORT_PCLK,
3087 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_GPIO_PERIC1_IPCLKPORT_PCLK,
3088 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_I2C_IPCLKPORT_CLK,
3089 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_NOCP_IPCLKPORT_CLK,
3090 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_PERIC1_CMU_PERIC1_IPCLKPORT_PCLK,
3091 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_FREE_OSCCLK_IPCLKPORT_CLK,
3092 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_CLK_PERIC1_NOCP_IPCLKPORT_CLK,
3093 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_UART_BT_IPCLKPORT_CLK,
3094 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI07_IPCLKPORT_CLK,
3095 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI07_SPI_I2C_IPCLKPORT_CLK,
3096 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI08_IPCLKPORT_CLK,
3097 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI08_SPI_I2C_IPCLKPORT_CLK,
3098 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI09_IPCLKPORT_CLK,
3099 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_USI10_IPCLKPORT_CLK,
3100 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_RSTNSYNC_SR_CLK_PERIC1_SPI_MS_CTRL_IPCLKPORT_CLK,
3101 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_SLH_AXI_MI_P_PERIC1_IPCLKPORT_I_CLK,
3102 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_SPI_MULTI_SLV_Q_CTRL_PERIC1_IPCLKPORT_CLK,
3103 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_SYSREG_PERIC1_IPCLKPORT_PCLK,
3104 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI07_SPI_I2C_IPCLKPORT_IPCLK,
3105 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI07_SPI_I2C_IPCLKPORT_PCLK,
3106 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI07_USI_IPCLKPORT_IPCLK,
3107 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI07_USI_IPCLKPORT_PCLK,
3108 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI08_SPI_I2C_IPCLKPORT_IPCLK,
3109 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI08_SPI_I2C_IPCLKPORT_PCLK,
3110 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI08_USI_IPCLKPORT_IPCLK,
3111 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI08_USI_IPCLKPORT_PCLK,
3112 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI09_I2C_IPCLKPORT_IPCLK,
3113 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI09_I2C_IPCLKPORT_PCLK,
3114 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI09_USI_IPCLKPORT_IPCLK,
3115 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI09_USI_IPCLKPORT_PCLK,
3116 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI10_I2C_IPCLKPORT_IPCLK,
3117 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI10_I2C_IPCLKPORT_PCLK,
3118 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI10_USI_IPCLKPORT_IPCLK,
3119 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_USI10_USI_IPCLKPORT_PCLK,
3120 	CLK_CON_GAT_CLK_BLK_PERIC1_UID_XIU_P_PERIC1_IPCLKPORT_ACLK,
3121 };
3122 
3123 PNAME(mout_peric1_ip0_user_p)		= { "oscclk", "dout_cmu_peric1_ip0" };
3124 PNAME(mout_peric1_ip1_user_p)		= { "oscclk", "dout_cmu_peric1_ip1" };
3125 PNAME(mout_peric1_noc_user_p)		= { "oscclk", "dout_cmu_peric1_noc" };
3126 PNAME(mout_peric1_i2c_p)		= { "oscclk", "mout_peric1_ip0_user",
3127 					    "mout_peric1_ip1_user", "oscclk" };
3128 PNAME(mout_peric1_spi_ms_ctrl_p)	= { "oscclk", "mout_peric1_ip0_user",
3129 					    "mout_peric1_ip1_user", "oscclk" };
3130 PNAME(mout_peric1_uart_bt_p)		= { "oscclk", "mout_peric1_ip0_user",
3131 					    "mout_peric1_ip1_user", "oscclk" };
3132 PNAME(mout_peric1_usi07_p)		= { "oscclk", "mout_peric1_ip0_user",
3133 					    "mout_peric1_ip1_user", "oscclk" };
3134 PNAME(mout_peric1_usi07_spi_i2c_p)	= { "oscclk", "mout_peric1_ip0_user",
3135 					    "mout_peric1_ip1_user", "oscclk" };
3136 PNAME(mout_peric1_usi08_p)		= { "oscclk", "mout_peric1_ip0_user",
3137 					    "mout_peric1_ip1_user", "oscclk" };
3138 PNAME(mout_peric1_usi08_spi_i2c_p)	= { "oscclk", "mout_peric1_ip0_user",
3139 					    "mout_peric1_ip1_user", "oscclk" };
3140 PNAME(mout_peric1_usi09_p)		= { "oscclk", "mout_peric1_ip0_user",
3141 					    "mout_peric1_ip1_user", "oscclk" };
3142 PNAME(mout_peric1_usi10_p)		= { "oscclk", "mout_peric1_ip0_user",
3143 					    "mout_peric1_ip1_user", "oscclk" };
3144 
3145 static const struct samsung_mux_clock peric1_mux_clks[] __initconst = {
3146 	MUX(CLK_MOUT_PERIC1_IP0_USER, "mout_peric1_ip0_user",
3147 	    mout_peric1_ip0_user_p, PLL_CON0_MUX_CLKCMU_PERIC1_IP0_USER, 4, 1),
3148 	MUX(CLK_MOUT_PERIC1_IP1_USER, "mout_peric1_ip1_user",
3149 	    mout_peric1_ip1_user_p, PLL_CON0_MUX_CLKCMU_PERIC1_IP1_USER, 4, 1),
3150 	MUX(CLK_MOUT_PERIC1_NOC_USER, "mout_peric1_noc_user",
3151 	    mout_peric1_noc_user_p, PLL_CON0_MUX_CLKCMU_PERIC1_NOC_USER, 4, 1),
3152 	MUX(CLK_MOUT_PERIC1_I2C, "mout_peric1_i2c", mout_peric1_i2c_p,
3153 	    CLK_CON_MUX_MUX_CLK_PERIC1_I2C, 0, 2),
3154 	MUX(CLK_MOUT_PERIC1_SPI_MS_CTRL, "mout_peric1_spi_ms_ctrl",
3155 	    mout_peric1_spi_ms_ctrl_p, CLK_CON_MUX_MUX_CLK_PERIC1_SPI_MS_CTRL,
3156 	    0, 2),
3157 	MUX(CLK_MOUT_PERIC1_UART_BT, "mout_peric1_uart_bt",
3158 	    mout_peric1_uart_bt_p, CLK_CON_MUX_MUX_CLK_PERIC1_UART_BT, 0, 2),
3159 	MUX(CLK_MOUT_PERIC1_USI07, "mout_peric1_usi07", mout_peric1_usi07_p,
3160 	    CLK_CON_MUX_MUX_CLK_PERIC1_USI07, 0, 2),
3161 	MUX(CLK_MOUT_PERIC1_USI07_SPI_I2C, "mout_peric1_usi07_spi_i2c",
3162 	    mout_peric1_usi07_spi_i2c_p,
3163 	    CLK_CON_MUX_MUX_CLK_PERIC1_USI07_SPI_I2C, 0, 2),
3164 	MUX(CLK_MOUT_PERIC1_USI08, "mout_peric1_usi08", mout_peric1_usi08_p,
3165 	    CLK_CON_MUX_MUX_CLK_PERIC1_USI08, 0, 2),
3166 	MUX(CLK_MOUT_PERIC1_USI08_SPI_I2C, "mout_peric1_usi08_spi_i2c",
3167 	    mout_peric1_usi08_spi_i2c_p,
3168 	    CLK_CON_MUX_MUX_CLK_PERIC1_USI08_SPI_I2C, 0, 2),
3169 	MUX(CLK_MOUT_PERIC1_USI09, "mout_peric1_usi09", mout_peric1_usi09_p,
3170 	    CLK_CON_MUX_MUX_CLK_PERIC1_USI09, 0, 2),
3171 	MUX(CLK_MOUT_PERIC1_USI10, "mout_peric1_usi10", mout_peric1_usi10_p,
3172 	    CLK_CON_MUX_MUX_CLK_PERIC1_USI10, 0, 2),
3173 };
3174 
3175 static const struct samsung_div_clock peric1_div_clks[] __initconst = {
3176 	DIV(CLK_DOUT_PERIC1_I2C, "dout_peric1_i2c", "mout_peric1_i2c",
3177 	    CLK_CON_DIV_DIV_CLK_PERIC1_I2C, 0, 4),
3178 	DIV(CLK_DOUT_PERIC1_SPI_MS_CTRL, "dout_peric1_spi_ms_ctrl",
3179 	    "mout_peric1_spi_ms_ctrl", CLK_CON_DIV_DIV_CLK_PERIC1_SPI_MS_CTRL,
3180 	    0, 7),
3181 	DIV(CLK_DOUT_PERIC1_UART_BT, "dout_peric1_uart_bt",
3182 	    "mout_peric1_uart_bt", CLK_CON_DIV_DIV_CLK_PERIC1_UART_BT, 0, 4),
3183 	DIV(CLK_DOUT_PERIC1_USI07, "dout_peric1_usi07", "mout_peric1_usi07",
3184 	    CLK_CON_DIV_DIV_CLK_PERIC1_USI07, 0, 7),
3185 	DIV(CLK_DOUT_PERIC1_USI07_SPI_I2C, "dout_peric1_usi07_spi_i2c",
3186 	    "mout_peric1_usi07_spi_i2c",
3187 	    CLK_CON_DIV_DIV_CLK_PERIC1_USI07_SPI_I2C, 0, 4),
3188 	DIV(CLK_DOUT_PERIC1_USI08, "dout_peric1_usi08", "mout_peric1_usi08",
3189 	    CLK_CON_DIV_DIV_CLK_PERIC1_USI08, 0, 7),
3190 	DIV(CLK_DOUT_PERIC1_USI08_SPI_I2C, "dout_peric1_usi08_spi_i2c",
3191 	    "mout_peric1_usi08_spi_i2c",
3192 	    CLK_CON_DIV_DIV_CLK_PERIC1_USI08_SPI_I2C, 0, 4),
3193 	DIV(CLK_DOUT_PERIC1_USI09, "dout_peric1_usi09", "mout_peric1_usi09",
3194 	    CLK_CON_DIV_DIV_CLK_PERIC1_USI09, 0, 7),
3195 	DIV(CLK_DOUT_PERIC1_USI10, "dout_peric1_usi10", "mout_peric1_usi10",
3196 	    CLK_CON_DIV_DIV_CLK_PERIC1_USI10, 0, 7),
3197 };
3198 
3199 static const struct samsung_cmu_info peric1_cmu_info __initconst = {
3200 	.mux_clks		= peric1_mux_clks,
3201 	.nr_mux_clks		= ARRAY_SIZE(peric1_mux_clks),
3202 	.div_clks		= peric1_div_clks,
3203 	.nr_div_clks		= ARRAY_SIZE(peric1_div_clks),
3204 	.nr_clk_ids		= CLKS_NR_PERIC1,
3205 	.clk_regs		= peric1_clk_regs,
3206 	.nr_clk_regs		= ARRAY_SIZE(peric1_clk_regs),
3207 	.clk_name		= "noc",
3208 };
3209 
3210 /* ---- CMU_PERIC2 --------------------------------------------------------- */
3211 
3212 /* Register Offset definitions for CMU_PERIC2 (0x11c00000) */
3213 #define PLL_CON0_MUX_CLKCMU_PERIC2_IP0_USER							0x600
3214 #define PLL_CON1_MUX_CLKCMU_PERIC2_IP0_USER							0x604
3215 #define PLL_CON0_MUX_CLKCMU_PERIC2_IP1_USER							0x610
3216 #define PLL_CON1_MUX_CLKCMU_PERIC2_IP1_USER							0x614
3217 #define PLL_CON0_MUX_CLKCMU_PERIC2_NOC_USER							0x620
3218 #define PLL_CON1_MUX_CLKCMU_PERIC2_NOC_USER							0x624
3219 #define CLK_CON_MUX_MUX_CLK_PERIC2_I2C								0x1000
3220 #define CLK_CON_MUX_MUX_CLK_PERIC2_SPI_MS_CTRL							0x1004
3221 #define CLK_CON_MUX_MUX_CLK_PERIC2_UART_DBG							0x1008
3222 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI00							0x100c
3223 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI00_SPI_I2C						0x1010
3224 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI01							0x1014
3225 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI01_SPI_I2C						0x1018
3226 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI02							0x101c
3227 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI03							0x1020
3228 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI05							0x1024
3229 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI06							0x1028
3230 #define CLK_CON_MUX_MUX_CLK_PERIC2_USI11							0x102c
3231 #define CLK_CON_DIV_DIV_CLK_PERIC2_I2C								0x1800
3232 #define CLK_CON_DIV_DIV_CLK_PERIC2_SPI_MS_CTRL							0x1804
3233 #define CLK_CON_DIV_DIV_CLK_PERIC2_UART_DBG							0x1808
3234 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI00							0x180c
3235 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI00_SPI_I2C						0x1810
3236 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI01							0x1814
3237 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI01_SPI_I2C						0x1818
3238 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI02							0x181c
3239 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI03							0x1820
3240 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI05							0x1824
3241 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI06							0x1828
3242 #define CLK_CON_DIV_DIV_CLK_PERIC2_USI11							0x182c
3243 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_DBG_UART_IPCLKPORT_IPCLK					0x2000
3244 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_DBG_UART_IPCLKPORT_PCLK					0x2004
3245 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_D_TZPC_PERIC2_IPCLKPORT_PCLK				0x2008
3246 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_GPIO_PERIC2_IPCLKPORT_PCLK				0x200c
3247 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C03_OIS_IPCLKPORT_I_PCLK				0x2010
3248 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C03_OIS_IPCLKPORT_I_SCLK				0x2014
3249 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C04_IPCLKPORT_I_PCLK					0x2018
3250 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C04_IPCLKPORT_I_SCLK					0x201c
3251 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C05_IPCLKPORT_I_PCLK					0x2020
3252 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C05_IPCLKPORT_I_SCLK					0x2024
3253 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C06_IPCLKPORT_I_PCLK					0x2028
3254 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C06_IPCLKPORT_I_SCLK					0x202c
3255 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C07_IPCLKPORT_I_PCLK					0x2030
3256 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C07_IPCLKPORT_I_SCLK					0x2034
3257 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C08_IPCLKPORT_I_PCLK					0x2038
3258 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C08_IPCLKPORT_I_SCLK					0x203c
3259 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C09_IPCLKPORT_I_PCLK					0x2040
3260 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C09_IPCLKPORT_I_SCLK					0x2044
3261 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C10_IPCLKPORT_I_PCLK					0x2048
3262 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C10_IPCLKPORT_I_SCLK					0x204c
3263 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C11_IPCLKPORT_I_PCLK					0x2050
3264 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C11_IPCLKPORT_I_SCLK					0x2054
3265 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_PERIC2_CMU_PERIC2_IPCLKPORT_PCLK				0x2058
3266 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_PWM_IPCLKPORT_I_PCLK_S0					0x205c
3267 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_CLK_PERIC2_FREE_OSCCLK_IPCLKPORT_CLK		0x2060
3268 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_CLK_PERIC2_I2C_IPCLKPORT_CLK			0x2064
3269 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_CLK_PERIC2_NOCP_IPCLKPORT_CLK			0x2068
3270 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_UART_DBG_IPCLKPORT_CLK		0x206c
3271 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI00_IPCLKPORT_CLK		0x2070
3272 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI00_SPI_I2C_IPCLKPORT_CLK	0x2074
3273 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI01_IPCLKPORT_CLK		0x2078
3274 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI01_SPI_I2C_IPCLKPORT_CLK	0x207c
3275 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI02_IPCLKPORT_CLK		0x2080
3276 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI03_IPCLKPORT_CLK		0x2084
3277 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI05_IPCLKPORT_CLK		0x2088
3278 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI06_IPCLKPORT_CLK		0x208c
3279 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI11_IPCLKPORT_CLK		0x2090
3280 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_SPI_MS_CTRL_IPCLKPORT_CLK		0x2094
3281 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_SLH_AXI_MI_P_PERIC2_IPCLKPORT_I_CLK			0x2098
3282 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_SPI_MULTI_SLV_Q_CTRL_PERIC2_IPCLKPORT_CLK		0x209c
3283 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_SYSREG_PERIC2_IPCLKPORT_PCLK				0x20a0
3284 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI00_SPI_I2C_IPCLKPORT_IPCLK				0x20a4
3285 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI00_SPI_I2C_IPCLKPORT_PCLK				0x20a8
3286 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI00_USI_IPCLKPORT_IPCLK				0x20ac
3287 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI00_USI_IPCLKPORT_PCLK					0x20b0
3288 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI01_SPI_I2C_IPCLKPORT_IPCLK				0x20b4
3289 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI01_SPI_I2C_IPCLKPORT_PCLK				0x20b8
3290 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI01_USI_IPCLKPORT_IPCLK				0x20bc
3291 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI01_USI_IPCLKPORT_PCLK					0x20c0
3292 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI02_I2C_IPCLKPORT_IPCLK				0x20c4
3293 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI02_I2C_IPCLKPORT_PCLK					0x20c8
3294 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI02_USI_IPCLKPORT_IPCLK				0x20cc
3295 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI02_USI_IPCLKPORT_PCLK					0x20d0
3296 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI03_I2C_IPCLKPORT_IPCLK				0x20d4
3297 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI03_I2C_IPCLKPORT_PCLK					0x20d8
3298 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI03_USI_IPCLKPORT_IPCLK				0x20dc
3299 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI03_USI_IPCLKPORT_PCLK					0x20e0
3300 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI05_I2C_IPCLKPORT_IPCLK				0x20e4
3301 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI05_I2C_IPCLKPORT_PCLK					0x20e8
3302 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI05_USI_OIS_IPCLKPORT_IPCLK				0x20ec
3303 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI05_USI_OIS_IPCLKPORT_PCLK				0x20f0
3304 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI06_I2C_IPCLKPORT_IPCLK				0x20f4
3305 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI06_I2C_IPCLKPORT_PCLK					0x20f8
3306 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI06_USI_OIS_IPCLKPORT_IPCLK				0x20fc
3307 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI06_USI_OIS_IPCLKPORT_PCLK				0x2100
3308 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI11_I2C_IPCLKPORT_IPCLK				0x2104
3309 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI11_I2C_IPCLKPORT_PCLK					0x2108
3310 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI11_USI_IPCLKPORT_IPCLK				0x210c
3311 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI11_USI_IPCLKPORT_PCLK					0x2110
3312 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_I2C_IPCLKPORT_CLK			0x2114
3313 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_NOCP_IPCLKPORT_CLK		0x2118
3314 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_SLH_AXI_MI_LP_CSISPERIC2_IPCLKPORT_I_CLK			0x211c
3315 #define CLK_CON_GAT_CLK_BLK_PERIC2_UID_XIU_P_PERIC2_IPCLKPORT_ACLK				0x2120
3316 
3317 static const unsigned long peric2_clk_regs[] __initconst = {
3318 	PLL_CON0_MUX_CLKCMU_PERIC2_IP0_USER,
3319 	PLL_CON1_MUX_CLKCMU_PERIC2_IP0_USER,
3320 	PLL_CON0_MUX_CLKCMU_PERIC2_IP1_USER,
3321 	PLL_CON1_MUX_CLKCMU_PERIC2_IP1_USER,
3322 	PLL_CON0_MUX_CLKCMU_PERIC2_NOC_USER,
3323 	PLL_CON1_MUX_CLKCMU_PERIC2_NOC_USER,
3324 	CLK_CON_MUX_MUX_CLK_PERIC2_I2C,
3325 	CLK_CON_MUX_MUX_CLK_PERIC2_SPI_MS_CTRL,
3326 	CLK_CON_MUX_MUX_CLK_PERIC2_UART_DBG,
3327 	CLK_CON_MUX_MUX_CLK_PERIC2_USI00,
3328 	CLK_CON_MUX_MUX_CLK_PERIC2_USI00_SPI_I2C,
3329 	CLK_CON_MUX_MUX_CLK_PERIC2_USI01,
3330 	CLK_CON_MUX_MUX_CLK_PERIC2_USI01_SPI_I2C,
3331 	CLK_CON_MUX_MUX_CLK_PERIC2_USI02,
3332 	CLK_CON_MUX_MUX_CLK_PERIC2_USI03,
3333 	CLK_CON_MUX_MUX_CLK_PERIC2_USI05,
3334 	CLK_CON_MUX_MUX_CLK_PERIC2_USI06,
3335 	CLK_CON_MUX_MUX_CLK_PERIC2_USI11,
3336 	CLK_CON_DIV_DIV_CLK_PERIC2_I2C,
3337 	CLK_CON_DIV_DIV_CLK_PERIC2_SPI_MS_CTRL,
3338 	CLK_CON_DIV_DIV_CLK_PERIC2_UART_DBG,
3339 	CLK_CON_DIV_DIV_CLK_PERIC2_USI00,
3340 	CLK_CON_DIV_DIV_CLK_PERIC2_USI00_SPI_I2C,
3341 	CLK_CON_DIV_DIV_CLK_PERIC2_USI01,
3342 	CLK_CON_DIV_DIV_CLK_PERIC2_USI01_SPI_I2C,
3343 	CLK_CON_DIV_DIV_CLK_PERIC2_USI02,
3344 	CLK_CON_DIV_DIV_CLK_PERIC2_USI03,
3345 	CLK_CON_DIV_DIV_CLK_PERIC2_USI05,
3346 	CLK_CON_DIV_DIV_CLK_PERIC2_USI06,
3347 	CLK_CON_DIV_DIV_CLK_PERIC2_USI11,
3348 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_DBG_UART_IPCLKPORT_IPCLK,
3349 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_DBG_UART_IPCLKPORT_PCLK,
3350 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_D_TZPC_PERIC2_IPCLKPORT_PCLK,
3351 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_GPIO_PERIC2_IPCLKPORT_PCLK,
3352 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C03_OIS_IPCLKPORT_I_PCLK,
3353 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C03_OIS_IPCLKPORT_I_SCLK,
3354 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C04_IPCLKPORT_I_PCLK,
3355 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C04_IPCLKPORT_I_SCLK,
3356 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C05_IPCLKPORT_I_PCLK,
3357 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C05_IPCLKPORT_I_SCLK,
3358 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C06_IPCLKPORT_I_PCLK,
3359 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C06_IPCLKPORT_I_SCLK,
3360 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C07_IPCLKPORT_I_PCLK,
3361 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C07_IPCLKPORT_I_SCLK,
3362 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C08_IPCLKPORT_I_PCLK,
3363 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C08_IPCLKPORT_I_SCLK,
3364 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C09_IPCLKPORT_I_PCLK,
3365 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C09_IPCLKPORT_I_SCLK,
3366 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C10_IPCLKPORT_I_PCLK,
3367 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C10_IPCLKPORT_I_SCLK,
3368 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C11_IPCLKPORT_I_PCLK,
3369 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_I3C11_IPCLKPORT_I_SCLK,
3370 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_PERIC2_CMU_PERIC2_IPCLKPORT_PCLK,
3371 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_PWM_IPCLKPORT_I_PCLK_S0,
3372 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_CLK_PERIC2_FREE_OSCCLK_IPCLKPORT_CLK,
3373 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_CLK_PERIC2_I2C_IPCLKPORT_CLK,
3374 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_CLK_PERIC2_NOCP_IPCLKPORT_CLK,
3375 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_UART_DBG_IPCLKPORT_CLK,
3376 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI00_IPCLKPORT_CLK,
3377 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI00_SPI_I2C_IPCLKPORT_CLK,
3378 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI01_IPCLKPORT_CLK,
3379 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI01_SPI_I2C_IPCLKPORT_CLK,
3380 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI02_IPCLKPORT_CLK,
3381 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI03_IPCLKPORT_CLK,
3382 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI05_IPCLKPORT_CLK,
3383 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI06_IPCLKPORT_CLK,
3384 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_USI11_IPCLKPORT_CLK,
3385 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_SPI_MS_CTRL_IPCLKPORT_CLK,
3386 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_SLH_AXI_MI_P_PERIC2_IPCLKPORT_I_CLK,
3387 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_SPI_MULTI_SLV_Q_CTRL_PERIC2_IPCLKPORT_CLK,
3388 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_SYSREG_PERIC2_IPCLKPORT_PCLK,
3389 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI00_SPI_I2C_IPCLKPORT_IPCLK,
3390 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI00_SPI_I2C_IPCLKPORT_PCLK,
3391 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI00_USI_IPCLKPORT_IPCLK,
3392 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI00_USI_IPCLKPORT_PCLK,
3393 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI01_SPI_I2C_IPCLKPORT_IPCLK,
3394 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI01_SPI_I2C_IPCLKPORT_PCLK,
3395 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI01_USI_IPCLKPORT_IPCLK,
3396 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI01_USI_IPCLKPORT_PCLK,
3397 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI02_I2C_IPCLKPORT_IPCLK,
3398 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI02_I2C_IPCLKPORT_PCLK,
3399 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI02_USI_IPCLKPORT_IPCLK,
3400 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI02_USI_IPCLKPORT_PCLK,
3401 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI03_I2C_IPCLKPORT_IPCLK,
3402 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI03_I2C_IPCLKPORT_PCLK,
3403 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI03_USI_IPCLKPORT_IPCLK,
3404 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI03_USI_IPCLKPORT_PCLK,
3405 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI05_I2C_IPCLKPORT_IPCLK,
3406 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI05_I2C_IPCLKPORT_PCLK,
3407 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI05_USI_OIS_IPCLKPORT_IPCLK,
3408 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI05_USI_OIS_IPCLKPORT_PCLK,
3409 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI06_I2C_IPCLKPORT_IPCLK,
3410 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI06_I2C_IPCLKPORT_PCLK,
3411 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI06_USI_OIS_IPCLKPORT_IPCLK,
3412 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI06_USI_OIS_IPCLKPORT_PCLK,
3413 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI11_I2C_IPCLKPORT_IPCLK,
3414 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI11_I2C_IPCLKPORT_PCLK,
3415 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI11_USI_IPCLKPORT_IPCLK,
3416 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_USI11_USI_IPCLKPORT_PCLK,
3417 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_I2C_IPCLKPORT_CLK,
3418 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_RSTNSYNC_SR_CLK_PERIC2_NOCP_IPCLKPORT_CLK,
3419 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_SLH_AXI_MI_LP_CSISPERIC2_IPCLKPORT_I_CLK,
3420 	CLK_CON_GAT_CLK_BLK_PERIC2_UID_XIU_P_PERIC2_IPCLKPORT_ACLK,
3421 };
3422 
3423 PNAME(mout_peric2_ip0_user_p)			= { "oscclk",
3424 						    "dout_cmu_peric2_ip0" };
3425 PNAME(mout_peric2_ip1_user_p)			= { "oscclk",
3426 						    "dout_cmu_peric2_ip1" };
3427 PNAME(mout_peric2_noc_user_p)			= { "oscclk",
3428 						    "dout_cmu_peric2_noc" };
3429 PNAME(mout_peric2_i2c_p)			= { "oscclk",
3430 						    "mout_peric2_ip0_user",
3431 						    "mout_peric2_ip1_user",
3432 						    "oscclk" };
3433 PNAME(mout_peric2_spi_ms_ctrl_p)		= { "oscclk",
3434 						    "mout_peric2_ip0_user",
3435 						    "mout_peric2_ip1_user",
3436 						    "oscclk" };
3437 PNAME(mout_peric2_uart_dbg_p)			= { "oscclk",
3438 						    "mout_peric2_ip0_user",
3439 						    "mout_peric2_ip1_user",
3440 						    "oscclk" };
3441 PNAME(mout_peric2_usi00_p)			= { "oscclk",
3442 						    "mout_peric2_ip0_user",
3443 						    "mout_peric2_ip1_user",
3444 						    "oscclk" };
3445 PNAME(mout_peric2_usi00_spi_i2c_p)		= { "oscclk",
3446 						    "mout_peric2_ip0_user",
3447 						    "mout_peric2_ip1_user",
3448 						    "oscclk" };
3449 PNAME(mout_peric2_usi01_p)			= { "oscclk",
3450 						    "mout_peric2_ip0_user",
3451 						    "mout_peric2_ip1_user",
3452 						    "oscclk" };
3453 PNAME(mout_peric2_usi01_spi_i2c_p)		= { "oscclk",
3454 						    "mout_peric2_ip0_user",
3455 						    "mout_peric2_ip1_user",
3456 						    "oscclk" };
3457 PNAME(mout_peric2_usi02_p)			= { "oscclk",
3458 						    "mout_peric2_ip0_user",
3459 						    "mout_peric2_ip1_user",
3460 						    "oscclk" };
3461 PNAME(mout_peric2_usi03_p)			= { "oscclk",
3462 						    "mout_peric2_ip0_user",
3463 						    "mout_peric2_ip1_user",
3464 						    "oscclk" };
3465 PNAME(mout_peric2_usi05_p)			= { "oscclk",
3466 						    "mout_peric2_ip0_user",
3467 						    "mout_peric2_ip1_user",
3468 						    "oscclk" };
3469 PNAME(mout_peric2_usi06_p)			= { "oscclk",
3470 						    "mout_peric2_ip0_user",
3471 						    "mout_peric2_ip1_user",
3472 						    "oscclk" };
3473 PNAME(mout_peric2_usi11_p)			= { "oscclk",
3474 						    "mout_peric2_ip0_user",
3475 						    "mout_peric2_ip1_user",
3476 						    "oscclk" };
3477 
3478 static const struct samsung_mux_clock peric2_mux_clks[] __initconst = {
3479 	MUX(CLK_MOUT_PERIC2_IP0_USER, "mout_peric2_ip0_user",
3480 	    mout_peric2_ip0_user_p, PLL_CON0_MUX_CLKCMU_PERIC2_IP0_USER, 4, 1),
3481 	MUX(CLK_MOUT_PERIC2_IP1_USER, "mout_peric2_ip1_user",
3482 	    mout_peric2_ip1_user_p, PLL_CON0_MUX_CLKCMU_PERIC2_IP1_USER, 4, 1),
3483 	MUX(CLK_MOUT_PERIC2_NOC_USER, "mout_peric2_noc_user",
3484 	    mout_peric2_noc_user_p, PLL_CON0_MUX_CLKCMU_PERIC2_NOC_USER, 4, 1),
3485 	MUX(CLK_MOUT_PERIC2_I2C, "mout_peric2_i2c", mout_peric2_i2c_p,
3486 	    CLK_CON_MUX_MUX_CLK_PERIC2_I2C, 0, 2),
3487 	MUX(CLK_MOUT_PERIC2_SPI_MS_CTRL, "mout_peric2_spi_ms_ctrl",
3488 	    mout_peric2_spi_ms_ctrl_p,
3489 	    CLK_CON_MUX_MUX_CLK_PERIC2_SPI_MS_CTRL, 0, 2),
3490 	MUX(CLK_MOUT_PERIC2_UART_DBG, "mout_peric2_uart_dbg",
3491 	    mout_peric2_uart_dbg_p, CLK_CON_MUX_MUX_CLK_PERIC2_UART_DBG, 0, 2),
3492 	MUX(CLK_MOUT_PERIC2_USI00, "mout_peric2_usi00", mout_peric2_usi00_p,
3493 	    CLK_CON_MUX_MUX_CLK_PERIC2_USI00, 0, 2),
3494 	MUX(CLK_MOUT_PERIC2_USI00_SPI_I2C, "mout_peric2_usi00_spi_i2c",
3495 	    mout_peric2_usi00_spi_i2c_p, CLK_CON_MUX_MUX_CLK_PERIC2_USI00_SPI_I2C,
3496 	    0, 2),
3497 	MUX(CLK_MOUT_PERIC2_USI01, "mout_peric2_usi01", mout_peric2_usi01_p,
3498 	    CLK_CON_MUX_MUX_CLK_PERIC2_USI01, 0, 2),
3499 	MUX(CLK_MOUT_PERIC2_USI01_SPI_I2C, "mout_peric2_usi01_spi_i2c",
3500 	    mout_peric2_usi01_spi_i2c_p,
3501 	    CLK_CON_MUX_MUX_CLK_PERIC2_USI01_SPI_I2C, 0, 2),
3502 	MUX(CLK_MOUT_PERIC2_USI02, "mout_peric2_usi02", mout_peric2_usi02_p,
3503 	    CLK_CON_MUX_MUX_CLK_PERIC2_USI02, 0, 2),
3504 	MUX(CLK_MOUT_PERIC2_USI03, "mout_peric2_usi03", mout_peric2_usi03_p,
3505 	    CLK_CON_MUX_MUX_CLK_PERIC2_USI03, 0, 2),
3506 	MUX(CLK_MOUT_PERIC2_USI05, "mout_peric2_usi05", mout_peric2_usi05_p,
3507 	    CLK_CON_MUX_MUX_CLK_PERIC2_USI05, 0, 2),
3508 	MUX(CLK_MOUT_PERIC2_USI06, "mout_peric2_usi06", mout_peric2_usi06_p,
3509 	    CLK_CON_MUX_MUX_CLK_PERIC2_USI06, 0, 2),
3510 	MUX(CLK_MOUT_PERIC2_USI11, "mout_peric2_usi11", mout_peric2_usi11_p,
3511 	    CLK_CON_MUX_MUX_CLK_PERIC2_USI11, 0, 2),
3512 };
3513 
3514 static const struct samsung_div_clock peric2_div_clks[] __initconst = {
3515 	DIV(CLK_DOUT_PERIC2_I2C, "dout_peric2_i2c", "mout_peric2_i2c",
3516 	    CLK_CON_DIV_DIV_CLK_PERIC2_I2C, 0, 4),
3517 	DIV(CLK_DOUT_PERIC2_SPI_MS_CTRL, "dout_peric2_spi_ms_ctrl",
3518 	    "mout_peric2_spi_ms_ctrl", CLK_CON_DIV_DIV_CLK_PERIC2_SPI_MS_CTRL,
3519 	    0, 7),
3520 	DIV(CLK_DOUT_PERIC2_UART_DBG, "dout_peric2_uart_dbg",
3521 	    "mout_peric2_uart_dbg", CLK_CON_DIV_DIV_CLK_PERIC2_UART_DBG, 0, 4),
3522 	DIV(CLK_DOUT_PERIC2_USI00, "dout_peric2_usi00", "mout_peric2_usi00",
3523 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI00, 0, 7),
3524 	DIV(CLK_DOUT_PERIC2_USI00_SPI_I2C, "dout_peric2_usi00_spi_i2c",
3525 	    "mout_peric2_usi00_spi_i2c",
3526 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI00_SPI_I2C, 0, 4),
3527 	DIV(CLK_DOUT_PERIC2_USI01, "dout_peric2_usi01", "mout_peric2_usi01",
3528 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI01, 0, 7),
3529 	DIV(CLK_DOUT_PERIC2_USI01_SPI_I2C, "dout_peric2_usi01_spi_i2c",
3530 	    "mout_peric2_usi01_spi_i2c",
3531 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI01_SPI_I2C, 0, 4),
3532 	DIV(CLK_DOUT_PERIC2_USI02, "dout_peric2_usi02", "mout_peric2_usi02",
3533 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI02, 0, 7),
3534 	DIV(CLK_DOUT_PERIC2_USI03, "dout_peric2_usi03", "mout_peric2_usi03",
3535 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI03, 0, 7),
3536 	DIV(CLK_DOUT_PERIC2_USI05, "dout_peric2_usi05", "mout_peric2_usi05",
3537 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI05, 0, 7),
3538 	DIV(CLK_DOUT_PERIC2_USI06, "dout_peric2_usi06", "mout_peric2_usi06",
3539 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI06, 0, 7),
3540 	DIV(CLK_DOUT_PERIC2_USI11, "dout_peric2_usi11", "mout_peric2_usi11",
3541 	    CLK_CON_DIV_DIV_CLK_PERIC2_USI11, 0, 7),
3542 };
3543 
3544 static const struct samsung_cmu_info peric2_cmu_info __initconst = {
3545 	.mux_clks		= peric2_mux_clks,
3546 	.nr_mux_clks		= ARRAY_SIZE(peric2_mux_clks),
3547 	.div_clks		= peric2_div_clks,
3548 	.nr_div_clks		= ARRAY_SIZE(peric2_div_clks),
3549 	.nr_clk_ids		= CLKS_NR_PERIC2,
3550 	.clk_regs		= peric2_clk_regs,
3551 	.nr_clk_regs		= ARRAY_SIZE(peric2_clk_regs),
3552 	.clk_name		= "noc",
3553 };
3554 
3555 /* ---- CMU_UFS ------------------------------------------------------------ */
3556 
3557 /* Register Offset definitions for CMU_UFS(0x11000000) */
3558 #define PLL_CON0_MUX_CLKCMU_UFS_MMC_CARD_USER						0x600
3559 #define PLL_CON1_MUX_CLKCMU_UFS_MMC_CARD_USER						0x604
3560 #define PLL_CON0_MUX_CLKCMU_UFS_NOC_USER						0x610
3561 #define PLL_CON1_MUX_CLKCMU_UFS_NOC_USER						0x614
3562 #define PLL_CON0_MUX_CLKCMU_UFS_UFS_EMBD_USER						0x620
3563 #define PLL_CON1_MUX_CLKCMU_UFS_UFS_EMBD_USER						0x624
3564 #define CLK_CON_GAT_CLK_BLK_UFS_UID_BLK_UFS_FRC_OTP_DESERIAL_IPCLKPORT_I_CLK		0x2000
3565 #define CLK_CON_GAT_CLK_BLK_UFS_UID_D_TZPC_UFS_IPCLKPORT_PCLK				0x2004
3566 #define CLK_CON_GAT_CLK_BLK_UFS_UID_GPIO_HSI1UFS_IPCLKPORT_PCLK				0x2008
3567 #define CLK_CON_GAT_CLK_BLK_UFS_UID_GPIO_UFS_IPCLKPORT_PCLK				0x200c
3568 #define CLK_CON_GAT_CLK_BLK_UFS_UID_LH_ACEL_SI_D_UFS_IPCLKPORT_I_CLK			0x2010
3569 #define CLK_CON_GAT_CLK_BLK_UFS_UID_MMC_CARD_IPCLKPORT_I_ACLK				0x2014
3570 #define CLK_CON_GAT_CLK_BLK_UFS_UID_MMC_CARD_IPCLKPORT_SDCLKIN				0x2018
3571 #define CLK_CON_GAT_CLK_BLK_UFS_UID_OTP_DESERIAL_UFS_EMBD_FMP_IPCLKPORT_I_CLK		0x201c
3572 #define CLK_CON_GAT_CLK_BLK_UFS_UID_PPMU_UFS_IPCLKPORT_ACLK				0x2024
3573 #define CLK_CON_GAT_CLK_BLK_UFS_UID_PPMU_UFS_IPCLKPORT_PCLK				0x2028
3574 #define CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_CLK_UFS_FREE_OSCCLK_IPCLKPORT_CLK		0x202c
3575 #define CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_CLK_UFS_MMC_CARD_IPCLKPORT_CLK		0x2030
3576 #define CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_CLK_UFS_NOC_IPCLKPORT_CLK			0x2034
3577 #define CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_CLK_UFS_UFS_EMBD_IPCLKPORT_CLK		0x2038
3578 #define CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_SR_CLK_UFS_FREE_OSCCLK_IPCLKPORT_CLK	0x203c
3579 #define CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_SR_CLK_UFS_NOC_IPCLKPORT_CLK		0x2040
3580 #define CLK_CON_GAT_CLK_BLK_UFS_UID_SLH_AST_SI_G_PPMU_UFS_IPCLKPORT_I_CLK		0x2044
3581 #define CLK_CON_GAT_CLK_BLK_UFS_UID_SLH_AXI_MI_P_UFS_IPCLKPORT_I_CLK			0x2048
3582 #define CLK_CON_GAT_CLK_BLK_UFS_UID_SPC_UFS_IPCLKPORT_PCLK				0x204c
3583 #define CLK_CON_GAT_CLK_BLK_UFS_UID_SYSMMU_UFS_IPCLKPORT_CLK_S2				0x2050
3584 #define CLK_CON_GAT_CLK_BLK_UFS_UID_SYSREG_UFS_IPCLKPORT_PCLK				0x2054
3585 #define CLK_CON_GAT_CLK_BLK_UFS_UID_UFS_CMU_UFS_IPCLKPORT_PCLK				0x2058
3586 #define CLK_CON_GAT_CLK_BLK_UFS_UID_UFS_EMBD_IPCLKPORT_I_ACLK				0x205c
3587 #define CLK_CON_GAT_CLK_BLK_UFS_UID_UFS_EMBD_IPCLKPORT_I_CLK_UNIPRO			0x2060
3588 #define CLK_CON_GAT_CLK_BLK_UFS_UID_UFS_EMBD_IPCLKPORT_I_FMP_CLK			0x2064
3589 #define CLK_CON_GAT_CLK_BLK_UFS_UID_VGEN_LITE_UFS_IPCLKPORT_CLK				0x2068
3590 #define CLK_CON_GAT_CLK_BLK_UFS_UID_XIU_D_UFS_IPCLKPORT_ACLK				0x206c
3591 #define CLK_CON_GAT_CLK_BLK_UFS_UID_XIU_P_UFS_IPCLKPORT_ACLK				0x2070
3592 
3593 static const unsigned long ufs_clk_regs[] __initconst = {
3594 	PLL_CON0_MUX_CLKCMU_UFS_MMC_CARD_USER,
3595 	PLL_CON1_MUX_CLKCMU_UFS_MMC_CARD_USER,
3596 	PLL_CON0_MUX_CLKCMU_UFS_NOC_USER,
3597 	PLL_CON1_MUX_CLKCMU_UFS_NOC_USER,
3598 	PLL_CON0_MUX_CLKCMU_UFS_UFS_EMBD_USER,
3599 	PLL_CON1_MUX_CLKCMU_UFS_UFS_EMBD_USER,
3600 	CLK_CON_GAT_CLK_BLK_UFS_UID_BLK_UFS_FRC_OTP_DESERIAL_IPCLKPORT_I_CLK,
3601 	CLK_CON_GAT_CLK_BLK_UFS_UID_D_TZPC_UFS_IPCLKPORT_PCLK,
3602 	CLK_CON_GAT_CLK_BLK_UFS_UID_GPIO_HSI1UFS_IPCLKPORT_PCLK,
3603 	CLK_CON_GAT_CLK_BLK_UFS_UID_GPIO_UFS_IPCLKPORT_PCLK,
3604 	CLK_CON_GAT_CLK_BLK_UFS_UID_LH_ACEL_SI_D_UFS_IPCLKPORT_I_CLK,
3605 	CLK_CON_GAT_CLK_BLK_UFS_UID_MMC_CARD_IPCLKPORT_I_ACLK,
3606 	CLK_CON_GAT_CLK_BLK_UFS_UID_MMC_CARD_IPCLKPORT_SDCLKIN,
3607 	CLK_CON_GAT_CLK_BLK_UFS_UID_OTP_DESERIAL_UFS_EMBD_FMP_IPCLKPORT_I_CLK,
3608 	CLK_CON_GAT_CLK_BLK_UFS_UID_PPMU_UFS_IPCLKPORT_ACLK,
3609 	CLK_CON_GAT_CLK_BLK_UFS_UID_PPMU_UFS_IPCLKPORT_PCLK,
3610 	CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_CLK_UFS_FREE_OSCCLK_IPCLKPORT_CLK,
3611 	CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_CLK_UFS_MMC_CARD_IPCLKPORT_CLK,
3612 	CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_CLK_UFS_NOC_IPCLKPORT_CLK,
3613 	CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_CLK_UFS_UFS_EMBD_IPCLKPORT_CLK,
3614 	CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_SR_CLK_UFS_FREE_OSCCLK_IPCLKPORT_CLK,
3615 	CLK_CON_GAT_CLK_BLK_UFS_UID_RSTNSYNC_SR_CLK_UFS_NOC_IPCLKPORT_CLK,
3616 	CLK_CON_GAT_CLK_BLK_UFS_UID_SLH_AST_SI_G_PPMU_UFS_IPCLKPORT_I_CLK,
3617 	CLK_CON_GAT_CLK_BLK_UFS_UID_SLH_AXI_MI_P_UFS_IPCLKPORT_I_CLK,
3618 	CLK_CON_GAT_CLK_BLK_UFS_UID_SPC_UFS_IPCLKPORT_PCLK,
3619 	CLK_CON_GAT_CLK_BLK_UFS_UID_SYSMMU_UFS_IPCLKPORT_CLK_S2,
3620 	CLK_CON_GAT_CLK_BLK_UFS_UID_SYSREG_UFS_IPCLKPORT_PCLK,
3621 	CLK_CON_GAT_CLK_BLK_UFS_UID_UFS_CMU_UFS_IPCLKPORT_PCLK,
3622 	CLK_CON_GAT_CLK_BLK_UFS_UID_UFS_EMBD_IPCLKPORT_I_ACLK,
3623 	CLK_CON_GAT_CLK_BLK_UFS_UID_UFS_EMBD_IPCLKPORT_I_CLK_UNIPRO,
3624 	CLK_CON_GAT_CLK_BLK_UFS_UID_UFS_EMBD_IPCLKPORT_I_FMP_CLK,
3625 	CLK_CON_GAT_CLK_BLK_UFS_UID_VGEN_LITE_UFS_IPCLKPORT_CLK,
3626 	CLK_CON_GAT_CLK_BLK_UFS_UID_XIU_D_UFS_IPCLKPORT_ACLK,
3627 	CLK_CON_GAT_CLK_BLK_UFS_UID_XIU_P_UFS_IPCLKPORT_ACLK,
3628 };
3629 
3630 PNAME(mout_clkcmu_ufs_mmc_card_user_p)	= { "oscclk",
3631 					    "mout_cmu_ufs_mmc_card" };
3632 PNAME(mout_clkcmu_ufs_noc_user_p)	= { "oscclk", "dout_cmu_ufs_noc" };
3633 PNAME(mout_clkcmu_ufs_ufs_embd_user_p)	= { "oscclk",
3634 					    "dout_cmu_ufs_ufs_embd" };
3635 
3636 static const struct samsung_mux_clock ufs_mux_clks[] __initconst = {
3637 	MUX(CLK_MOUT_UFS_MMC_CARD_USER, "mout_ufs_mmc_card_user",
3638 	    mout_clkcmu_ufs_mmc_card_user_p,
3639 	    PLL_CON0_MUX_CLKCMU_UFS_MMC_CARD_USER, 4, 1),
3640 	MUX(CLK_MOUT_UFS_NOC_USER, "mout_ufs_noc_user",
3641 	    mout_clkcmu_ufs_noc_user_p,
3642 	    PLL_CON0_MUX_CLKCMU_UFS_NOC_USER, 4, 1),
3643 	MUX(CLK_MOUT_UFS_UFS_EMBD_USER, "mout_ufs_ufs_embd_user",
3644 	    mout_clkcmu_ufs_ufs_embd_user_p,
3645 	    PLL_CON0_MUX_CLKCMU_UFS_UFS_EMBD_USER, 4, 1),
3646 };
3647 
3648 static const struct samsung_cmu_info ufs_cmu_info __initconst = {
3649 	.mux_clks		= ufs_mux_clks,
3650 	.nr_mux_clks		= ARRAY_SIZE(ufs_mux_clks),
3651 	.nr_clk_ids		= CLKS_NR_UFS,
3652 	.clk_regs		= ufs_clk_regs,
3653 	.nr_clk_regs		= ARRAY_SIZE(ufs_clk_regs),
3654 	.clk_name		= "noc",
3655 };
3656 
3657 /* ---- CMU_VTS ------------------------------------------------------------ */
3658 
3659 /* Register Offset definitions for CMU_VTS (0x15300000) */
3660 #define PLL_CON0_MUX_CLKALIVE_VTS_NOC_USER						0x600
3661 #define PLL_CON1_MUX_CLKALIVE_VTS_NOC_USER						0x604
3662 #define PLL_CON0_MUX_CLKALIVE_VTS_RCO_USER						0x610
3663 #define PLL_CON1_MUX_CLKALIVE_VTS_RCO_USER						0x614
3664 #define PLL_CON0_MUX_CLKCMU_VTS_DMIC_USER						0x620
3665 #define PLL_CON1_MUX_CLKCMU_VTS_DMIC_USER						0x624
3666 #define CLK_CON_MUX_MUX_CLKVTS_AUD_DMIC1						0x1000
3667 #define CLK_CON_MUX_MUX_CLK_VTS_NOC							0x1004
3668 #define CLK_CON_MUX_MUX_CLK_VTS_DMIC_PAD						0x100c
3669 #define CLK_CON_DIV_DIV_CLKVTS_AUD_DMIC0						0x1800
3670 #define CLK_CON_DIV_DIV_CLKVTS_AUD_DMIC1						0x1804
3671 #define CLK_CON_DIV_DIV_CLK_VTS_CPU							0x1808
3672 #define CLK_CON_DIV_DIV_CLK_VTS_DMIC_IF							0x1814
3673 #define CLK_CON_DIV_DIV_CLK_VTS_DMIC_IF_DIV2						0x1818
3674 #define CLK_CON_DIV_DIV_CLK_VTS_NOC							0x181c
3675 #define CLK_CON_DIV_DIV_CLK_VTS_SERIAL_LIF						0x1820
3676 #define CLK_CON_DIV_DIV_CLK_VTS_SERIAL_LIF_CORE						0x1824
3677 #define CLK_CON_GAT_CLKVTS_AUD_DMIC0							0x2000
3678 #define CLK_CON_GAT_CLKVTS_AUD_DMIC1							0x2004
3679 #define CLK_CON_GAT_CLK_BLK_VTS_UID_BAAW_VTS_IPCLKPORT_I_PCLK				0x2008
3680 #define CLK_CON_GAT_CLK_BLK_VTS_UID_LH_AXI_MI_IP_VC2VTS_IPCLKPORT_I_CLK			0x200c
3681 #define CLK_CON_GAT_CLK_BLK_VTS_UID_LH_AXI_SI_ID_VTS2VC_IPCLKPORT_I_CLK			0x2010
3682 #define CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_CLK_VTS_FREE_OSCCLK_IPCLKPORT_CLK		0x2014
3683 #define CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_DMIC_IF_IPCLKPORT_CLK		0x2018
3684 #define CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_SERIAL_LIF_CORE_IPCLKPORT_CLK	0x2020
3685 #define CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_SERIAL_LIF_IPCLKPORT_CLK	0x2024
3686 #define CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_YAMIN_IPCLKPORT_CLK		0x2028
3687 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SERIAL_LIF_VT_IPCLKPORT_ACLK			0x202c
3688 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_FRC_OTP_DESERIAL_IPCLKPORT_I_CLK		0x2030
3689 #define CLK_CON_GAT_CLK_BLK_VTS_UID_ASYNCINTERRUPT_VTS_IPCLKPORT_CLK			0x2034
3690 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF0_IPCLKPORT_DMIC_IF_CLK			0x2068
3691 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF0_IPCLKPORT_DMIC_IF_DIV2_CLK			0x206c
3692 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF0_IPCLKPORT_PCLK				0x2070
3693 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF1_IPCLKPORT_DMIC_IF_CLK			0x2074
3694 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF1_IPCLKPORT_DMIC_IF_DIV2_CLK			0x2078
3695 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF1_IPCLKPORT_PCLK				0x207c
3696 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF2_IPCLKPORT_DMIC_IF_CLK			0x2080
3697 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF2_IPCLKPORT_DMIC_IF_DIV2_CLK			0x2084
3698 #define CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF2_IPCLKPORT_PCLK				0x2088
3699 #define CLK_CON_GAT_CLK_BLK_VTS_UID_GPIO_VTS_IPCLKPORT_PCLK				0x2090
3700 #define CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_CODE_IPCLKPORT_I_ACLK			0x20ac
3701 #define CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_CODE_IPCLKPORT_I_PCLK			0x20b0
3702 #define CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_DATA0_IPCLKPORT_I_ACLK			0x20b4
3703 #define CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_DATA0_IPCLKPORT_I_PCLK			0x20b8
3704 #define CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_DATA1_IPCLKPORT_I_ACLK			0x20bc
3705 #define CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_DATA1_IPCLKPORT_I_PCLK			0x20c0
3706 #define CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_PCM_IPCLKPORT_I_ACLK				0x20c4
3707 #define CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_PCM_IPCLKPORT_I_PCLK				0x20c8
3708 #define CLK_CON_GAT_CLK_BLK_VTS_UID_MAILBOX_ABOX_VTS_IPCLKPORT_PCLK			0x20cc
3709 #define CLK_CON_GAT_CLK_BLK_VTS_UID_MAILBOX_AP_VTS_IPCLKPORT_PCLK			0x20d0
3710 #define CLK_CON_GAT_CLK_BLK_VTS_UID_MAILBOX_DNC_VTS_IPCLKPORT_PCLK			0x20d4
3711 #define CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_CLK_VTS_NOC_IPCLKPORT_CLK			0x20ec
3712 #define CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_CLK_VTS_YAMIN_IPCLKPORT_CLK		0x20f8
3713 #define CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_NOC_IPCLKPORT_CLK		0x20fc
3714 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SERIAL_LIF_VT_IPCLKPORT_BCLK			0x2104
3715 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SERIAL_LIF_VT_IPCLKPORT_CCLK			0x2108
3716 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SERIAL_LIF_VT_IPCLKPORT_PCLK			0x210c
3717 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_ACLK_CPU			0x2124
3718 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_DMIC_AUD_DIV2_CLK		0x2128
3719 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_DMIC_IF_PAD_CLK0		0x212c
3720 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_DMIC_IF_PAD_CLK1		0x2130
3721 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_DMIC_IF_PAD_CLK2		0x2134
3722 #define CLK_CON_GAT_CLK_BLK_VTS_UID_SYSREG_VTS_IPCLKPORT_PCLK				0x213c
3723 #define CLK_CON_GAT_CLK_BLK_VTS_UID_TIMER1_IPCLKPORT_PCLK				0x2140
3724 #define CLK_CON_GAT_CLK_BLK_VTS_UID_TIMER2_IPCLKPORT_PCLK				0x2144
3725 #define CLK_CON_GAT_CLK_BLK_VTS_UID_TIMER_IPCLKPORT_PCLK				0x2148
3726 #define CLK_CON_GAT_CLK_BLK_VTS_UID_VTS_CMU_VTS_IPCLKPORT_PCLK				0x2150
3727 #define CLK_CON_GAT_CLK_BLK_VTS_UID_WDT_VTS_IPCLKPORT_PCLK				0x2154
3728 #define CLK_CON_GAT_CLK_BLK_VTS_UID_XIU_DP0_VTS_IPCLKPORT_ACLK				0x2158
3729 #define CLK_CON_GAT_CLK_BLK_VTS_UID_YAMIN_MCU_VTS_IPCLKPORT_CLKIN			0x215c
3730 #define CLK_CON_GAT_CLK_BLK_VTS_UID_YAMIN_MCU_VTS_IPCLKPORT_DBGCLK			0x2160
3731 #define CLK_CON_GAT_CLK_BLK_VTS_UID_YAMIN_MCU_VTS_IPCLKPORT_IWICCLK			0x2164
3732 
3733 static const unsigned long vts_clk_regs[] __initconst = {
3734 	PLL_CON0_MUX_CLKALIVE_VTS_NOC_USER,
3735 	PLL_CON1_MUX_CLKALIVE_VTS_NOC_USER,
3736 	PLL_CON0_MUX_CLKALIVE_VTS_RCO_USER,
3737 	PLL_CON1_MUX_CLKALIVE_VTS_RCO_USER,
3738 	PLL_CON0_MUX_CLKCMU_VTS_DMIC_USER,
3739 	PLL_CON1_MUX_CLKCMU_VTS_DMIC_USER,
3740 	CLK_CON_MUX_MUX_CLKVTS_AUD_DMIC1,
3741 	CLK_CON_MUX_MUX_CLK_VTS_NOC,
3742 	CLK_CON_MUX_MUX_CLK_VTS_DMIC_PAD,
3743 	CLK_CON_DIV_DIV_CLKVTS_AUD_DMIC0,
3744 	CLK_CON_DIV_DIV_CLKVTS_AUD_DMIC1,
3745 	CLK_CON_DIV_DIV_CLK_VTS_CPU,
3746 	CLK_CON_DIV_DIV_CLK_VTS_DMIC_IF,
3747 	CLK_CON_DIV_DIV_CLK_VTS_DMIC_IF_DIV2,
3748 	CLK_CON_DIV_DIV_CLK_VTS_NOC,
3749 	CLK_CON_DIV_DIV_CLK_VTS_SERIAL_LIF,
3750 	CLK_CON_DIV_DIV_CLK_VTS_SERIAL_LIF_CORE,
3751 	CLK_CON_GAT_CLKVTS_AUD_DMIC0,
3752 	CLK_CON_GAT_CLKVTS_AUD_DMIC1,
3753 	CLK_CON_GAT_CLK_BLK_VTS_UID_BAAW_VTS_IPCLKPORT_I_PCLK,
3754 	CLK_CON_GAT_CLK_BLK_VTS_UID_LH_AXI_MI_IP_VC2VTS_IPCLKPORT_I_CLK,
3755 	CLK_CON_GAT_CLK_BLK_VTS_UID_LH_AXI_SI_ID_VTS2VC_IPCLKPORT_I_CLK,
3756 	CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_CLK_VTS_FREE_OSCCLK_IPCLKPORT_CLK,
3757 	CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_DMIC_IF_IPCLKPORT_CLK,
3758 	CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_SERIAL_LIF_CORE_IPCLKPORT_CLK,
3759 	CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_SERIAL_LIF_IPCLKPORT_CLK,
3760 	CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_YAMIN_IPCLKPORT_CLK,
3761 	CLK_CON_GAT_CLK_BLK_VTS_UID_SERIAL_LIF_VT_IPCLKPORT_ACLK,
3762 	CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_FRC_OTP_DESERIAL_IPCLKPORT_I_CLK,
3763 	CLK_CON_GAT_CLK_BLK_VTS_UID_ASYNCINTERRUPT_VTS_IPCLKPORT_CLK,
3764 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF0_IPCLKPORT_DMIC_IF_CLK,
3765 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF0_IPCLKPORT_DMIC_IF_DIV2_CLK,
3766 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF0_IPCLKPORT_PCLK,
3767 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF1_IPCLKPORT_DMIC_IF_CLK,
3768 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF1_IPCLKPORT_DMIC_IF_DIV2_CLK,
3769 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF1_IPCLKPORT_PCLK,
3770 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF2_IPCLKPORT_DMIC_IF_CLK,
3771 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF2_IPCLKPORT_DMIC_IF_DIV2_CLK,
3772 	CLK_CON_GAT_CLK_BLK_VTS_UID_DMIC_IF2_IPCLKPORT_PCLK,
3773 	CLK_CON_GAT_CLK_BLK_VTS_UID_GPIO_VTS_IPCLKPORT_PCLK,
3774 	CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_CODE_IPCLKPORT_I_ACLK,
3775 	CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_CODE_IPCLKPORT_I_PCLK,
3776 	CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_DATA0_IPCLKPORT_I_ACLK,
3777 	CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_DATA0_IPCLKPORT_I_PCLK,
3778 	CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_DATA1_IPCLKPORT_I_ACLK,
3779 	CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_DATA1_IPCLKPORT_I_PCLK,
3780 	CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_PCM_IPCLKPORT_I_ACLK,
3781 	CLK_CON_GAT_CLK_BLK_VTS_UID_INTMEM_PCM_IPCLKPORT_I_PCLK,
3782 	CLK_CON_GAT_CLK_BLK_VTS_UID_MAILBOX_ABOX_VTS_IPCLKPORT_PCLK,
3783 	CLK_CON_GAT_CLK_BLK_VTS_UID_MAILBOX_AP_VTS_IPCLKPORT_PCLK,
3784 	CLK_CON_GAT_CLK_BLK_VTS_UID_MAILBOX_DNC_VTS_IPCLKPORT_PCLK,
3785 	CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_CLK_VTS_NOC_IPCLKPORT_CLK,
3786 	CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_CLK_VTS_YAMIN_IPCLKPORT_CLK,
3787 	CLK_CON_GAT_CLK_BLK_VTS_UID_RSTNSYNC_SR_CLK_VTS_NOC_IPCLKPORT_CLK,
3788 	CLK_CON_GAT_CLK_BLK_VTS_UID_SERIAL_LIF_VT_IPCLKPORT_BCLK,
3789 	CLK_CON_GAT_CLK_BLK_VTS_UID_SERIAL_LIF_VT_IPCLKPORT_CCLK,
3790 	CLK_CON_GAT_CLK_BLK_VTS_UID_SERIAL_LIF_VT_IPCLKPORT_PCLK,
3791 	CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_ACLK_CPU,
3792 	CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_DMIC_AUD_DIV2_CLK,
3793 	CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_DMIC_IF_PAD_CLK0,
3794 	CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_DMIC_IF_PAD_CLK1,
3795 	CLK_CON_GAT_CLK_BLK_VTS_UID_SS_VTS_GLUE_IPCLKPORT_DMIC_IF_PAD_CLK2,
3796 	CLK_CON_GAT_CLK_BLK_VTS_UID_SYSREG_VTS_IPCLKPORT_PCLK,
3797 	CLK_CON_GAT_CLK_BLK_VTS_UID_TIMER1_IPCLKPORT_PCLK,
3798 	CLK_CON_GAT_CLK_BLK_VTS_UID_TIMER2_IPCLKPORT_PCLK,
3799 	CLK_CON_GAT_CLK_BLK_VTS_UID_TIMER_IPCLKPORT_PCLK,
3800 	CLK_CON_GAT_CLK_BLK_VTS_UID_VTS_CMU_VTS_IPCLKPORT_PCLK,
3801 	CLK_CON_GAT_CLK_BLK_VTS_UID_WDT_VTS_IPCLKPORT_PCLK,
3802 	CLK_CON_GAT_CLK_BLK_VTS_UID_XIU_DP0_VTS_IPCLKPORT_ACLK,
3803 	CLK_CON_GAT_CLK_BLK_VTS_UID_YAMIN_MCU_VTS_IPCLKPORT_CLKIN,
3804 	CLK_CON_GAT_CLK_BLK_VTS_UID_YAMIN_MCU_VTS_IPCLKPORT_DBGCLK,
3805 	CLK_CON_GAT_CLK_BLK_VTS_UID_YAMIN_MCU_VTS_IPCLKPORT_IWICCLK,
3806 };
3807 
3808 PNAME(mout_clkalive_vts_noc_user_p)	= { "oscclk" };
3809 PNAME(mout_clkalive_vts_rco_user_p)	= { "oscclk" };
3810 PNAME(mout_clkcmu_vts_dmic_user_p)	= { "oscclk", "dout_cmu_vts_dmic" };
3811 PNAME(mout_clkvts_aud_dmic1_p)		= { "dout_clkvts_aud_dmic1",
3812 					    "dout_clkvts_dmic_if_div2",
3813 					    "dmic_clk0_in", "dmic_clk1_in",
3814 					    "dmic_clk2_in", "oscclk", "oscclk",
3815 					    "oscclk" };
3816 PNAME(mout_clkvts_noc_p)		= { "mout_clkalive_vts_noc_user",
3817 					    "mout_clkalive_vts_rco_user" };
3818 PNAME(mout_clkvts_dmic_pad_p)		= { "mout_clkalive_vts_rco_user",
3819 					    "mout_clkcmu_vts_dmic_user" };
3820 
3821 static const struct samsung_mux_clock vts_mux_clks[] __initconst = {
3822 	MUX(CLK_MOUT_CLKALIVE_VTS_NOC_USER, "mout_clkalive_vts_noc_user",
3823 	    mout_clkalive_vts_noc_user_p, PLL_CON0_MUX_CLKALIVE_VTS_NOC_USER,
3824 	    4, 1),
3825 	MUX(CLK_MOUT_CLKALIVE_VTS_RCO_USER, "mout_clkalive_vts_rco_user",
3826 	    mout_clkalive_vts_rco_user_p, PLL_CON0_MUX_CLKALIVE_VTS_RCO_USER,
3827 	    4, 1),
3828 	MUX(CLK_MOUT_CLKCMU_VTS_DMIC_USER, "mout_clkcmu_vts_dmic_user",
3829 	    mout_clkcmu_vts_dmic_user_p, PLL_CON0_MUX_CLKCMU_VTS_DMIC_USER,
3830 	    4, 1),
3831 	MUX(CLK_MOUT_CLKVTS_AUD_DMIC1, "mout_clkvts_aud_dmic1",
3832 	    mout_clkvts_aud_dmic1_p, CLK_CON_MUX_MUX_CLKVTS_AUD_DMIC1, 0, 3),
3833 	MUX(CLK_MOUT_CLKVTS_NOC, "mout_clkvts_noc", mout_clkvts_noc_p,
3834 	    CLK_CON_MUX_MUX_CLK_VTS_NOC, 0, 1),
3835 	MUX(CLK_MOUT_CLKVTS_DMIC_PAD, "mout_clkvts_dmic_pad",
3836 	    mout_clkvts_dmic_pad_p, CLK_CON_MUX_MUX_CLK_VTS_DMIC_PAD, 0, 1),
3837 };
3838 
3839 static const struct samsung_div_clock vts_div_clks[] __initconst = {
3840 	DIV(CLK_DOUT_CLKVTS_AUD_DMIC0, "dout_clkvts_aud_dmic0",
3841 	    "mout_clkvts_dmic_pad", CLK_CON_DIV_DIV_CLKVTS_AUD_DMIC0, 0, 5),
3842 	DIV(CLK_DOUT_CLKVTS_AUD_DMIC1, "dout_clkvts_aud_dmic1",
3843 	    "dout_clkvts_aud_dmic0", CLK_CON_DIV_DIV_CLKVTS_AUD_DMIC1, 0, 4),
3844 	DIV(CLK_DOUT_CLKVTS_CPU, "dout_clkvts_cpu", "mout_clkvts_noc",
3845 	    CLK_CON_DIV_DIV_CLK_VTS_CPU, 0, 3),
3846 	DIV(CLK_DOUT_CLKVTS_DMIC_IF, "dout_clkvts_dmic_if",
3847 	    "dout_clkvts_aud_dmic0", CLK_CON_DIV_DIV_CLK_VTS_DMIC_IF, 0, 7),
3848 	DIV(CLK_DOUT_CLKVTS_DMIC_IF_DIV2, "dout_clkvts_dmic_if_div2",
3849 	    "dout_clkvts_dmic_if", CLK_CON_DIV_DIV_CLK_VTS_DMIC_IF_DIV2, 0, 4),
3850 	DIV(CLK_DOUT_CLKVTS_NOC, "dout_clkvts_noc", "dout_clkvts_cpu",
3851 	    CLK_CON_DIV_DIV_CLK_VTS_NOC, 0, 3),
3852 	DIV(CLK_DOUT_CLKVTS_SERIAL_LIF, "dout_clkvts_serial_lif",
3853 	    "mout_clkalive_vts_rco_user", CLK_CON_DIV_DIV_CLK_VTS_SERIAL_LIF,
3854 	    0, 7),
3855 	DIV(CLK_DOUT_CLKVTS_SERIAL_LIF_CORE, "dout_clkvts_serial_lif_core",
3856 	    "mout_clkalive_vts_rco_user",
3857 	    CLK_CON_DIV_DIV_CLK_VTS_SERIAL_LIF_CORE, 0, 7),
3858 };
3859 
3860 static const struct samsung_fixed_rate_clock vts_fixed_clks[] __initconst = {
3861 	FRATE(0, "dmic_clk0_in", NULL, 0, 100000000),
3862 	FRATE(0, "dmic_clk1_in", NULL, 0, 100000000),
3863 	FRATE(0, "dmic_clk2_in", NULL, 0, 100000000),
3864 };
3865 
3866 static const struct samsung_cmu_info vts_cmu_info __initconst = {
3867 	.mux_clks		= vts_mux_clks,
3868 	.nr_mux_clks		= ARRAY_SIZE(vts_mux_clks),
3869 	.div_clks		= vts_div_clks,
3870 	.nr_div_clks		= ARRAY_SIZE(vts_div_clks),
3871 	.fixed_clks		= vts_fixed_clks,
3872 	.nr_fixed_clks		= ARRAY_SIZE(vts_fixed_clks),
3873 	.nr_clk_ids		= CLKS_NR_VTS,
3874 	.clk_regs		= vts_clk_regs,
3875 	.nr_clk_regs		= ARRAY_SIZE(vts_clk_regs),
3876 	.clk_name		= "dmic",
3877 };
3878 
3879 static int __init exynos2200_cmu_probe(struct platform_device *pdev)
3880 {
3881 	const struct samsung_cmu_info *info;
3882 	struct device *dev = &pdev->dev;
3883 
3884 	info = of_device_get_match_data(dev);
3885 	exynos_arm64_register_cmu(dev, dev->of_node, info);
3886 
3887 	return 0;
3888 }
3889 
3890 static const struct of_device_id exynos2200_cmu_of_match[] = {
3891 	{
3892 		.compatible = "samsung,exynos2200-cmu-cmgp",
3893 		.data = &cmgp_cmu_info,
3894 	}, {
3895 		.compatible = "samsung,exynos2200-cmu-hsi0",
3896 		.data = &hsi0_cmu_info,
3897 	}, {
3898 		.compatible = "samsung,exynos2200-cmu-peric0",
3899 		.data = &peric0_cmu_info,
3900 	}, {
3901 		.compatible = "samsung,exynos2200-cmu-peric1",
3902 		.data = &peric1_cmu_info,
3903 	}, {
3904 		.compatible = "samsung,exynos2200-cmu-peric2",
3905 		.data = &peric2_cmu_info,
3906 	}, {
3907 		.compatible = "samsung,exynos2200-cmu-ufs",
3908 		.data = &ufs_cmu_info,
3909 	}, {
3910 		.compatible = "samsung,exynos2200-cmu-vts",
3911 		.data = &vts_cmu_info,
3912 	}, { }
3913 };
3914 
3915 static struct platform_driver exynos2200_cmu_driver __refdata = {
3916 	.driver = {
3917 		.name = "exynos2200-cmu",
3918 		.of_match_table = exynos2200_cmu_of_match,
3919 		.suppress_bind_attrs = true,
3920 	},
3921 	.probe = exynos2200_cmu_probe,
3922 };
3923 
3924 static int __init exynos2200_cmu_init(void)
3925 {
3926 	return platform_driver_register(&exynos2200_cmu_driver);
3927 }
3928 core_initcall(exynos2200_cmu_init);
3929