diff options
-rw-r--r-- | arch/arm/mach-imx/clk-imx51-imx53.c | 29 | ||||
-rw-r--r-- | arch/arm/mach-imx/common.h | 4 | ||||
-rw-r--r-- | arch/arm/mach-imx/imx51-dt.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx53.c | 6 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx6q.c | 14 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-imx6sl.c | 7 | ||||
-rw-r--r-- | arch/arm/mach-imx/mach-vf610.c | 9 |
7 files changed, 13 insertions, 62 deletions
diff --git a/arch/arm/mach-imx/clk-imx51-imx53.c b/arch/arm/mach-imx/clk-imx51-imx53.c index 1a56a3319997..1b796db7652c 100644 --- a/arch/arm/mach-imx/clk-imx51-imx53.c +++ b/arch/arm/mach-imx/clk-imx51-imx53.c | |||
@@ -11,6 +11,7 @@ | |||
11 | #include <linux/clk.h> | 11 | #include <linux/clk.h> |
12 | #include <linux/io.h> | 12 | #include <linux/io.h> |
13 | #include <linux/clkdev.h> | 13 | #include <linux/clkdev.h> |
14 | #include <linux/clk-provider.h> | ||
14 | #include <linux/of.h> | 15 | #include <linux/of.h> |
15 | #include <linux/err.h> | 16 | #include <linux/err.h> |
16 | 17 | ||
@@ -131,8 +132,6 @@ static void __init mx5_clocks_common_init(unsigned long rate_ckil, | |||
131 | { | 132 | { |
132 | int i; | 133 | int i; |
133 | 134 | ||
134 | of_clk_init(NULL); | ||
135 | |||
136 | clk[dummy] = imx_clk_fixed("dummy", 0); | 135 | clk[dummy] = imx_clk_fixed("dummy", 0); |
137 | clk[ckil] = imx_obtain_fixed_clock("ckil", rate_ckil); | 136 | clk[ckil] = imx_obtain_fixed_clock("ckil", rate_ckil); |
138 | clk[osc] = imx_obtain_fixed_clock("osc", rate_osc); | 137 | clk[osc] = imx_obtain_fixed_clock("osc", rate_osc); |
@@ -465,12 +464,16 @@ int __init mx51_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
465 | return 0; | 464 | return 0; |
466 | } | 465 | } |
467 | 466 | ||
468 | int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | 467 | static void __init mx51_clocks_init_dt(struct device_node *np) |
469 | unsigned long rate_ckih1, unsigned long rate_ckih2) | 468 | { |
469 | mx51_clocks_init(0, 0, 0, 0); | ||
470 | } | ||
471 | CLK_OF_DECLARE(imx51_ccm, "fsl,imx51-ccm", mx51_clocks_init_dt); | ||
472 | |||
473 | static void __init mx53_clocks_init(struct device_node *np) | ||
470 | { | 474 | { |
471 | int i; | 475 | int i; |
472 | unsigned long r; | 476 | unsigned long r; |
473 | struct device_node *np; | ||
474 | 477 | ||
475 | clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX53_DPLL1_BASE); | 478 | clk[pll1_sw] = imx_clk_pllv2("pll1_sw", "osc", MX53_DPLL1_BASE); |
476 | clk[pll2_sw] = imx_clk_pllv2("pll2_sw", "osc", MX53_DPLL2_BASE); | 479 | clk[pll2_sw] = imx_clk_pllv2("pll2_sw", "osc", MX53_DPLL2_BASE); |
@@ -529,12 +532,11 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
529 | pr_err("i.MX53 clk %d: register failed with %ld\n", | 532 | pr_err("i.MX53 clk %d: register failed with %ld\n", |
530 | i, PTR_ERR(clk[i])); | 533 | i, PTR_ERR(clk[i])); |
531 | 534 | ||
532 | np = of_find_compatible_node(NULL, NULL, "fsl,imx53-ccm"); | ||
533 | clk_data.clks = clk; | 535 | clk_data.clks = clk; |
534 | clk_data.clk_num = ARRAY_SIZE(clk); | 536 | clk_data.clk_num = ARRAY_SIZE(clk); |
535 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); | 537 | of_clk_add_provider(np, of_clk_src_onecell_get, &clk_data); |
536 | 538 | ||
537 | mx5_clocks_common_init(rate_ckil, rate_osc, rate_ckih1, rate_ckih2); | 539 | mx5_clocks_common_init(0, 0, 0, 0); |
538 | 540 | ||
539 | clk_register_clkdev(clk[vpu_gate], NULL, "imx53-vpu.0"); | 541 | clk_register_clkdev(clk[vpu_gate], NULL, "imx53-vpu.0"); |
540 | clk_register_clkdev(clk[i2c3_gate], NULL, "imx21-i2c.2"); | 542 | clk_register_clkdev(clk[i2c3_gate], NULL, "imx21-i2c.2"); |
@@ -566,16 +568,5 @@ int __init mx53_clocks_init(unsigned long rate_ckil, unsigned long rate_osc, | |||
566 | 568 | ||
567 | r = clk_round_rate(clk[usboh3_per_gate], 54000000); | 569 | r = clk_round_rate(clk[usboh3_per_gate], 54000000); |
568 | clk_set_rate(clk[usboh3_per_gate], r); | 570 | clk_set_rate(clk[usboh3_per_gate], r); |
569 | |||
570 | return 0; | ||
571 | } | ||
572 | |||
573 | int __init mx51_clocks_init_dt(void) | ||
574 | { | ||
575 | return mx51_clocks_init(0, 0, 0, 0); | ||
576 | } | ||
577 | |||
578 | int __init mx53_clocks_init_dt(void) | ||
579 | { | ||
580 | return mx53_clocks_init(0, 0, 0, 0); | ||
581 | } | 571 | } |
572 | CLK_OF_DECLARE(imx53_ccm, "fsl,imx53-ccm", mx53_clocks_init); | ||
diff --git a/arch/arm/mach-imx/common.h b/arch/arm/mach-imx/common.h index 4517fd760bfc..28e8ca0871e8 100644 --- a/arch/arm/mach-imx/common.h +++ b/arch/arm/mach-imx/common.h | |||
@@ -63,13 +63,9 @@ extern int mx31_clocks_init(unsigned long fref); | |||
63 | extern int mx35_clocks_init(void); | 63 | extern int mx35_clocks_init(void); |
64 | extern int mx51_clocks_init(unsigned long ckil, unsigned long osc, | 64 | extern int mx51_clocks_init(unsigned long ckil, unsigned long osc, |
65 | unsigned long ckih1, unsigned long ckih2); | 65 | unsigned long ckih1, unsigned long ckih2); |
66 | extern int mx53_clocks_init(unsigned long ckil, unsigned long osc, | ||
67 | unsigned long ckih1, unsigned long ckih2); | ||
68 | extern int mx25_clocks_init_dt(void); | 66 | extern int mx25_clocks_init_dt(void); |
69 | extern int mx27_clocks_init_dt(void); | 67 | extern int mx27_clocks_init_dt(void); |
70 | extern int mx31_clocks_init_dt(void); | 68 | extern int mx31_clocks_init_dt(void); |
71 | extern int mx51_clocks_init_dt(void); | ||
72 | extern int mx53_clocks_init_dt(void); | ||
73 | extern struct platform_device *mxc_register_gpio(char *name, int id, | 69 | extern struct platform_device *mxc_register_gpio(char *name, int id, |
74 | resource_size_t iobase, resource_size_t iosize, int irq, int irq_high); | 70 | resource_size_t iobase, resource_size_t iosize, int irq, int irq_high); |
75 | extern void mxc_set_cpu_type(unsigned int type); | 71 | extern void mxc_set_cpu_type(unsigned int type); |
diff --git a/arch/arm/mach-imx/imx51-dt.c b/arch/arm/mach-imx/imx51-dt.c index 53e43e579dd7..bece8a65e6f0 100644 --- a/arch/arm/mach-imx/imx51-dt.c +++ b/arch/arm/mach-imx/imx51-dt.c | |||
@@ -34,17 +34,11 @@ static const char *imx51_dt_board_compat[] __initdata = { | |||
34 | NULL | 34 | NULL |
35 | }; | 35 | }; |
36 | 36 | ||
37 | static void __init imx51_timer_init(void) | ||
38 | { | ||
39 | mx51_clocks_init_dt(); | ||
40 | } | ||
41 | |||
42 | DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)") | 37 | DT_MACHINE_START(IMX51_DT, "Freescale i.MX51 (Device Tree Support)") |
43 | .map_io = mx51_map_io, | 38 | .map_io = mx51_map_io, |
44 | .init_early = imx51_init_early, | 39 | .init_early = imx51_init_early, |
45 | .init_irq = mx51_init_irq, | 40 | .init_irq = mx51_init_irq, |
46 | .handle_irq = imx51_handle_irq, | 41 | .handle_irq = imx51_handle_irq, |
47 | .init_time = imx51_timer_init, | ||
48 | .init_machine = imx51_dt_init, | 42 | .init_machine = imx51_dt_init, |
49 | .init_late = imx51_init_late, | 43 | .init_late = imx51_init_late, |
50 | .dt_compat = imx51_dt_board_compat, | 44 | .dt_compat = imx51_dt_board_compat, |
diff --git a/arch/arm/mach-imx/mach-imx53.c b/arch/arm/mach-imx/mach-imx53.c index 98c58944015a..c9c4d8d96931 100644 --- a/arch/arm/mach-imx/mach-imx53.c +++ b/arch/arm/mach-imx/mach-imx53.c | |||
@@ -36,17 +36,11 @@ static const char *imx53_dt_board_compat[] __initdata = { | |||
36 | NULL | 36 | NULL |
37 | }; | 37 | }; |
38 | 38 | ||
39 | static void __init imx53_timer_init(void) | ||
40 | { | ||
41 | mx53_clocks_init_dt(); | ||
42 | } | ||
43 | |||
44 | DT_MACHINE_START(IMX53_DT, "Freescale i.MX53 (Device Tree Support)") | 39 | DT_MACHINE_START(IMX53_DT, "Freescale i.MX53 (Device Tree Support)") |
45 | .map_io = mx53_map_io, | 40 | .map_io = mx53_map_io, |
46 | .init_early = imx53_init_early, | 41 | .init_early = imx53_init_early, |
47 | .init_irq = mx53_init_irq, | 42 | .init_irq = mx53_init_irq, |
48 | .handle_irq = imx53_handle_irq, | 43 | .handle_irq = imx53_handle_irq, |
49 | .init_time = imx53_timer_init, | ||
50 | .init_machine = imx53_dt_init, | 44 | .init_machine = imx53_dt_init, |
51 | .init_late = imx53_init_late, | 45 | .init_late = imx53_init_late, |
52 | .dt_compat = imx53_dt_board_compat, | 46 | .dt_compat = imx53_dt_board_compat, |
diff --git a/arch/arm/mach-imx/mach-imx6q.c b/arch/arm/mach-imx/mach-imx6q.c index 85a1b51346c8..47ebc36636a7 100644 --- a/arch/arm/mach-imx/mach-imx6q.c +++ b/arch/arm/mach-imx/mach-imx6q.c | |||
@@ -11,9 +11,7 @@ | |||
11 | */ | 11 | */ |
12 | 12 | ||
13 | #include <linux/clk.h> | 13 | #include <linux/clk.h> |
14 | #include <linux/clk-provider.h> | ||
15 | #include <linux/clkdev.h> | 14 | #include <linux/clkdev.h> |
16 | #include <linux/clocksource.h> | ||
17 | #include <linux/cpu.h> | 15 | #include <linux/cpu.h> |
18 | #include <linux/delay.h> | 16 | #include <linux/delay.h> |
19 | #include <linux/export.h> | 17 | #include <linux/export.h> |
@@ -192,6 +190,9 @@ static void __init imx6q_1588_init(void) | |||
192 | 190 | ||
193 | static void __init imx6q_init_machine(void) | 191 | static void __init imx6q_init_machine(void) |
194 | { | 192 | { |
193 | imx_print_silicon_rev(cpu_is_imx6dl() ? "i.MX6DL" : "i.MX6Q", | ||
194 | imx6q_revision()); | ||
195 | |||
195 | imx6q_enet_phy_init(); | 196 | imx6q_enet_phy_init(); |
196 | 197 | ||
197 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); | 198 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
@@ -288,14 +289,6 @@ static void __init imx6q_init_irq(void) | |||
288 | irqchip_init(); | 289 | irqchip_init(); |
289 | } | 290 | } |
290 | 291 | ||
291 | static void __init imx6q_timer_init(void) | ||
292 | { | ||
293 | of_clk_init(NULL); | ||
294 | clocksource_of_init(); | ||
295 | imx_print_silicon_rev(cpu_is_imx6dl() ? "i.MX6DL" : "i.MX6Q", | ||
296 | imx6q_revision()); | ||
297 | } | ||
298 | |||
299 | static const char *imx6q_dt_compat[] __initdata = { | 292 | static const char *imx6q_dt_compat[] __initdata = { |
300 | "fsl,imx6dl", | 293 | "fsl,imx6dl", |
301 | "fsl,imx6q", | 294 | "fsl,imx6q", |
@@ -306,7 +299,6 @@ DT_MACHINE_START(IMX6Q, "Freescale i.MX6 Quad/DualLite (Device Tree)") | |||
306 | .smp = smp_ops(imx_smp_ops), | 299 | .smp = smp_ops(imx_smp_ops), |
307 | .map_io = imx6q_map_io, | 300 | .map_io = imx6q_map_io, |
308 | .init_irq = imx6q_init_irq, | 301 | .init_irq = imx6q_init_irq, |
309 | .init_time = imx6q_timer_init, | ||
310 | .init_machine = imx6q_init_machine, | 302 | .init_machine = imx6q_init_machine, |
311 | .init_late = imx6q_init_late, | 303 | .init_late = imx6q_init_late, |
312 | .dt_compat = imx6q_dt_compat, | 304 | .dt_compat = imx6q_dt_compat, |
diff --git a/arch/arm/mach-imx/mach-imx6sl.c b/arch/arm/mach-imx/mach-imx6sl.c index 0d75dc54f715..c70bd7c64974 100644 --- a/arch/arm/mach-imx/mach-imx6sl.c +++ b/arch/arm/mach-imx/mach-imx6sl.c | |||
@@ -7,7 +7,6 @@ | |||
7 | * | 7 | * |
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <linux/clk-provider.h> | ||
11 | #include <linux/irqchip.h> | 10 | #include <linux/irqchip.h> |
12 | #include <linux/of.h> | 11 | #include <linux/of.h> |
13 | #include <linux/of_platform.h> | 12 | #include <linux/of_platform.h> |
@@ -31,11 +30,6 @@ static void __init imx6sl_init_irq(void) | |||
31 | irqchip_init(); | 30 | irqchip_init(); |
32 | } | 31 | } |
33 | 32 | ||
34 | static void __init imx6sl_timer_init(void) | ||
35 | { | ||
36 | of_clk_init(NULL); | ||
37 | } | ||
38 | |||
39 | static const char *imx6sl_dt_compat[] __initdata = { | 33 | static const char *imx6sl_dt_compat[] __initdata = { |
40 | "fsl,imx6sl", | 34 | "fsl,imx6sl", |
41 | NULL, | 35 | NULL, |
@@ -44,7 +38,6 @@ static const char *imx6sl_dt_compat[] __initdata = { | |||
44 | DT_MACHINE_START(IMX6SL, "Freescale i.MX6 SoloLite (Device Tree)") | 38 | DT_MACHINE_START(IMX6SL, "Freescale i.MX6 SoloLite (Device Tree)") |
45 | .map_io = debug_ll_io_init, | 39 | .map_io = debug_ll_io_init, |
46 | .init_irq = imx6sl_init_irq, | 40 | .init_irq = imx6sl_init_irq, |
47 | .init_time = imx6sl_timer_init, | ||
48 | .init_machine = imx6sl_init_machine, | 41 | .init_machine = imx6sl_init_machine, |
49 | .dt_compat = imx6sl_dt_compat, | 42 | .dt_compat = imx6sl_dt_compat, |
50 | .restart = mxc_restart, | 43 | .restart = mxc_restart, |
diff --git a/arch/arm/mach-imx/mach-vf610.c b/arch/arm/mach-imx/mach-vf610.c index 816991deb9b8..af0cb8a9dc48 100644 --- a/arch/arm/mach-imx/mach-vf610.c +++ b/arch/arm/mach-imx/mach-vf610.c | |||
@@ -8,9 +8,7 @@ | |||
8 | */ | 8 | */ |
9 | 9 | ||
10 | #include <linux/of_platform.h> | 10 | #include <linux/of_platform.h> |
11 | #include <linux/clocksource.h> | ||
12 | #include <linux/irqchip.h> | 11 | #include <linux/irqchip.h> |
13 | #include <linux/clk-provider.h> | ||
14 | #include <asm/mach/arch.h> | 12 | #include <asm/mach/arch.h> |
15 | #include <asm/hardware/cache-l2x0.h> | 13 | #include <asm/hardware/cache-l2x0.h> |
16 | 14 | ||
@@ -28,12 +26,6 @@ static void __init vf610_init_irq(void) | |||
28 | irqchip_init(); | 26 | irqchip_init(); |
29 | } | 27 | } |
30 | 28 | ||
31 | static void __init vf610_init_time(void) | ||
32 | { | ||
33 | of_clk_init(NULL); | ||
34 | clocksource_of_init(); | ||
35 | } | ||
36 | |||
37 | static const char *vf610_dt_compat[] __initdata = { | 29 | static const char *vf610_dt_compat[] __initdata = { |
38 | "fsl,vf610", | 30 | "fsl,vf610", |
39 | NULL, | 31 | NULL, |
@@ -41,7 +33,6 @@ static const char *vf610_dt_compat[] __initdata = { | |||
41 | 33 | ||
42 | DT_MACHINE_START(VYBRID_VF610, "Freescale Vybrid VF610 (Device Tree)") | 34 | DT_MACHINE_START(VYBRID_VF610, "Freescale Vybrid VF610 (Device Tree)") |
43 | .init_irq = vf610_init_irq, | 35 | .init_irq = vf610_init_irq, |
44 | .init_time = vf610_init_time, | ||
45 | .init_machine = vf610_init_machine, | 36 | .init_machine = vf610_init_machine, |
46 | .dt_compat = vf610_dt_compat, | 37 | .dt_compat = vf610_dt_compat, |
47 | .restart = mxc_restart, | 38 | .restart = mxc_restart, |