blob: eb8436decbd3ebd1dca5a9b22cad6b7d491e3ac4 [file] [log] [blame]
Dave Gerlach6bf97552021-06-11 11:45:18 +03001// SPDX-License-Identifier: GPL-2.0+
2/*
3 * J7200 specific clock platform data
4 *
Dave Gerlach0949b992021-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 Gerlach6bf97552021-06-11 11:45:18 +03009 */
Dave Gerlach0949b992021-09-07 17:16:56 -050010
Suman Annadb4c2dc2021-09-07 17:16:58 -050011#include <linux/clk-provider.h>
Dave Gerlach6bf97552021-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
Bryan Brattlofba8e5a82023-12-07 10:52:10 -0600144static const char * const main_pll8_sel_extwave_out0_parents[] = {
145 "pllfracf_ssmod_16fft_main_8_foutvcop_clk",
146 "hsdiv0_16fft_main_8_hsdivout0_clk",
147};
148
Dave Gerlach6bf97552021-06-11 11:45:18 +0300149static const char * const mcu_obsclk_outmux_out0_parents[] = {
150 "mcu_obsclk_div_out0",
151 "gluelogic_hfosc0_clkout",
152};
153
154static const char * const clkout_mux_out0_parents[] = {
155 "hsdiv4_16fft_main_3_hsdivout0_clk",
156 "hsdiv4_16fft_main_3_hsdivout0_clk",
157};
158
159static const char * const emmcsd_refclk_sel_out0_parents[] = {
160 "hsdiv4_16fft_main_0_hsdivout2_clk",
161 "hsdiv4_16fft_main_1_hsdivout2_clk",
162 "hsdiv4_16fft_main_3_hsdivout2_clk",
163 "hsdiv4_16fft_main_3_hsdivout2_clk",
164};
165
166static const char * const emmcsd_refclk_sel_out1_parents[] = {
167 "hsdiv4_16fft_main_0_hsdivout2_clk",
168 "hsdiv4_16fft_main_1_hsdivout2_clk",
169 "hsdiv4_16fft_main_3_hsdivout2_clk",
170 "hsdiv4_16fft_main_3_hsdivout2_clk",
171};
172
173static const char * const gtc_clk_mux_out0_parents[] = {
174 "hsdiv4_16fft_main_3_hsdivout1_clk",
175 "postdiv2_16fft_main_0_hsdivout6_clk",
176 "board_0_mcu_cpts0_rft_clk_out",
177 "board_0_cpts0_rft_clk_out",
178 "board_0_mcu_ext_refclk0_out",
179 "board_0_ext_refclk1_out",
180 NULL,
181 NULL,
182 NULL,
183 NULL,
184 NULL,
185 NULL,
186 NULL,
187 NULL,
188 "hsdiv4_16fft_mcu_2_hsdivout1_clk",
189 "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk",
190};
191
192static const char * const obsclk1_mux_out0_parents[] = {
193 NULL,
194 "hsdiv0_16fft_main_8_hsdivout0_clk",
195 NULL,
196 NULL,
197};
198
199static const char * const gpmc_fclk_sel_out0_parents[] = {
200 "hsdiv4_16fft_main_0_hsdivout3_clk",
201 "hsdiv4_16fft_main_2_hsdivout1_clk",
202 "hsdiv4_16fft_main_2_hsdivout1_clk",
203 "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk",
204};
205
206static const char * const audio_refclko_mux_out0_parents[] = {
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 NULL,
231 NULL,
232 NULL,
233 NULL,
234 NULL,
235 "hsdiv2_16fft_main_4_hsdivout2_clk",
236 NULL,
237 NULL,
238 NULL,
239};
240
241static const char * const audio_refclko_mux_out1_parents[] = {
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 NULL,
266 NULL,
267 NULL,
268 NULL,
269 NULL,
270 "hsdiv2_16fft_main_4_hsdivout2_clk",
271 NULL,
272 NULL,
273 NULL,
274};
275
276static const char * const obsclk0_mux_out0_parents[] = {
277 "hsdiv4_16fft_main_0_hsdivout0_clk",
278 "hsdiv4_16fft_main_1_hsdivout0_clk",
279 "hsdiv4_16fft_main_2_hsdivout0_clk",
280 "hsdiv4_16fft_main_3_hsdivout0_clk",
281 "hsdiv2_16fft_main_4_hsdivout0_clk",
282 NULL,
283 NULL,
284 NULL,
285 NULL,
286 NULL,
287 NULL,
288 NULL,
289 "hsdiv0_16fft_main_12_hsdivout0_clk",
290 "obsclk1_mux_out0",
291 "hsdiv1_16fft_main_14_hsdivout0_clk",
292 NULL,
293 NULL,
294 NULL,
295 NULL,
296 NULL,
297 NULL,
298 NULL,
299 NULL,
300 NULL,
301 NULL,
302 NULL,
303 NULL,
304 "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk",
305 "board_0_wkup_lf_clkin_out",
306 "hsdiv4_16fft_main_0_hsdivout0_clk",
307 "board_0_hfosc1_clk_out",
308 "gluelogic_hfosc0_clkout",
309};
310
311static const struct clk_data clk_list[] = {
312 CLK_FIXED_RATE("osc_27_mhz", 27000000, 0),
313 CLK_FIXED_RATE("osc_26_mhz", 26000000, 0),
314 CLK_FIXED_RATE("osc_25_mhz", 25000000, 0),
315 CLK_FIXED_RATE("osc_24_mhz", 24000000, 0),
316 CLK_FIXED_RATE("osc_20_mhz", 20000000, 0),
317 CLK_FIXED_RATE("osc_19_2_mhz", 19200000, 0),
318 CLK_MUX("gluelogic_hfosc0_clkout", gluelogic_hfosc0_clkout_parents, 6, 0x43000030, 0, 3, 0),
319 CLK_FIXED_RATE("board_0_hfosc1_clk_out", 0, 0),
320 CLK_FIXED_RATE("board_0_mcu_ospi0_dqs_out", 0, 0),
321 CLK_FIXED_RATE("board_0_wkup_i2c0_scl_out", 0, 0),
322 CLK_FIXED_RATE("fss_mcu_0_hyperbus1p0_0_hpb_out_clk_n", 0, 0),
323 CLK_FIXED_RATE("fss_mcu_0_hyperbus1p0_0_hpb_out_clk_p", 0, 0),
324 CLK_FIXED_RATE("fss_mcu_0_ospi_0_ospi_oclk_clk", 0, 0),
325 CLK_FIXED_RATE("j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk", 12500000, 0),
326 CLK_FIXED_RATE("j7vc_wakeup_16ff_wkup_0_wkup_rcosc_32k_clk", 32550, 0),
327 CLK_MUX("mcu_ospi0_iclk_sel_out0", mcu_ospi0_iclk_sel_out0_parents, 2, 0x40f08030, 4, 1, 0),
328 CLK_FIXED_RATE("mshsi2c_wkup_0_porscl", 0, 0),
329 CLK_MUX("wkup_fref_clksel_out0", wkup_fref_clksel_out0_parents, 2, 0x43008050, 8, 1, 0),
330 CLK_MUX("main_pll_hfosc_sel_out1", main_pll_hfosc_sel_out1_parents, 2, 0x43008084, 0, 1, 0),
331 CLK_PLL_DEFFREQ("pllfracf_ssmod_16fft_main_1_foutvcop_clk", "main_pll_hfosc_sel_out1", 0x681000, 0, 1920000000),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500332 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),
333 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 Gerlach6bf97552021-06-11 11:45:18 +0300334 CLK_PLL("pllfracf_ssmod_16fft_mcu_0_foutvcop_clk", "wkup_fref_clksel_out0", 0x40d00000, 0),
335 CLK_PLL_DEFFREQ("pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", "wkup_fref_clksel_out0", 0x40d01000, 0, 2400000000),
336 CLK_PLL_DEFFREQ("pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", "wkup_fref_clksel_out0", 0x40d02000, 0, 2000000000),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500337 CLK_DIV("postdiv2_16fft_main_1_hsdivout5_clk", "pllfracf_ssmod_16fft_main_1_foutpostdiv_clk", 0x681094, 0, 7, 0, 0),
338 CLK_DIV("hsdiv1_16fft_mcu_0_hsdivout0_clk", "pllfracf_ssmod_16fft_mcu_0_foutvcop_clk", 0x40d00080, 0, 7, 0, 0),
339 CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout3_clk", "pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d0108c, 0, 7, 0, 0),
340 CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout4_clk", "pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d01090, 0, 7, 0, 0),
341 CLK_DIV_DEFFREQ("hsdiv4_16fft_mcu_2_hsdivout4_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d02090, 0, 7, 0, 0, 166666666),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300342 CLK_MUX_PLLCTRL("k3_pll_ctrl_wrap_wkup_0_sysclkout_clk", k3_pll_ctrl_wrap_wkup_0_sysclkout_clk_parents, 2, 0x42010000, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500343 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 Gerlach6bf97552021-06-11 11:45:18 +0300344 CLK_MUX("mcu_ospi_ref_clk_sel_out0", mcu_ospi_ref_clk_sel_out0_parents, 2, 0x40f08030, 0, 1, 0),
345 CLK_MUX("mcuusart_clk_sel_out0", mcuusart_clk_sel_out0_parents, 2, 0x40f081c0, 0, 1, 0),
346 CLK_MUX("wkup_gpio0_clksel_out0", wkup_gpio0_clksel_out0_parents, 4, 0x43008070, 0, 2, 0),
347 CLK_MUX("wkup_i2c0_mcupll_bypass_clksel_out0", wkup_i2c0_mcupll_bypass_clksel_out0_parents, 2, 0x43008060, 0, 1, 0),
348 CLK_MUX("main_pll_hfosc_sel_out0", main_pll_hfosc_sel_out0_parents, 2, 0x43008080, 0, 1, 0),
349 CLK_MUX("main_pll_hfosc_sel_out12", main_pll_hfosc_sel_out12_parents, 2, 0x430080b0, 0, 1, 0),
350 CLK_MUX("main_pll_hfosc_sel_out14", main_pll_hfosc_sel_out14_parents, 2, 0x430080b8, 0, 1, 0),
351 CLK_MUX("main_pll_hfosc_sel_out2", main_pll_hfosc_sel_out2_parents, 2, 0x43008088, 0, 1, 0),
352 CLK_MUX("main_pll_hfosc_sel_out3", main_pll_hfosc_sel_out3_parents, 2, 0x4300808c, 0, 1, 0),
353 CLK_MUX("main_pll_hfosc_sel_out4", main_pll_hfosc_sel_out4_parents, 2, 0x43008090, 0, 1, 0),
354 CLK_MUX("main_pll_hfosc_sel_out7", main_pll_hfosc_sel_out7_parents, 2, 0x4300809c, 0, 1, 0),
355 CLK_MUX("main_pll_hfosc_sel_out8", main_pll_hfosc_sel_out8_parents, 2, 0x430080a0, 0, 1, 0),
356 CLK_MUX("usb0_refclk_sel_out0", usb0_refclk_sel_out0_parents, 2, 0x1080e0, 0, 1, 0),
357 CLK_FIXED_RATE("board_0_cpts0_rft_clk_out", 0, 0),
358 CLK_FIXED_RATE("board_0_ext_refclk1_out", 0, 0),
359 CLK_FIXED_RATE("board_0_mcu_cpts0_rft_clk_out", 0, 0),
360 CLK_FIXED_RATE("board_0_mcu_ext_refclk0_out", 0, 0),
361 CLK_FIXED_RATE("board_0_mcu_i2c0_scl_out", 0, 0),
362 CLK_FIXED_RATE("board_0_wkup_lf_clkin_out", 0, 0),
363 CLK_FIXED_RATE("emmcsd4ss_main_0_emmcsdss_io_clk_o", 0, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500364 CLK_DIV_DEFFREQ("hsdiv4_16fft_main_1_hsdivout0_clk", "pllfracf_ssmod_16fft_main_1_foutvcop_clk", 0x681080, 0, 7, 0, 0, 192000000),
365 CLK_DIV("hsdiv4_16fft_main_1_hsdivout2_clk", "pllfracf_ssmod_16fft_main_1_foutvcop_clk", 0x681088, 0, 7, 0, 0),
366 CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout1_clk", "pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d01084, 0, 7, 0, 0),
367 CLK_DIV("hsdiv4_16fft_mcu_1_hsdivout2_clk", "pllfracf_ssmod_16fft_mcu_1_foutvcop_clk", 0x40d01088, 0, 7, 0, 0),
368 CLK_DIV("hsdiv4_16fft_mcu_2_hsdivout0_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d02080, 0, 7, 0, 0),
369 CLK_DIV("hsdiv4_16fft_mcu_2_hsdivout1_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d02084, 0, 7, 0, 0),
370 CLK_DIV("hsdiv4_16fft_mcu_2_hsdivout2_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d02088, 0, 7, 0, 0),
371 CLK_DIV("hsdiv4_16fft_mcu_2_hsdivout3_clk", "pllfracf_ssmod_16fft_mcu_2_foutvcop_clk", 0x40d0208c, 0, 7, 0, 0),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300372 CLK_PLL("pllfracf_ssmod_16fft_main_0_foutvcop_clk", "main_pll_hfosc_sel_out0", 0x680000, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500373 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),
374 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 Gerlach6bf97552021-06-11 11:45:18 +0300375 CLK_PLL("pllfracf_ssmod_16fft_main_12_foutvcop_clk", "main_pll_hfosc_sel_out12", 0x68c000, 0),
376 CLK_PLL("pllfracf_ssmod_16fft_main_14_foutvcop_clk", "main_pll_hfosc_sel_out14", 0x68e000, 0),
377 CLK_PLL("pllfracf_ssmod_16fft_main_2_foutvcop_clk", "main_pll_hfosc_sel_out2", 0x682000, 0),
378 CLK_PLL("pllfracf_ssmod_16fft_main_3_foutvcop_clk", "main_pll_hfosc_sel_out3", 0x683000, 0),
379 CLK_PLL("pllfracf_ssmod_16fft_main_7_foutvcop_clk", "main_pll_hfosc_sel_out7", 0x687000, 0),
380 CLK_PLL("pllfracf_ssmod_16fft_main_8_foutvcop_clk", "main_pll_hfosc_sel_out8", 0x688000, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500381 CLK_DIV("postdiv2_16fft_main_0_hsdivout6_clk", "pllfracf_ssmod_16fft_main_0_foutpostdiv_clk", 0x680098, 0, 7, 0, 0),
382 CLK_DIV("postdiv2_16fft_main_1_hsdivout7_clk", "pllfracf_ssmod_16fft_main_1_foutpostdiv_clk", 0x68109c, 0, 7, 0, 0),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300383 CLK_MUX("wkup_obsclk_mux_out0", wkup_obsclk_mux_out0_parents, 16, 0x43008000, 0, 4, 0),
384 CLK_MUX("main_pll4_xref_sel_out0", main_pll4_xref_sel_out0_parents, 2, 0x43008090, 4, 1, 0),
385 CLK_MUX("mcu_clkout_mux_out0", mcu_clkout_mux_out0_parents, 2, 0x40f08010, 0, 1, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500386 CLK_DIV_DEFFREQ("usart_programmable_clock_divider_out0", "hsdiv4_16fft_main_1_hsdivout0_clk", 0x1081c0, 0, 2, 0, 0, 48000000),
Bhavya Kapoore61ceab2023-05-12 15:32:53 +0530387 CLK_DIV_DEFFREQ("usart_programmable_clock_divider_out1", "hsdiv4_16fft_main_1_hsdivout0_clk", 0x1081c4, 0, 2, 0, 0, 48000000),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500388 CLK_DIV("hsdiv0_16fft_main_12_hsdivout0_clk", "pllfracf_ssmod_16fft_main_12_foutvcop_clk", 0x68c080, 0, 7, 0, 0),
389 CLK_DIV("hsdiv0_16fft_main_7_hsdivout0_clk", "pllfracf_ssmod_16fft_main_7_foutvcop_clk", 0x687080, 0, 7, 0, 0),
390 CLK_DIV("hsdiv0_16fft_main_8_hsdivout0_clk", "pllfracf_ssmod_16fft_main_8_foutvcop_clk", 0x688080, 0, 7, 0, 0),
391 CLK_DIV("hsdiv1_16fft_main_14_hsdivout0_clk", "pllfracf_ssmod_16fft_main_14_foutvcop_clk", 0x68e080, 0, 7, 0, 0),
392 CLK_DIV("hsdiv4_16fft_main_0_hsdivout0_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680080, 0, 7, 0, 0),
393 CLK_DIV("hsdiv4_16fft_main_0_hsdivout1_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680084, 0, 7, 0, 0),
394 CLK_DIV("hsdiv4_16fft_main_0_hsdivout2_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680088, 0, 7, 0, 0),
395 CLK_DIV("hsdiv4_16fft_main_0_hsdivout3_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x68008c, 0, 7, 0, 0),
396 CLK_DIV("hsdiv4_16fft_main_0_hsdivout4_clk", "pllfracf_ssmod_16fft_main_0_foutvcop_clk", 0x680090, 0, 7, 0, 0),
397 CLK_DIV("hsdiv4_16fft_main_2_hsdivout0_clk", "pllfracf_ssmod_16fft_main_2_foutvcop_clk", 0x682080, 0, 7, 0, 0),
398 CLK_DIV("hsdiv4_16fft_main_2_hsdivout1_clk", "pllfracf_ssmod_16fft_main_2_foutvcop_clk", 0x682084, 0, 7, 0, 0),
399 CLK_DIV("hsdiv4_16fft_main_3_hsdivout0_clk", "pllfracf_ssmod_16fft_main_3_foutvcop_clk", 0x683080, 0, 7, 0, 0),
400 CLK_DIV("hsdiv4_16fft_main_3_hsdivout1_clk", "pllfracf_ssmod_16fft_main_3_foutvcop_clk", 0x683084, 0, 7, 0, 0),
401 CLK_DIV("hsdiv4_16fft_main_3_hsdivout2_clk", "pllfracf_ssmod_16fft_main_3_foutvcop_clk", 0x683088, 0, 7, 0, 0),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300402 CLK_MUX_PLLCTRL("k3_pll_ctrl_wrap_main_0_sysclkout_clk", k3_pll_ctrl_wrap_main_0_sysclkout_clk_parents, 2, 0x410000, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500403 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),
Bryan Brattlofba8e5a82023-12-07 10:52:10 -0600404 CLK_MUX("main_pll8_sel_extwave_out0", main_pll8_sel_extwave_out0_parents, 2, 0x688040, 0, 1, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500405 CLK_DIV("mcu_obsclk_div_out0", "wkup_obsclk_mux_out0", 0x43008000, 8, 4, 0, 0),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300406 CLK_MUX("mcu_obsclk_outmux_out0", mcu_obsclk_outmux_out0_parents, 2, 0x43008000, 24, 1, 0),
407 CLK_PLL("pllfracf_ssmod_16fft_main_4_foutvcop_clk", "main_pll4_xref_sel_out0", 0x684000, 0),
408 CLK_MUX("clkout_mux_out0", clkout_mux_out0_parents, 2, 0x108010, 0, 1, 0),
409 CLK_MUX("emmcsd_refclk_sel_out0", emmcsd_refclk_sel_out0_parents, 4, 0x1080b0, 0, 2, 0),
410 CLK_MUX("emmcsd_refclk_sel_out1", emmcsd_refclk_sel_out1_parents, 4, 0x1080b4, 0, 2, 0),
411 CLK_MUX("gtc_clk_mux_out0", gtc_clk_mux_out0_parents, 16, 0x108030, 0, 4, 0),
412 CLK_MUX("obsclk1_mux_out0", obsclk1_mux_out0_parents, 4, 0x108004, 0, 2, 0),
413 CLK_MUX("gpmc_fclk_sel_out0", gpmc_fclk_sel_out0_parents, 4, 0x1080d0, 0, 2, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500414 CLK_DIV("hsdiv2_16fft_main_4_hsdivout0_clk", "pllfracf_ssmod_16fft_main_4_foutvcop_clk", 0x684080, 0, 7, 0, 0),
415 CLK_DIV("hsdiv2_16fft_main_4_hsdivout2_clk", "pllfracf_ssmod_16fft_main_4_foutvcop_clk", 0x684088, 0, 7, 0, 0),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300416 CLK_MUX("audio_refclko_mux_out0", audio_refclko_mux_out0_parents, 32, 0x1082e0, 0, 5, 0),
417 CLK_MUX("audio_refclko_mux_out1", audio_refclko_mux_out1_parents, 32, 0x1082e4, 0, 5, 0),
418 CLK_MUX("obsclk0_mux_out0", obsclk0_mux_out0_parents, 32, 0x108000, 0, 5, 0),
Suman Annadb4c2dc2021-09-07 17:16:58 -0500419 CLK_DIV("osbclk0_div_out0", "obsclk0_mux_out0", 0x108000, 8, 8, 0, 0),
420 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),
421 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 Gerlach6bf97552021-06-11 11:45:18 +0300422};
423
424static const struct dev_clk soc_dev_clk_data[] = {
425 DEV_CLK(4, 0, "hsdiv0_16fft_main_8_hsdivout0_clk"),
426 DEV_CLK(4, 1, "hsdiv0_16fft_main_7_hsdivout0_clk"),
427 DEV_CLK(4, 2, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
428 DEV_CLK(8, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
429 DEV_CLK(8, 5, "hsdiv0_16fft_main_12_hsdivout0_clk"),
430 DEV_CLK(30, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
431 DEV_CLK(30, 1, "board_0_hfosc1_clk_out"),
432 DEV_CLK(30, 2, "hsdiv4_16fft_main_0_hsdivout3_clk"),
433 DEV_CLK(30, 4, "hsdiv4_16fft_main_0_hsdivout1_clk"),
434 DEV_CLK(30, 5, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
435 DEV_CLK(30, 6, "gluelogic_hfosc0_clkout"),
436 DEV_CLK(30, 7, "hsdiv4_16fft_main_0_hsdivout2_clk"),
437 DEV_CLK(30, 8, "hsdiv4_16fft_main_0_hsdivout4_clk"),
438 DEV_CLK(30, 9, "gluelogic_hfosc0_clkout"),
439 DEV_CLK(30, 10, "board_0_hfosc1_clk_out"),
440 DEV_CLK(30, 11, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
441 DEV_CLK(30, 12, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk"),
442 DEV_CLK(61, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
443 DEV_CLK(61, 1, "gtc_clk_mux_out0"),
444 DEV_CLK(61, 2, "hsdiv4_16fft_main_3_hsdivout1_clk"),
445 DEV_CLK(61, 3, "postdiv2_16fft_main_0_hsdivout6_clk"),
446 DEV_CLK(61, 4, "board_0_mcu_cpts0_rft_clk_out"),
447 DEV_CLK(61, 5, "board_0_cpts0_rft_clk_out"),
448 DEV_CLK(61, 6, "board_0_mcu_ext_refclk0_out"),
449 DEV_CLK(61, 7, "board_0_ext_refclk1_out"),
450 DEV_CLK(61, 16, "hsdiv4_16fft_mcu_2_hsdivout1_clk"),
451 DEV_CLK(61, 17, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
452 DEV_CLK(91, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
453 DEV_CLK(91, 3, "emmcsd_refclk_sel_out0"),
454 DEV_CLK(91, 4, "hsdiv4_16fft_main_0_hsdivout2_clk"),
455 DEV_CLK(91, 5, "hsdiv4_16fft_main_1_hsdivout2_clk"),
456 DEV_CLK(91, 6, "hsdiv4_16fft_main_3_hsdivout2_clk"),
457 DEV_CLK(91, 7, "hsdiv4_16fft_main_3_hsdivout2_clk"),
458 DEV_CLK(92, 0, "emmcsd4ss_main_0_emmcsdss_io_clk_o"),
459 DEV_CLK(92, 1, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
460 DEV_CLK(92, 2, "emmcsd_refclk_sel_out1"),
461 DEV_CLK(92, 3, "hsdiv4_16fft_main_0_hsdivout2_clk"),
462 DEV_CLK(92, 4, "hsdiv4_16fft_main_1_hsdivout2_clk"),
463 DEV_CLK(92, 5, "hsdiv4_16fft_main_3_hsdivout2_clk"),
464 DEV_CLK(92, 6, "hsdiv4_16fft_main_3_hsdivout2_clk"),
465 DEV_CLK(102, 1, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
466 DEV_CLK(102, 2, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
467 DEV_CLK(102, 4, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
468 DEV_CLK(102, 5, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
469 DEV_CLK(102, 7, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
470 DEV_CLK(103, 0, "mcu_ospi_ref_clk_sel_out0"),
471 DEV_CLK(103, 1, "hsdiv4_16fft_mcu_1_hsdivout4_clk"),
472 DEV_CLK(103, 2, "hsdiv4_16fft_mcu_2_hsdivout4_clk"),
473 DEV_CLK(103, 3, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
474 DEV_CLK(103, 4, "board_0_mcu_ospi0_dqs_out"),
475 DEV_CLK(103, 5, "mcu_ospi0_iclk_sel_out0"),
476 DEV_CLK(103, 6, "board_0_mcu_ospi0_dqs_out"),
477 DEV_CLK(103, 7, "fss_mcu_0_ospi_0_ospi_oclk_clk"),
478 DEV_CLK(103, 8, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
479 DEV_CLK(104, 0, "hsdiv4_16fft_mcu_1_hsdivout4_clk"),
480 DEV_CLK(104, 1, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
481 DEV_CLK(104, 7, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
482 DEV_CLK(113, 0, "wkup_gpio0_clksel_out0"),
483 DEV_CLK(113, 1, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
484 DEV_CLK(113, 2, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
485 DEV_CLK(113, 3, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_32k_clk"),
486 DEV_CLK(113, 4, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk"),
487 DEV_CLK(133, 0, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
488 DEV_CLK(133, 1, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
489 DEV_CLK(138, 0, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
490 DEV_CLK(138, 1, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
491 DEV_CLK(146, 2, "usart_programmable_clock_divider_out0"),
492 DEV_CLK(146, 3, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
493 DEV_CLK(149, 2, "mcuusart_clk_sel_out0"),
494 DEV_CLK(149, 3, "hsdiv4_16fft_mcu_1_hsdivout3_clk"),
495 DEV_CLK(149, 4, "postdiv2_16fft_main_1_hsdivout5_clk"),
496 DEV_CLK(149, 5, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
497 DEV_CLK(154, 0, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk"),
498 DEV_CLK(154, 1, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
499 DEV_CLK(154, 2, "gluelogic_hfosc0_clkout"),
500 DEV_CLK(157, 5, "osbclk0_div_out0"),
501 DEV_CLK(157, 7, "fss_mcu_0_hyperbus1p0_0_hpb_out_clk_n"),
502 DEV_CLK(157, 14, "mcu_obsclk_outmux_out0"),
503 DEV_CLK(157, 15, "mcu_obsclk_div_out0"),
504 DEV_CLK(157, 16, "gluelogic_hfosc0_clkout"),
505 DEV_CLK(157, 35, "clkout_mux_out0"),
506 DEV_CLK(157, 36, "hsdiv4_16fft_main_3_hsdivout0_clk"),
507 DEV_CLK(157, 37, "hsdiv4_16fft_main_3_hsdivout0_clk"),
508 DEV_CLK(157, 38, "osbclk0_div_out0"),
509 DEV_CLK(157, 57, "fss_mcu_0_hyperbus1p0_0_hpb_out_clk_p"),
510 DEV_CLK(157, 65, "emmcsd4ss_main_0_emmcsdss_io_clk_o"),
511 DEV_CLK(157, 69, "mcu_clkout_mux_out0"),
512 DEV_CLK(157, 70, "hsdiv4_16fft_mcu_2_hsdivout0_clk"),
513 DEV_CLK(157, 71, "hsdiv4_16fft_mcu_2_hsdivout0_clk"),
514 DEV_CLK(157, 77, "audio_refclko_mux_out1"),
515 DEV_CLK(157, 106, "hsdiv2_16fft_main_4_hsdivout2_clk"),
516 DEV_CLK(157, 110, "fss_mcu_0_ospi_0_ospi_oclk_clk"),
517 DEV_CLK(157, 114, "k3_pll_ctrl_wrap_wkup_0_sysclkout_clk"),
518 DEV_CLK(157, 123, "mshsi2c_wkup_0_porscl"),
519 DEV_CLK(157, 131, "audio_refclko_mux_out0"),
520 DEV_CLK(157, 160, "hsdiv2_16fft_main_4_hsdivout2_clk"),
521 DEV_CLK(157, 169, "board_0_mcu_i2c0_scl_out"),
522 DEV_CLK(157, 177, "k3_pll_ctrl_wrap_main_0_sysclkout_clk"),
523 DEV_CLK(157, 184, "gpmc_fclk_sel_out0"),
524 DEV_CLK(157, 187, "fss_mcu_0_ospi_0_ospi_oclk_clk"),
525 DEV_CLK(157, 192, "osbclk0_div_out0"),
526 DEV_CLK(157, 193, "hsdiv4_16fft_main_0_hsdivout0_clk"),
527 DEV_CLK(157, 194, "hsdiv4_16fft_main_1_hsdivout0_clk"),
528 DEV_CLK(157, 195, "hsdiv4_16fft_main_2_hsdivout0_clk"),
529 DEV_CLK(157, 196, "hsdiv4_16fft_main_3_hsdivout0_clk"),
530 DEV_CLK(157, 197, "hsdiv2_16fft_main_4_hsdivout0_clk"),
531 DEV_CLK(157, 205, "hsdiv0_16fft_main_12_hsdivout0_clk"),
532 DEV_CLK(157, 206, "obsclk1_mux_out0"),
533 DEV_CLK(157, 207, "hsdiv1_16fft_main_14_hsdivout0_clk"),
534 DEV_CLK(157, 220, "j7vc_wakeup_16ff_wkup_0_wkup_rcosc_12p5m_clk"),
535 DEV_CLK(157, 221, "board_0_wkup_lf_clkin_out"),
536 DEV_CLK(157, 222, "hsdiv4_16fft_main_0_hsdivout0_clk"),
537 DEV_CLK(157, 223, "board_0_hfosc1_clk_out"),
538 DEV_CLK(157, 224, "gluelogic_hfosc0_clkout"),
539 DEV_CLK(197, 0, "board_0_wkup_i2c0_scl_out"),
540 DEV_CLK(197, 1, "wkup_i2c0_mcupll_bypass_clksel_out0"),
541 DEV_CLK(197, 2, "k3_pll_ctrl_wrap_wkup_0_chip_div1_clk_clk"),
542 DEV_CLK(202, 2, "hsdiv0_16fft_main_8_hsdivout0_clk"),
543 DEV_CLK(203, 0, "hsdiv0_16fft_main_8_hsdivout0_clk"),
Bhavya Kapoore61ceab2023-05-12 15:32:53 +0530544 DEV_CLK(278, 2, "usart_programmable_clock_divider_out1"),
545 DEV_CLK(278, 3, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300546 DEV_CLK(288, 3, "postdiv2_16fft_main_1_hsdivout7_clk"),
547 DEV_CLK(288, 4, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
548 DEV_CLK(288, 6, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
549 DEV_CLK(288, 12, "usb0_refclk_sel_out0"),
550 DEV_CLK(288, 13, "gluelogic_hfosc0_clkout"),
551 DEV_CLK(288, 14, "board_0_hfosc1_clk_out"),
552 DEV_CLK(288, 15, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
553 DEV_CLK(288, 17, "k3_pll_ctrl_wrap_main_0_chip_div1_clk_clk"),
Bryan Brattlofba8e5a82023-12-07 10:52:10 -0600554 DEV_CLK(323, 0, "main_pll8_sel_extwave_out0"),
555 DEV_CLK(323, 1, "pllfracf_ssmod_16fft_main_8_foutvcop_clk"),
556 DEV_CLK(323, 2, "hsdiv0_16fft_main_8_hsdivout0_clk"),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300557};
558
559const struct ti_k3_clk_platdata j7200_clk_platdata = {
560 .clk_list = clk_list,
Bryan Brattlofba8e5a82023-12-07 10:52:10 -0600561 .clk_list_cnt = ARRAY_SIZE(clk_list),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300562 .soc_dev_clk_data = soc_dev_clk_data,
Bryan Brattlofba8e5a82023-12-07 10:52:10 -0600563 .soc_dev_clk_data_cnt = ARRAY_SIZE(soc_dev_clk_data),
Dave Gerlach6bf97552021-06-11 11:45:18 +0300564};