blob: 0437e30abb4f269f9210ba1f95ccfe5a2d309b22 [file] [log] [blame]
Dave Gerlach277729e2021-06-11 11:45:18 +03001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * J7200 specific clock platform data
4 *
Dave Gerlachae8d3d22021-09-07 17:16:56 -05005 * This file is auto generated. Please do not hand edit and report any issues
6 * to Dave Gerlach <d-gerlach@ti.com>.
7 *
8 * Copyright (C) 2020-2021 Texas Instruments Incorporated - https://www.ti.com/
Dave Gerlach277729e2021-06-11 11:45:18 +03009 */
Dave Gerlachae8d3d22021-09-07 17:16:56 -050010
Suman Annacfd50df2021-09-07 17:16:58 -050011#include <linux/clk-provider.h>
Dave Gerlach277729e2021-06-11 11:45:18 +030012#include "k3-clk.h"
13
14static const char * const gluelogic_hfosc0_clkout_parents[] = {
15 "osc_19_2_mhz",
16 "osc_20_mhz",
17 "osc_24_mhz",
18 "osc_25_mhz",
19 "osc_26_mhz",
20 "osc_27_mhz",
21};
22
23static const char * const mcu_ospi0_iclk_sel_out0_parents[] = {
24 "board_0_mcu_ospi0_dqs_out",
25 "fss_mcu_0_ospi_0_ospi_oclk_clk",
26};
27
28static const char * const wkup_fref_clksel_out0_parents[] = {
29 "gluelogic_hfosc0_clkout",
30 "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk",
31};
32
33static const char * const main_pll_hfosc_sel_out1_parents[] = {
34 "gluelogic_hfosc0_clkout",
35 "board_0_hfosc1_clk_out",
36};
37
38static const char * const k3_pll_ctrl_wrap_wkup_0_sysclkout_clk_parents[] = {
39 "wkup_fref_clksel_out0",
40 "hsdiv1_16fft_mcu_0_hsdivout0_clk",
41};
42
43static const char * const mcu_ospi_ref_clk_sel_out0_parents[] = {
44 "hsdiv4_16fft_mcu_1_hsdivout4_clk",
45 "hsdiv4_16fft_mcu_2_hsdivout4_clk",
46};
47
48static const char * const mcuusart_clk_sel_out0_parents[] = {
49 "hsdiv4_16fft_mcu_1_hsdivout3_clk",
50 "postdiv2_16fft_main_1_hsdivout5_clk",
51};
52
53static const char * const wkup_gpio0_clksel_out0_parents[] = {
54 "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk",
55 "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk",
56 "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_32k_clk",
57 "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk",
58};
59
60static const char * const wkup_i2c0_mcupll_bypass_clksel_out0_parents[] = {
61 "hsdiv4_16fft_mcu_1_hsdivout3_clk",
62 "gluelogic_hfosc0_clkout",
63};
64
65static const char * const main_pll_hfosc_sel_out0_parents[] = {
66 "gluelogic_hfosc0_clkout",
67 "board_0_hfosc1_clk_out",
68};
69
70static const char * const main_pll_hfosc_sel_out12_parents[] = {
71 "gluelogic_hfosc0_clkout",
72 "board_0_hfosc1_clk_out",
73};
74
75static const char * const main_pll_hfosc_sel_out14_parents[] = {
76 "gluelogic_hfosc0_clkout",
77 "board_0_hfosc1_clk_out",
78};
79
80static const char * const main_pll_hfosc_sel_out2_parents[] = {
81 "gluelogic_hfosc0_clkout",
82 "board_0_hfosc1_clk_out",
83};
84
85static const char * const main_pll_hfosc_sel_out3_parents[] = {
86 "gluelogic_hfosc0_clkout",
87 "board_0_hfosc1_clk_out",
88};
89
90static const char * const main_pll_hfosc_sel_out4_parents[] = {
91 "gluelogic_hfosc0_clkout",
92 "board_0_hfosc1_clk_out",
93};
94
95static const char * const main_pll_hfosc_sel_out7_parents[] = {
96 "gluelogic_hfosc0_clkout",
97 "board_0_hfosc1_clk_out",
98};
99
100static const char * const main_pll_hfosc_sel_out8_parents[] = {
101 "gluelogic_hfosc0_clkout",
102 "board_0_hfosc1_clk_out",
103};
104
105static const char * const usb0_refclk_sel_out0_parents[] = {
106 "gluelogic_hfosc0_clkout",
107 "board_0_hfosc1_clk_out",
108};
109
110static const char * const wkup_obsclk_mux_out0_parents[] = {
111 "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk",
112 NULL,
113 "hsdiv1_16fft_mcu_0_hsdivout0_clk",
114 "hsdiv1_16fft_mcu_0_hsdivout0_clk",
115 "hsdiv4_16fft_mcu_1_hsdivout1_clk",
116 "hsdiv4_16fft_mcu_1_hsdivout2_clk",
117 "hsdiv4_16fft_mcu_1_hsdivout3_clk",
118 "hsdiv4_16fft_mcu_1_hsdivout4_clk",
119 "hsdiv4_16fft_mcu_2_hsdivout0_clk",
120 "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_32k_clk",
121 "hsdiv4_16fft_mcu_2_hsdivout1_clk",
122 "hsdiv4_16fft_mcu_2_hsdivout2_clk",
123 "hsdiv4_16fft_mcu_2_hsdivout3_clk",
124 "hsdiv4_16fft_mcu_2_hsdivout4_clk",
125 "gluelogic_hfosc0_clkout",
126 "board_0_wkup_lf_clkin_out",
127};
128
129static const char * const main_pll4_xref_sel_out0_parents[] = {
130 "main_pll_hfosc_sel_out4",
131 "board_0_ext_refclk1_out",
132};
133
134static const char * const mcu_clkout_mux_out0_parents[] = {
135 "hsdiv4_16fft_mcu_2_hsdivout0_clk",
136 "hsdiv4_16fft_mcu_2_hsdivout0_clk",
137};
138
139static const char * const k3_pll_ctrl_wrap_main_0_sysclkout_clk_parents[] = {
140 "main_pll_hfosc_sel_out0",
141 "hsdiv4_16fft_main_0_hsdivout0_clk",
142};
143
144static const char * const mcu_obsclk_outmux_out0_parents[] = {
145 "mcu_obsclk_div_out0",
146 "gluelogic_hfosc0_clkout",
147};
148
149static const char * const clkout_mux_out0_parents[] = {
150 "hsdiv4_16fft_main_3_hsdivout0_clk",
151 "hsdiv4_16fft_main_3_hsdivout0_clk",
152};
153
154static const char * const emmcsd_refclk_sel_out0_parents[] = {
155 "hsdiv4_16fft_main_0_hsdivout2_clk",
156 "hsdiv4_16fft_main_1_hsdivout2_clk",
157 "hsdiv4_16fft_main_3_hsdivout2_clk",
158 "hsdiv4_16fft_main_3_hsdivout2_clk",
159};
160
161static const char * const emmcsd_refclk_sel_out1_parents[] = {
162 "hsdiv4_16fft_main_0_hsdivout2_clk",
163 "hsdiv4_16fft_main_1_hsdivout2_clk",
164 "hsdiv4_16fft_main_3_hsdivout2_clk",
165 "hsdiv4_16fft_main_3_hsdivout2_clk",
166};
167
168static const char * const gtc_clk_mux_out0_parents[] = {
169 "hsdiv4_16fft_main_3_hsdivout1_clk",
170 "postdiv2_16fft_main_0_hsdivout6_clk",
171 "board_0_mcu_cpts0_rft_clk_out",
172 "board_0_cpts0_rft_clk_out",
173 "board_0_mcu_ext_refclk0_out",
174 "board_0_ext_refclk1_out",
175 NULL,
176 NULL,
177 NULL,
178 NULL,
179 NULL,
180 NULL,
181 NULL,
182 NULL,
183 "hsdiv4_16fft_mcu_2_hsdivout1_clk",
184 "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk",
185};
186
187static const char * const obsclk1_mux_out0_parents[] = {
188 NULL,
189 "hsdiv0_16fft_main_8_hsdivout0_clk",
190 NULL,
191 NULL,
192};
193
194static const char * const gpmc_fclk_sel_out0_parents[] = {
195 "hsdiv4_16fft_main_0_hsdivout3_clk",
196 "hsdiv4_16fft_main_2_hsdivout1_clk",
197 "hsdiv4_16fft_main_2_hsdivout1_clk",
198 "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk",
199};
200
201static const char * const audio_refclko_mux_out0_parents[] = {
202 NULL,
203 NULL,
204 NULL,
205 NULL,
206 NULL,
207 NULL,
208 NULL,
209 NULL,
210 NULL,
211 NULL,
212 NULL,
213 NULL,
214 NULL,
215 NULL,
216 NULL,
217 NULL,
218 NULL,
219 NULL,
220 NULL,
221 NULL,
222 NULL,
223 NULL,
224 NULL,
225 NULL,
226 NULL,
227 NULL,
228 NULL,
229 NULL,
230 "hsdiv2_16fft_main_4_hsdivout2_clk",
231 NULL,
232 NULL,
233 NULL,
234};
235
236static const char * const audio_refclko_mux_out1_parents[] = {
237 NULL,
238 NULL,
239 NULL,
240 NULL,
241 NULL,
242 NULL,
243 NULL,
244 NULL,
245 NULL,
246 NULL,
247 NULL,
248 NULL,
249 NULL,
250 NULL,
251 NULL,
252 NULL,
253 NULL,
254 NULL,
255 NULL,
256 NULL,
257 NULL,
258 NULL,
259 NULL,
260 NULL,
261 NULL,
262 NULL,
263 NULL,
264 NULL,
265 "hsdiv2_16fft_main_4_hsdivout2_clk",
266 NULL,
267 NULL,
268 NULL,
269};
270
271static const char * const obsclk0_mux_out0_parents[] = {
272 "hsdiv4_16fft_main_0_hsdivout0_clk",
273 "hsdiv4_16fft_main_1_hsdivout0_clk",
274 "hsdiv4_16fft_main_2_hsdivout0_clk",
275 "hsdiv4_16fft_main_3_hsdivout0_clk",
276 "hsdiv2_16fft_main_4_hsdivout0_clk",
277 NULL,
278 NULL,
279 NULL,
280 NULL,
281 NULL,
282 NULL,
283 NULL,
284 "hsdiv0_16fft_main_12_hsdivout0_clk",
285 "obsclk1_mux_out0",
286 "hsdiv1_16fft_main_14_hsdivout0_clk",
287 NULL,
288 NULL,
289 NULL,
290 NULL,
291 NULL,
292 NULL,
293 NULL,
294 NULL,
295 NULL,
296 NULL,
297 NULL,
298 NULL,
299 "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk",
300 "board_0_wkup_lf_clkin_out",
301 "hsdiv4_16fft_main_0_hsdivout0_clk",
302 "board_0_hfosc1_clk_out",
303 "gluelogic_hfosc0_clkout",
304};
305
306static const struct clk_data clk_list[] = {
307 CLK_FIXED_RATE("osc_27_mhz", 27000000, 0),
308 CLK_FIXED_RATE("osc_26_mhz", 26000000, 0),
309 CLK_FIXED_RATE("osc_25_mhz", 25000000, 0),
310 CLK_FIXED_RATE("osc_24_mhz", 24000000, 0),
311 CLK_FIXED_RATE("osc_20_mhz", 20000000, 0),
312 CLK_FIXED_RATE("osc_19_2_mhz", 19200000, 0),
313 CLK_MUX("gluelogic_hfosc0_clkout", gluelogic_hfosc0_clkout_parents, 6, 0x43000030, 0, 3, 0),
314 CLK_FIXED_RATE("board_0_hfosc1_clk_out", 0, 0),
315 CLK_FIXED_RATE("board_0_mcu_ospi0_dqs_out", 0, 0),
316 CLK_FIXED_RATE("board_0_wkup_i2c0_scl_out", 0, 0),
317 CLK_FIXED_RATE("fss_mcu_0_hyperbus1p0_0_hpb_out_clk_n", 0, 0),
318 CLK_FIXED_RATE("fss_mcu_0_hyperbus1p0_0_hpb_out_clk_p", 0, 0),
319 CLK_FIXED_RATE("fss_mcu_0_ospi_0_ospi_oclk_clk", 0, 0),
320 CLK_FIXED_RATE("j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk", 12500000, 0),
321 CLK_FIXED_RATE("j7vc_wakeup_16ff_wkup_0_wkup_rcosc_32k_clk", 32550, 0),
322 CLK_MUX("mcu_ospi0_iclk_sel_out0", mcu_ospi0_iclk_sel_out0_parents, 2, 0x40f08030, 4, 1, 0),
323 CLK_FIXED_RATE("mshsi2c_wkup_0_porscl", 0, 0),
324 CLK_MUX("wkup_fref_clksel_out0", wkup_fref_clksel_out0_parents, 2, 0x43008050, 8, 1, 0),
325 CLK_MUX("main_pll_hfosc_sel_out1", main_pll_hfosc_sel_out1_parents, 2, 0x43008084, 0, 1, 0),
326 CLK_PLL_DEFFREQ("pllfracf_ssmod_16fft_main_1_foutvcop_clk", "main_pll_hfosc_sel_out1", 0x681000, 0, 1920000000),
Suman Annacfd50df2021-09-07 17:16:58 -0500327 CLK_DIV("pllfracf_ssmod_16fft_main_1_foutpostdiv_clk_subdiv", "pllfracf_ssmod_16fft_main_1_foutvcop_clk", 0x681038, 16, 3, 0, CLK_DIVIDER_ONE_BASED),
328 CLK_DIV("pllfracf_ssmod_16fft_main_1_foutpostdiv_clk", "pllfracf_ssmod_16fft_main_1_foutpostdiv_clk_subdiv", 0x681038, 24, 3, 0, CLK_DIVIDER_ONE_BASED),
Dave Gerlach277729e2021-06-11 11:45:18 +0300329 CLK_PLL("pllfracf_ssmod_16fft_mcu_0_foutvcop_clk", "wkup_fref_clksel_out0", 0x40d00000, 0),
330 CLK_PLL_DEFFREQ("pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", "wkup_fref_clksel_out0", 0x40d01000, 0, 2400000000),
331 CLK_PLL_DEFFREQ("pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", "wkup_fref_clksel_out0", 0x40d02000, 0, 2000000000),
Suman Annacfd50df2021-09-07 17:16:58 -0500332 CLK_DIV("postdiv2_16fft_main_1_hsdivout5_clk", "pllfracf_ssmod_16fft_main_1_foutpostdiv_clk", 0x681094, 0, 7, 0, 0),
333 CLK_DIV("hsdiv1_16fft_mcu_0_hsdivout0_clk", "pllfracf_ssmod_16fft_mcu_0_foutvcop_clk", 0x40d00080, 0, 7, 0, 0),
334 CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout3_clk", "pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d0108c, 0, 7, 0, 0),
335 CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout4_clk", "pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d01090, 0, 7, 0, 0),
336 CLK_DIV_DEFFREQ("hsdiv4_16fft_mcu_2_hsdivout4_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d02090, 0, 7, 0, 0, 166666666),
Dave Gerlach277729e2021-06-11 11:45:18 +0300337 CLK_MUX_PLLCTRL("k3_pll_ctrl_wrap_wkup_0_sysclkout_clk", k3_pll_ctrl_wrap_wkup_0_sysclkout_clk_parents, 2, 0x42010000, 0),
Suman Annacfd50df2021-09-07 17:16:58 -0500338 CLK_DIV("k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk", "k3_pll_ctrl_wrap_wkup_0_sysclkout_clk", 0x42010118, 0, 5, 0, 0),
Dave Gerlach277729e2021-06-11 11:45:18 +0300339 CLK_MUX("mcu_ospi_ref_clk_sel_out0", mcu_ospi_ref_clk_sel_out0_parents, 2, 0x40f08030, 0, 1, 0),
340 CLK_MUX("mcuusart_clk_sel_out0", mcuusart_clk_sel_out0_parents, 2, 0x40f081c0, 0, 1, 0),
341 CLK_MUX("wkup_gpio0_clksel_out0", wkup_gpio0_clksel_out0_parents, 4, 0x43008070, 0, 2, 0),
342 CLK_MUX("wkup_i2c0_mcupll_bypass_clksel_out0", wkup_i2c0_mcupll_bypass_clksel_out0_parents, 2, 0x43008060, 0, 1, 0),
343 CLK_MUX("main_pll_hfosc_sel_out0", main_pll_hfosc_sel_out0_parents, 2, 0x43008080, 0, 1, 0),
344 CLK_MUX("main_pll_hfosc_sel_out12", main_pll_hfosc_sel_out12_parents, 2, 0x430080b0, 0, 1, 0),
345 CLK_MUX("main_pll_hfosc_sel_out14", main_pll_hfosc_sel_out14_parents, 2, 0x430080b8, 0, 1, 0),
346 CLK_MUX("main_pll_hfosc_sel_out2", main_pll_hfosc_sel_out2_parents, 2, 0x43008088, 0, 1, 0),
347 CLK_MUX("main_pll_hfosc_sel_out3", main_pll_hfosc_sel_out3_parents, 2, 0x4300808c, 0, 1, 0),
348 CLK_MUX("main_pll_hfosc_sel_out4", main_pll_hfosc_sel_out4_parents, 2, 0x43008090, 0, 1, 0),
349 CLK_MUX("main_pll_hfosc_sel_out7", main_pll_hfosc_sel_out7_parents, 2, 0x4300809c, 0, 1, 0),
350 CLK_MUX("main_pll_hfosc_sel_out8", main_pll_hfosc_sel_out8_parents, 2, 0x430080a0, 0, 1, 0),
351 CLK_MUX("usb0_refclk_sel_out0", usb0_refclk_sel_out0_parents, 2, 0x1080e0, 0, 1, 0),
352 CLK_FIXED_RATE("board_0_cpts0_rft_clk_out", 0, 0),
353 CLK_FIXED_RATE("board_0_ext_refclk1_out", 0, 0),
354 CLK_FIXED_RATE("board_0_mcu_cpts0_rft_clk_out", 0, 0),
355 CLK_FIXED_RATE("board_0_mcu_ext_refclk0_out", 0, 0),
356 CLK_FIXED_RATE("board_0_mcu_i2c0_scl_out", 0, 0),
357 CLK_FIXED_RATE("board_0_wkup_lf_clkin_out", 0, 0),
358 CLK_FIXED_RATE("emmcsd4ss_main_0_emmcsdss_io_clk_o", 0, 0),
Suman Annacfd50df2021-09-07 17:16:58 -0500359 CLK_DIV_DEFFREQ("hsdiv4_16fft_main_1_hsdivout0_clk", "pllfracf_ssmod_16fft_main_1_foutvcop_clk", 0x681080, 0, 7, 0, 0, 192000000),
360 CLK_DIV("hsdiv4_16fft_main_1_hsdivout2_clk", "pllfracf_ssmod_16fft_main_1_foutvcop_clk", 0x681088, 0, 7, 0, 0),
361 CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout1_clk", "pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d01084, 0, 7, 0, 0),
362 CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout2_clk", "pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d01088, 0, 7, 0, 0),
363 CLK_DIV("hsdiv4_16fft_mcu_2_hsdivout0_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d02080, 0, 7, 0, 0),
364 CLK_DIV("hsdiv4_16fft_mcu_2_hsdivout1_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d02084, 0, 7, 0, 0),
365 CLK_DIV("hsdiv4_16fft_mcu_2_hsdivout2_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d02088, 0, 7, 0, 0),
366 CLK_DIV("hsdiv4_16fft_mcu_2_hsdivout3_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d0208c, 0, 7, 0, 0),
Dave Gerlach277729e2021-06-11 11:45:18 +0300367 CLK_PLL("pllfracf_ssmod_16fft_main_0_foutvcop_clk", "main_pll_hfosc_sel_out0", 0x680000, 0),
Suman Annacfd50df2021-09-07 17:16:58 -0500368 CLK_DIV("pllfracf_ssmod_16fft_main_0_foutpostdiv_clk_subdiv", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680038, 16, 3, 0, CLK_DIVIDER_ONE_BASED),
369 CLK_DIV("pllfracf_ssmod_16fft_main_0_foutpostdiv_clk", "pllfracf_ssmod_16fft_main_0_foutpostdiv_clk_subdiv", 0x680038, 24, 3, 0, CLK_DIVIDER_ONE_BASED),
Dave Gerlach277729e2021-06-11 11:45:18 +0300370 CLK_PLL("pllfracf_ssmod_16fft_main_12_foutvcop_clk", "main_pll_hfosc_sel_out12", 0x68c000, 0),
371 CLK_PLL("pllfracf_ssmod_16fft_main_14_foutvcop_clk", "main_pll_hfosc_sel_out14", 0x68e000, 0),
372 CLK_PLL("pllfracf_ssmod_16fft_main_2_foutvcop_clk", "main_pll_hfosc_sel_out2", 0x682000, 0),
373 CLK_PLL("pllfracf_ssmod_16fft_main_3_foutvcop_clk", "main_pll_hfosc_sel_out3", 0x683000, 0),
374 CLK_PLL("pllfracf_ssmod_16fft_main_7_foutvcop_clk", "main_pll_hfosc_sel_out7", 0x687000, 0),
375 CLK_PLL("pllfracf_ssmod_16fft_main_8_foutvcop_clk", "main_pll_hfosc_sel_out8", 0x688000, 0),
Suman Annacfd50df2021-09-07 17:16:58 -0500376 CLK_DIV("postdiv2_16fft_main_0_hsdivout6_clk", "pllfracf_ssmod_16fft_main_0_foutpostdiv_clk", 0x680098, 0, 7, 0, 0),
377 CLK_DIV("postdiv2_16fft_main_1_hsdivout7_clk", "pllfracf_ssmod_16fft_main_1_foutpostdiv_clk", 0x68109c, 0, 7, 0, 0),
Dave Gerlach277729e2021-06-11 11:45:18 +0300378 CLK_MUX("wkup_obsclk_mux_out0", wkup_obsclk_mux_out0_parents, 16, 0x43008000, 0, 4, 0),
379 CLK_MUX("main_pll4_xref_sel_out0", main_pll4_xref_sel_out0_parents, 2, 0x43008090, 4, 1, 0),
380 CLK_MUX("mcu_clkout_mux_out0", mcu_clkout_mux_out0_parents, 2, 0x40f08010, 0, 1, 0),
Suman Annacfd50df2021-09-07 17:16:58 -0500381 CLK_DIV_DEFFREQ("usart_programmable_clock_divider_out0", "hsdiv4_16fft_main_1_hsdivout0_clk", 0x1081c0, 0, 2, 0, 0, 48000000),
382 CLK_DIV("hsdiv0_16fft_main_12_hsdivout0_clk", "pllfracf_ssmod_16fft_main_12_foutvcop_clk", 0x68c080, 0, 7, 0, 0),
383 CLK_DIV("hsdiv0_16fft_main_7_hsdivout0_clk", "pllfracf_ssmod_16fft_main_7_foutvcop_clk", 0x687080, 0, 7, 0, 0),
384 CLK_DIV("hsdiv0_16fft_main_8_hsdivout0_clk", "pllfracf_ssmod_16fft_main_8_foutvcop_clk", 0x688080, 0, 7, 0, 0),
385 CLK_DIV("hsdiv1_16fft_main_14_hsdivout0_clk", "pllfracf_ssmod_16fft_main_14_foutvcop_clk", 0x68e080, 0, 7, 0, 0),
386 CLK_DIV("hsdiv4_16fft_main_0_hsdivout0_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680080, 0, 7, 0, 0),
387 CLK_DIV("hsdiv4_16fft_main_0_hsdivout1_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680084, 0, 7, 0, 0),
388 CLK_DIV("hsdiv4_16fft_main_0_hsdivout2_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680088, 0, 7, 0, 0),
389 CLK_DIV("hsdiv4_16fft_main_0_hsdivout3_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x68008c, 0, 7, 0, 0),
390 CLK_DIV("hsdiv4_16fft_main_0_hsdivout4_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680090, 0, 7, 0, 0),
391 CLK_DIV("hsdiv4_16fft_main_2_hsdivout0_clk", "pllfracf_ssmod_16fft_main_2_foutvcop_clk", 0x682080, 0, 7, 0, 0),
392 CLK_DIV("hsdiv4_16fft_main_2_hsdivout1_clk", "pllfracf_ssmod_16fft_main_2_foutvcop_clk", 0x682084, 0, 7, 0, 0),
393 CLK_DIV("hsdiv4_16fft_main_3_hsdivout0_clk", "pllfracf_ssmod_16fft_main_3_foutvcop_clk", 0x683080, 0, 7, 0, 0),
394 CLK_DIV("hsdiv4_16fft_main_3_hsdivout1_clk", "pllfracf_ssmod_16fft_main_3_foutvcop_clk", 0x683084, 0, 7, 0, 0),
395 CLK_DIV("hsdiv4_16fft_main_3_hsdivout2_clk", "pllfracf_ssmod_16fft_main_3_foutvcop_clk", 0x683088, 0, 7, 0, 0),
Dave Gerlach277729e2021-06-11 11:45:18 +0300396 CLK_MUX_PLLCTRL("k3_pll_ctrl_wrap_main_0_sysclkout_clk", k3_pll_ctrl_wrap_main_0_sysclkout_clk_parents, 2, 0x410000, 0),
Suman Annacfd50df2021-09-07 17:16:58 -0500397 CLK_DIV("k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk", "k3_pll_ctrl_wrap_main_0_sysclkout_clk", 0x410118, 0, 5, 0, 0),
398 CLK_DIV("mcu_obsclk_div_out0", "wkup_obsclk_mux_out0", 0x43008000, 8, 4, 0, 0),
Dave Gerlach277729e2021-06-11 11:45:18 +0300399 CLK_MUX("mcu_obsclk_outmux_out0", mcu_obsclk_outmux_out0_parents, 2, 0x43008000, 24, 1, 0),
400 CLK_PLL("pllfracf_ssmod_16fft_main_4_foutvcop_clk", "main_pll4_xref_sel_out0", 0x684000, 0),
401 CLK_MUX("clkout_mux_out0", clkout_mux_out0_parents, 2, 0x108010, 0, 1, 0),
402 CLK_MUX("emmcsd_refclk_sel_out0", emmcsd_refclk_sel_out0_parents, 4, 0x1080b0, 0, 2, 0),
403 CLK_MUX("emmcsd_refclk_sel_out1", emmcsd_refclk_sel_out1_parents, 4, 0x1080b4, 0, 2, 0),
404 CLK_MUX("gtc_clk_mux_out0", gtc_clk_mux_out0_parents, 16, 0x108030, 0, 4, 0),
405 CLK_MUX("obsclk1_mux_out0", obsclk1_mux_out0_parents, 4, 0x108004, 0, 2, 0),
406 CLK_MUX("gpmc_fclk_sel_out0", gpmc_fclk_sel_out0_parents, 4, 0x1080d0, 0, 2, 0),
Suman Annacfd50df2021-09-07 17:16:58 -0500407 CLK_DIV("hsdiv2_16fft_main_4_hsdivout0_clk", "pllfracf_ssmod_16fft_main_4_foutvcop_clk", 0x684080, 0, 7, 0, 0),
408 CLK_DIV("hsdiv2_16fft_main_4_hsdivout2_clk", "pllfracf_ssmod_16fft_main_4_foutvcop_clk", 0x684088, 0, 7, 0, 0),
Dave Gerlach277729e2021-06-11 11:45:18 +0300409 CLK_MUX("audio_refclko_mux_out0", audio_refclko_mux_out0_parents, 32, 0x1082e0, 0, 5, 0),
410 CLK_MUX("audio_refclko_mux_out1", audio_refclko_mux_out1_parents, 32, 0x1082e4, 0, 5, 0),
411 CLK_MUX("obsclk0_mux_out0", obsclk0_mux_out0_parents, 32, 0x108000, 0, 5, 0),
Suman Annacfd50df2021-09-07 17:16:58 -0500412 CLK_DIV("osbclk0_div_out0", "obsclk0_mux_out0", 0x108000, 8, 8, 0, 0),
413 CLK_DIV("k3_pll_ctrl_wrap_main_0_chip_div24_clk_clk", "k3_pll_ctrl_wrap_main_0_sysclkout_clk", 0x41011c, 0, 5, 0, 0),
414 CLK_DIV("k3_pll_ctrl_wrap_wkup_0_chip_div24_clk_clk", "k3_pll_ctrl_wrap_wkup_0_sysclkout_clk", 0x4201011c, 0, 5, 0, 0),
Dave Gerlach277729e2021-06-11 11:45:18 +0300415};
416
417static const struct dev_clk soc_dev_clk_data[] = {
418 DEV_CLK(4, 0, "hsdiv0_16fft_main_8_hsdivout0_clk"),
419 DEV_CLK(4, 1, "hsdiv0_16fft_main_7_hsdivout0_clk"),
420 DEV_CLK(4, 2, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
421 DEV_CLK(8, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
422 DEV_CLK(8, 5, "hsdiv0_16fft_main_12_hsdivout0_clk"),
423 DEV_CLK(30, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
424 DEV_CLK(30, 1, "board_0_hfosc1_clk_out"),
425 DEV_CLK(30, 2, "hsdiv4_16fft_main_0_hsdivout3_clk"),
426 DEV_CLK(30, 4, "hsdiv4_16fft_main_0_hsdivout1_clk"),
427 DEV_CLK(30, 5, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
428 DEV_CLK(30, 6, "gluelogic_hfosc0_clkout"),
429 DEV_CLK(30, 7, "hsdiv4_16fft_main_0_hsdivout2_clk"),
430 DEV_CLK(30, 8, "hsdiv4_16fft_main_0_hsdivout4_clk"),
431 DEV_CLK(30, 9, "gluelogic_hfosc0_clkout"),
432 DEV_CLK(30, 10, "board_0_hfosc1_clk_out"),
433 DEV_CLK(30, 11, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
434 DEV_CLK(30, 12, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk"),
435 DEV_CLK(61, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
436 DEV_CLK(61, 1, "gtc_clk_mux_out0"),
437 DEV_CLK(61, 2, "hsdiv4_16fft_main_3_hsdivout1_clk"),
438 DEV_CLK(61, 3, "postdiv2_16fft_main_0_hsdivout6_clk"),
439 DEV_CLK(61, 4, "board_0_mcu_cpts0_rft_clk_out"),
440 DEV_CLK(61, 5, "board_0_cpts0_rft_clk_out"),
441 DEV_CLK(61, 6, "board_0_mcu_ext_refclk0_out"),
442 DEV_CLK(61, 7, "board_0_ext_refclk1_out"),
443 DEV_CLK(61, 16, "hsdiv4_16fft_mcu_2_hsdivout1_clk"),
444 DEV_CLK(61, 17, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
445 DEV_CLK(91, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
446 DEV_CLK(91, 3, "emmcsd_refclk_sel_out0"),
447 DEV_CLK(91, 4, "hsdiv4_16fft_main_0_hsdivout2_clk"),
448 DEV_CLK(91, 5, "hsdiv4_16fft_main_1_hsdivout2_clk"),
449 DEV_CLK(91, 6, "hsdiv4_16fft_main_3_hsdivout2_clk"),
450 DEV_CLK(91, 7, "hsdiv4_16fft_main_3_hsdivout2_clk"),
451 DEV_CLK(92, 0, "emmcsd4ss_main_0_emmcsdss_io_clk_o"),
452 DEV_CLK(92, 1, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
453 DEV_CLK(92, 2, "emmcsd_refclk_sel_out1"),
454 DEV_CLK(92, 3, "hsdiv4_16fft_main_0_hsdivout2_clk"),
455 DEV_CLK(92, 4, "hsdiv4_16fft_main_1_hsdivout2_clk"),
456 DEV_CLK(92, 5, "hsdiv4_16fft_main_3_hsdivout2_clk"),
457 DEV_CLK(92, 6, "hsdiv4_16fft_main_3_hsdivout2_clk"),
458 DEV_CLK(102, 1, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
459 DEV_CLK(102, 2, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
460 DEV_CLK(102, 4, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
461 DEV_CLK(102, 5, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
462 DEV_CLK(102, 7, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
463 DEV_CLK(103, 0, "mcu_ospi_ref_clk_sel_out0"),
464 DEV_CLK(103, 1, "hsdiv4_16fft_mcu_1_hsdivout4_clk"),
465 DEV_CLK(103, 2, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
466 DEV_CLK(103, 3, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
467 DEV_CLK(103, 4, "board_0_mcu_ospi0_dqs_out"),
468 DEV_CLK(103, 5, "mcu_ospi0_iclk_sel_out0"),
469 DEV_CLK(103, 6, "board_0_mcu_ospi0_dqs_out"),
470 DEV_CLK(103, 7, "fss_mcu_0_ospi_0_ospi_oclk_clk"),
471 DEV_CLK(103, 8, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
472 DEV_CLK(104, 0, "hsdiv4_16fft_mcu_1_hsdivout4_clk"),
473 DEV_CLK(104, 1, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
474 DEV_CLK(104, 7, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
475 DEV_CLK(113, 0, "wkup_gpio0_clksel_out0"),
476 DEV_CLK(113, 1, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
477 DEV_CLK(113, 2, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
478 DEV_CLK(113, 3, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_32k_clk"),
479 DEV_CLK(113, 4, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk"),
480 DEV_CLK(133, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
481 DEV_CLK(133, 1, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
482 DEV_CLK(138, 0, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
483 DEV_CLK(138, 1, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
484 DEV_CLK(146, 2, "usart_programmable_clock_divider_out0"),
485 DEV_CLK(146, 3, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
486 DEV_CLK(149, 2, "mcuusart_clk_sel_out0"),
487 DEV_CLK(149, 3, "hsdiv4_16fft_mcu_1_hsdivout3_clk"),
488 DEV_CLK(149, 4, "postdiv2_16fft_main_1_hsdivout5_clk"),
489 DEV_CLK(149, 5, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
490 DEV_CLK(154, 0, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk"),
491 DEV_CLK(154, 1, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
492 DEV_CLK(154, 2, "gluelogic_hfosc0_clkout"),
493 DEV_CLK(157, 5, "osbclk0_div_out0"),
494 DEV_CLK(157, 7, "fss_mcu_0_hyperbus1p0_0_hpb_out_clk_n"),
495 DEV_CLK(157, 14, "mcu_obsclk_outmux_out0"),
496 DEV_CLK(157, 15, "mcu_obsclk_div_out0"),
497 DEV_CLK(157, 16, "gluelogic_hfosc0_clkout"),
498 DEV_CLK(157, 35, "clkout_mux_out0"),
499 DEV_CLK(157, 36, "hsdiv4_16fft_main_3_hsdivout0_clk"),
500 DEV_CLK(157, 37, "hsdiv4_16fft_main_3_hsdivout0_clk"),
501 DEV_CLK(157, 38, "osbclk0_div_out0"),
502 DEV_CLK(157, 57, "fss_mcu_0_hyperbus1p0_0_hpb_out_clk_p"),
503 DEV_CLK(157, 65, "emmcsd4ss_main_0_emmcsdss_io_clk_o"),
504 DEV_CLK(157, 69, "mcu_clkout_mux_out0"),
505 DEV_CLK(157, 70, "hsdiv4_16fft_mcu_2_hsdivout0_clk"),
506 DEV_CLK(157, 71, "hsdiv4_16fft_mcu_2_hsdivout0_clk"),
507 DEV_CLK(157, 77, "audio_refclko_mux_out1"),
508 DEV_CLK(157, 106, "hsdiv2_16fft_main_4_hsdivout2_clk"),
509 DEV_CLK(157, 110, "fss_mcu_0_ospi_0_ospi_oclk_clk"),
510 DEV_CLK(157, 114, "k3_pll_ctrl_wrap_wkup_0_sysclkout_clk"),
511 DEV_CLK(157, 123, "mshsi2c_wkup_0_porscl"),
512 DEV_CLK(157, 131, "audio_refclko_mux_out0"),
513 DEV_CLK(157, 160, "hsdiv2_16fft_main_4_hsdivout2_clk"),
514 DEV_CLK(157, 169, "board_0_mcu_i2c0_scl_out"),
515 DEV_CLK(157, 177, "k3_pll_ctrl_wrap_main_0_sysclkout_clk"),
516 DEV_CLK(157, 184, "gpmc_fclk_sel_out0"),
517 DEV_CLK(157, 187, "fss_mcu_0_ospi_0_ospi_oclk_clk"),
518 DEV_CLK(157, 192, "osbclk0_div_out0"),
519 DEV_CLK(157, 193, "hsdiv4_16fft_main_0_hsdivout0_clk"),
520 DEV_CLK(157, 194, "hsdiv4_16fft_main_1_hsdivout0_clk"),
521 DEV_CLK(157, 195, "hsdiv4_16fft_main_2_hsdivout0_clk"),
522 DEV_CLK(157, 196, "hsdiv4_16fft_main_3_hsdivout0_clk"),
523 DEV_CLK(157, 197, "hsdiv2_16fft_main_4_hsdivout0_clk"),
524 DEV_CLK(157, 205, "hsdiv0_16fft_main_12_hsdivout0_clk"),
525 DEV_CLK(157, 206, "obsclk1_mux_out0"),
526 DEV_CLK(157, 207, "hsdiv1_16fft_main_14_hsdivout0_clk"),
527 DEV_CLK(157, 220, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk"),
528 DEV_CLK(157, 221, "board_0_wkup_lf_clkin_out"),
529 DEV_CLK(157, 222, "hsdiv4_16fft_main_0_hsdivout0_clk"),
530 DEV_CLK(157, 223, "board_0_hfosc1_clk_out"),
531 DEV_CLK(157, 224, "gluelogic_hfosc0_clkout"),
532 DEV_CLK(197, 0, "board_0_wkup_i2c0_scl_out"),
533 DEV_CLK(197, 1, "wkup_i2c0_mcupll_bypass_clksel_out0"),
534 DEV_CLK(197, 2, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
535 DEV_CLK(202, 2, "hsdiv0_16fft_main_8_hsdivout0_clk"),
536 DEV_CLK(203, 0, "hsdiv0_16fft_main_8_hsdivout0_clk"),
537 DEV_CLK(288, 3, "postdiv2_16fft_main_1_hsdivout7_clk"),
538 DEV_CLK(288, 4, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
539 DEV_CLK(288, 6, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
540 DEV_CLK(288, 12, "usb0_refclk_sel_out0"),
541 DEV_CLK(288, 13, "gluelogic_hfosc0_clkout"),
542 DEV_CLK(288, 14, "board_0_hfosc1_clk_out"),
543 DEV_CLK(288, 15, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
544 DEV_CLK(288, 17, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
545};
546
547const struct ti_k3_clk_platdata j7200_clk_platdata = {
548 .clk_list = clk_list,
549 .clk_list_cnt = 108,
550 .soc_dev_clk_data = soc_dev_clk_data,
551 .soc_dev_clk_data_cnt = 127,
552};