forked from ~ljy/RK356X_SDK_RELEASE

hc
2024-05-11 04dd17822334871b23ea2862f7798fb0e0007777
kernel/drivers/clk/imx/clk-imx35.c
....@@ -1,10 +1,6 @@
1
+// SPDX-License-Identifier: GPL-2.0-only
12 /*
23 * Copyright (C) 2012 Sascha Hauer, Pengutronix <s.hauer@pengutronix.de>
3
- *
4
- * This program is free software; you can redistribute it and/or modify
5
- * it under the terms of the GNU General Public License version 2 as
6
- * published by the Free Software Foundation.
7
- *
84 */
95 #include <linux/mm.h>
106 #include <linux/delay.h>
....@@ -85,14 +81,6 @@
8581 };
8682
8783 static struct clk *clk[clk_max];
88
-
89
-static struct clk ** const uart_clks[] __initconst = {
90
- &clk[ipg],
91
- &clk[uart1_gate],
92
- &clk[uart2_gate],
93
- &clk[uart3_gate],
94
- NULL
95
-};
9684
9785 static void __init _mx35_clocks_init(void)
9886 {
....@@ -247,77 +235,9 @@
247235 */
248236 clk_prepare_enable(clk[scc_gate]);
249237
250
- imx_register_uart_clocks(uart_clks);
238
+ imx_register_uart_clocks(4);
251239
252240 imx_print_silicon_rev("i.MX35", mx35_revision());
253
-}
254
-
255
-int __init mx35_clocks_init(void)
256
-{
257
- _mx35_clocks_init();
258
-
259
- clk_register_clkdev(clk[pata_gate], NULL, "pata_imx");
260
- clk_register_clkdev(clk[can1_gate], NULL, "flexcan.0");
261
- clk_register_clkdev(clk[can2_gate], NULL, "flexcan.1");
262
- clk_register_clkdev(clk[cspi1_gate], "per", "imx35-cspi.0");
263
- clk_register_clkdev(clk[cspi1_gate], "ipg", "imx35-cspi.0");
264
- clk_register_clkdev(clk[cspi2_gate], "per", "imx35-cspi.1");
265
- clk_register_clkdev(clk[cspi2_gate], "ipg", "imx35-cspi.1");
266
- clk_register_clkdev(clk[epit1_gate], NULL, "imx-epit.0");
267
- clk_register_clkdev(clk[epit2_gate], NULL, "imx-epit.1");
268
- clk_register_clkdev(clk[esdhc1_gate], "per", "sdhci-esdhc-imx35.0");
269
- clk_register_clkdev(clk[ipg], "ipg", "sdhci-esdhc-imx35.0");
270
- clk_register_clkdev(clk[ahb], "ahb", "sdhci-esdhc-imx35.0");
271
- clk_register_clkdev(clk[esdhc2_gate], "per", "sdhci-esdhc-imx35.1");
272
- clk_register_clkdev(clk[ipg], "ipg", "sdhci-esdhc-imx35.1");
273
- clk_register_clkdev(clk[ahb], "ahb", "sdhci-esdhc-imx35.1");
274
- clk_register_clkdev(clk[esdhc3_gate], "per", "sdhci-esdhc-imx35.2");
275
- clk_register_clkdev(clk[ipg], "ipg", "sdhci-esdhc-imx35.2");
276
- clk_register_clkdev(clk[ahb], "ahb", "sdhci-esdhc-imx35.2");
277
- /* i.mx35 has the i.mx27 type fec */
278
- clk_register_clkdev(clk[fec_gate], NULL, "imx27-fec.0");
279
- clk_register_clkdev(clk[gpt_gate], "per", "imx-gpt.0");
280
- clk_register_clkdev(clk[ipg], "ipg", "imx-gpt.0");
281
- clk_register_clkdev(clk[i2c1_gate], NULL, "imx21-i2c.0");
282
- clk_register_clkdev(clk[i2c2_gate], NULL, "imx21-i2c.1");
283
- clk_register_clkdev(clk[i2c3_gate], NULL, "imx21-i2c.2");
284
- clk_register_clkdev(clk[ipu_gate], NULL, "ipu-core");
285
- clk_register_clkdev(clk[ipu_gate], NULL, "mx3_sdc_fb");
286
- clk_register_clkdev(clk[kpp_gate], NULL, "imx-keypad");
287
- clk_register_clkdev(clk[owire_gate], NULL, "mxc_w1");
288
- clk_register_clkdev(clk[sdma_gate], NULL, "imx35-sdma");
289
- clk_register_clkdev(clk[ssi1_gate], NULL, "imx-ssi.0");
290
- clk_register_clkdev(clk[ssi2_gate], NULL, "imx-ssi.1");
291
- /* i.mx35 has the i.mx21 type uart */
292
- clk_register_clkdev(clk[uart1_gate], "per", "imx21-uart.0");
293
- clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.0");
294
- clk_register_clkdev(clk[uart2_gate], "per", "imx21-uart.1");
295
- clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.1");
296
- clk_register_clkdev(clk[uart3_gate], "per", "imx21-uart.2");
297
- clk_register_clkdev(clk[ipg], "ipg", "imx21-uart.2");
298
- /* i.mx35 has the i.mx21 type rtc */
299
- clk_register_clkdev(clk[ckil], "ref", "imx21-rtc");
300
- clk_register_clkdev(clk[rtc_gate], "ipg", "imx21-rtc");
301
- clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.0");
302
- clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.0");
303
- clk_register_clkdev(clk[usbotg_gate], "ahb", "mxc-ehci.0");
304
- clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.1");
305
- clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.1");
306
- clk_register_clkdev(clk[usbotg_gate], "ahb", "mxc-ehci.1");
307
- clk_register_clkdev(clk[usb_div], "per", "mxc-ehci.2");
308
- clk_register_clkdev(clk[ipg], "ipg", "mxc-ehci.2");
309
- clk_register_clkdev(clk[usbotg_gate], "ahb", "mxc-ehci.2");
310
- clk_register_clkdev(clk[usb_div], "per", "imx-udc-mx27");
311
- clk_register_clkdev(clk[ipg], "ipg", "imx-udc-mx27");
312
- clk_register_clkdev(clk[usbotg_gate], "ahb", "imx-udc-mx27");
313
- clk_register_clkdev(clk[wdog_gate], NULL, "imx2-wdt.0");
314
- clk_register_clkdev(clk[nfc_div], NULL, "imx25-nand.0");
315
- clk_register_clkdev(clk[csi_gate], NULL, "mx3-camera.0");
316
- clk_register_clkdev(clk[admux_gate], "audmux", NULL);
317
-
318
- mxc_timer_init(MX35_GPT1_BASE_ADDR, MX35_INT_GPT, GPT_TYPE_IMX31);
319
-
320
- return 0;
321241 }
322242
323243 static void __init mx35_clocks_init_dt(struct device_node *ccm_node)