aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-shmobile
diff options
context:
space:
mode:
Diffstat (limited to 'arch/arm/mach-shmobile')
-rw-r--r--arch/arm/mach-shmobile/board-ag5evm.c2
-rw-r--r--arch/arm/mach-shmobile/board-ap4evb.c2
-rw-r--r--arch/arm/mach-shmobile/board-armadillo800eva.c5
-rw-r--r--arch/arm/mach-shmobile/board-bonito.c5
-rw-r--r--arch/arm/mach-shmobile/board-kota2.c2
-rw-r--r--arch/arm/mach-shmobile/board-kzm9d.c2
-rw-r--r--arch/arm/mach-shmobile/board-kzm9g.c2
-rw-r--r--arch/arm/mach-shmobile/board-mackerel.c2
-rw-r--r--arch/arm/mach-shmobile/board-marzen.c2
-rw-r--r--arch/arm/mach-shmobile/include/mach/common.h5
-rw-r--r--arch/arm/mach-shmobile/setup-emev2.c2
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7740.c11
-rw-r--r--arch/arm/mach-shmobile/setup-r8a7779.c5
-rw-r--r--arch/arm/mach-shmobile/setup-sh7372.c7
-rw-r--r--arch/arm/mach-shmobile/setup-sh73a0.c5
-rw-r--r--arch/arm/mach-shmobile/timer.c6
16 files changed, 20 insertions, 45 deletions
diff --git a/arch/arm/mach-shmobile/board-ag5evm.c b/arch/arm/mach-shmobile/board-ag5evm.c
index 032d10817e79..d81a66362b7c 100644
--- a/arch/arm/mach-shmobile/board-ag5evm.c
+++ b/arch/arm/mach-shmobile/board-ag5evm.c
@@ -671,5 +671,5 @@ MACHINE_START(AG5EVM, "ag5evm")
671 .handle_irq = gic_handle_irq, 671 .handle_irq = gic_handle_irq,
672 .init_machine = ag5evm_init, 672 .init_machine = ag5evm_init,
673 .init_late = shmobile_init_late, 673 .init_late = shmobile_init_late,
674 .timer = &shmobile_timer, 674 .init_time = sh73a0_earlytimer_init,
675MACHINE_END 675MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-ap4evb.c b/arch/arm/mach-shmobile/board-ap4evb.c
index 99ef190d0909..c1d4ab630214 100644
--- a/arch/arm/mach-shmobile/board-ap4evb.c
+++ b/arch/arm/mach-shmobile/board-ap4evb.c
@@ -1350,5 +1350,5 @@ MACHINE_START(AP4EVB, "ap4evb")
1350 .handle_irq = shmobile_handle_irq_intc, 1350 .handle_irq = shmobile_handle_irq_intc,
1351 .init_machine = ap4evb_init, 1351 .init_machine = ap4evb_init,
1352 .init_late = sh7372_pm_init_late, 1352 .init_late = sh7372_pm_init_late,
1353 .timer = &shmobile_timer, 1353 .init_time = sh7372_earlytimer_init,
1354MACHINE_END 1354MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-armadillo800eva.c b/arch/arm/mach-shmobile/board-armadillo800eva.c
index 5353adf6b828..e7912447ad50 100644
--- a/arch/arm/mach-shmobile/board-armadillo800eva.c
+++ b/arch/arm/mach-shmobile/board-armadillo800eva.c
@@ -1192,9 +1192,6 @@ static void __init eva_earlytimer_init(void)
1192static void __init eva_add_early_devices(void) 1192static void __init eva_add_early_devices(void)
1193{ 1193{
1194 r8a7740_add_early_devices(); 1194 r8a7740_add_early_devices();
1195
1196 /* override timer setup with board-specific code */
1197 shmobile_timer.init = eva_earlytimer_init;
1198} 1195}
1199 1196
1200#define RESCNT2 IOMEM(0xe6188020) 1197#define RESCNT2 IOMEM(0xe6188020)
@@ -1216,7 +1213,7 @@ DT_MACHINE_START(ARMADILLO800EVA_DT, "armadillo800eva")
1216 .handle_irq = shmobile_handle_irq_intc, 1213 .handle_irq = shmobile_handle_irq_intc,
1217 .init_machine = eva_init, 1214 .init_machine = eva_init,
1218 .init_late = shmobile_init_late, 1215 .init_late = shmobile_init_late,
1219 .timer = &shmobile_timer, 1216 .init_time = eva_earlytimer_init,
1220 .dt_compat = eva_boards_compat_dt, 1217 .dt_compat = eva_boards_compat_dt,
1221 .restart = eva_restart, 1218 .restart = eva_restart,
1222MACHINE_END 1219MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-bonito.c b/arch/arm/mach-shmobile/board-bonito.c
index cb8c994e1430..331b7ce4edd8 100644
--- a/arch/arm/mach-shmobile/board-bonito.c
+++ b/arch/arm/mach-shmobile/board-bonito.c
@@ -499,9 +499,6 @@ static void __init bonito_earlytimer_init(void)
499static void __init bonito_add_early_devices(void) 499static void __init bonito_add_early_devices(void)
500{ 500{
501 r8a7740_add_early_devices(); 501 r8a7740_add_early_devices();
502
503 /* override timer setup with board-specific code */
504 shmobile_timer.init = bonito_earlytimer_init;
505} 502}
506 503
507MACHINE_START(BONITO, "bonito") 504MACHINE_START(BONITO, "bonito")
@@ -511,5 +508,5 @@ MACHINE_START(BONITO, "bonito")
511 .handle_irq = shmobile_handle_irq_intc, 508 .handle_irq = shmobile_handle_irq_intc,
512 .init_machine = bonito_init, 509 .init_machine = bonito_init,
513 .init_late = shmobile_init_late, 510 .init_late = shmobile_init_late,
514 .timer = &shmobile_timer, 511 .init_time = bonito_earlytimer_init,
515MACHINE_END 512MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-kota2.c b/arch/arm/mach-shmobile/board-kota2.c
index bf88f9a8b7ac..2f24994f2ef8 100644
--- a/arch/arm/mach-shmobile/board-kota2.c
+++ b/arch/arm/mach-shmobile/board-kota2.c
@@ -553,5 +553,5 @@ MACHINE_START(KOTA2, "kota2")
553 .handle_irq = gic_handle_irq, 553 .handle_irq = gic_handle_irq,
554 .init_machine = kota2_init, 554 .init_machine = kota2_init,
555 .init_late = shmobile_init_late, 555 .init_late = shmobile_init_late,
556 .timer = &shmobile_timer, 556 .init_time = sh73a0_earlytimer_init,
557MACHINE_END 557MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-kzm9d.c b/arch/arm/mach-shmobile/board-kzm9d.c
index b52bc0d1273f..59be864f5992 100644
--- a/arch/arm/mach-shmobile/board-kzm9d.c
+++ b/arch/arm/mach-shmobile/board-kzm9d.c
@@ -92,6 +92,6 @@ DT_MACHINE_START(KZM9D_DT, "kzm9d")
92 .handle_irq = gic_handle_irq, 92 .handle_irq = gic_handle_irq,
93 .init_machine = kzm9d_add_standard_devices, 93 .init_machine = kzm9d_add_standard_devices,
94 .init_late = shmobile_init_late, 94 .init_late = shmobile_init_late,
95 .timer = &shmobile_timer, 95 .init_time = shmobile_timer_init,
96 .dt_compat = kzm9d_boards_compat_dt, 96 .dt_compat = kzm9d_boards_compat_dt,
97MACHINE_END 97MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-kzm9g.c b/arch/arm/mach-shmobile/board-kzm9g.c
index c02448d6847f..adb23ef51121 100644
--- a/arch/arm/mach-shmobile/board-kzm9g.c
+++ b/arch/arm/mach-shmobile/board-kzm9g.c
@@ -795,7 +795,7 @@ DT_MACHINE_START(KZM9G_DT, "kzm9g")
795 .handle_irq = gic_handle_irq, 795 .handle_irq = gic_handle_irq,
796 .init_machine = kzm_init, 796 .init_machine = kzm_init,
797 .init_late = shmobile_init_late, 797 .init_late = shmobile_init_late,
798 .timer = &shmobile_timer, 798 .init_time = sh73a0_earlytimer_init,
799 .restart = kzm9g_restart, 799 .restart = kzm9g_restart,
800 .dt_compat = kzm9g_boards_compat_dt, 800 .dt_compat = kzm9g_boards_compat_dt,
801MACHINE_END 801MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-mackerel.c b/arch/arm/mach-shmobile/board-mackerel.c
index 2fed62f66045..fe4917f2c1a2 100644
--- a/arch/arm/mach-shmobile/board-mackerel.c
+++ b/arch/arm/mach-shmobile/board-mackerel.c
@@ -1593,6 +1593,6 @@ DT_MACHINE_START(MACKEREL_DT, "mackerel")
1593 .handle_irq = shmobile_handle_irq_intc, 1593 .handle_irq = shmobile_handle_irq_intc,
1594 .init_machine = mackerel_init, 1594 .init_machine = mackerel_init,
1595 .init_late = sh7372_pm_init_late, 1595 .init_late = sh7372_pm_init_late,
1596 .timer = &shmobile_timer, 1596 .init_time = sh7372_earlytimer_init,
1597 .dt_compat = mackerel_boards_compat_dt, 1597 .dt_compat = mackerel_boards_compat_dt,
1598MACHINE_END 1598MACHINE_END
diff --git a/arch/arm/mach-shmobile/board-marzen.c b/arch/arm/mach-shmobile/board-marzen.c
index 449f9289567d..ca45a0c50afe 100644
--- a/arch/arm/mach-shmobile/board-marzen.c
+++ b/arch/arm/mach-shmobile/board-marzen.c
@@ -385,5 +385,5 @@ MACHINE_START(MARZEN, "marzen")
385 .handle_irq = gic_handle_irq, 385 .handle_irq = gic_handle_irq,
386 .init_machine = marzen_init, 386 .init_machine = marzen_init,
387 .init_late = marzen_init_late, 387 .init_late = marzen_init_late,
388 .timer = &shmobile_timer, 388 .init_time = r8a7779_earlytimer_init,
389MACHINE_END 389MACHINE_END
diff --git a/arch/arm/mach-shmobile/include/mach/common.h b/arch/arm/mach-shmobile/include/mach/common.h
index dfeca79e9e96..a57439eec11a 100644
--- a/arch/arm/mach-shmobile/include/mach/common.h
+++ b/arch/arm/mach-shmobile/include/mach/common.h
@@ -2,7 +2,7 @@
2#define __ARCH_MACH_COMMON_H 2#define __ARCH_MACH_COMMON_H
3 3
4extern void shmobile_earlytimer_init(void); 4extern void shmobile_earlytimer_init(void);
5extern struct sys_timer shmobile_timer; 5extern void shmobile_timer_init(void);
6extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz, 6extern void shmobile_setup_delay(unsigned int max_cpu_core_mhz,
7 unsigned int mult, unsigned int div); 7 unsigned int mult, unsigned int div);
8struct twd_local_timer; 8struct twd_local_timer;
@@ -20,6 +20,7 @@ extern void shmobile_cpuidle_set_driver(struct cpuidle_driver *drv);
20 20
21extern void sh7372_init_irq(void); 21extern void sh7372_init_irq(void);
22extern void sh7372_map_io(void); 22extern void sh7372_map_io(void);
23extern void sh7372_earlytimer_init(void);
23extern void sh7372_add_early_devices(void); 24extern void sh7372_add_early_devices(void);
24extern void sh7372_add_standard_devices(void); 25extern void sh7372_add_standard_devices(void);
25extern void sh7372_clock_init(void); 26extern void sh7372_clock_init(void);
@@ -32,6 +33,7 @@ extern struct clk sh7372_extal2_clk;
32 33
33extern void sh73a0_init_irq(void); 34extern void sh73a0_init_irq(void);
34extern void sh73a0_map_io(void); 35extern void sh73a0_map_io(void);
36extern void sh73a0_earlytimer_init(void);
35extern void sh73a0_add_early_devices(void); 37extern void sh73a0_add_early_devices(void);
36extern void sh73a0_add_standard_devices(void); 38extern void sh73a0_add_standard_devices(void);
37extern void sh73a0_clock_init(void); 39extern void sh73a0_clock_init(void);
@@ -50,6 +52,7 @@ extern void r8a7740_pinmux_init(void);
50 52
51extern void r8a7779_init_irq(void); 53extern void r8a7779_init_irq(void);
52extern void r8a7779_map_io(void); 54extern void r8a7779_map_io(void);
55extern void r8a7779_earlytimer_init(void);
53extern void r8a7779_add_early_devices(void); 56extern void r8a7779_add_early_devices(void);
54extern void r8a7779_add_standard_devices(void); 57extern void r8a7779_add_standard_devices(void);
55extern void r8a7779_clock_init(void); 58extern void r8a7779_clock_init(void);
diff --git a/arch/arm/mach-shmobile/setup-emev2.c b/arch/arm/mach-shmobile/setup-emev2.c
index a47beeb18283..ea61cb657ac3 100644
--- a/arch/arm/mach-shmobile/setup-emev2.c
+++ b/arch/arm/mach-shmobile/setup-emev2.c
@@ -467,7 +467,7 @@ DT_MACHINE_START(EMEV2_DT, "Generic Emma Mobile EV2 (Flattened Device Tree)")
467 .init_irq = emev2_init_irq_dt, 467 .init_irq = emev2_init_irq_dt,
468 .handle_irq = gic_handle_irq, 468 .handle_irq = gic_handle_irq,
469 .init_machine = emev2_add_standard_devices_dt, 469 .init_machine = emev2_add_standard_devices_dt,
470 .timer = &shmobile_timer, 470 .init_time = shmobile_timer_init,
471 .dt_compat = emev2_boards_compat_dt, 471 .dt_compat = emev2_boards_compat_dt,
472MACHINE_END 472MACHINE_END
473 473
diff --git a/arch/arm/mach-shmobile/setup-r8a7740.c b/arch/arm/mach-shmobile/setup-r8a7740.c
index 095222469d03..03c69f9979aa 100644
--- a/arch/arm/mach-shmobile/setup-r8a7740.c
+++ b/arch/arm/mach-shmobile/setup-r8a7740.c
@@ -705,12 +705,6 @@ void __init r8a7740_add_standard_devices(void)
705 rmobile_add_device_to_domain("A3SP", &i2c1_device); 705 rmobile_add_device_to_domain("A3SP", &i2c1_device);
706} 706}
707 707
708static void __init r8a7740_earlytimer_init(void)
709{
710 r8a7740_clock_init(0);
711 shmobile_earlytimer_init();
712}
713
714void __init r8a7740_add_early_devices(void) 708void __init r8a7740_add_early_devices(void)
715{ 709{
716 early_platform_add_devices(r8a7740_early_devices, 710 early_platform_add_devices(r8a7740_early_devices,
@@ -718,9 +712,6 @@ void __init r8a7740_add_early_devices(void)
718 712
719 /* setup early console here as well */ 713 /* setup early console here as well */
720 shmobile_setup_console(); 714 shmobile_setup_console();
721
722 /* override timer setup with soc-specific code */
723 shmobile_timer.init = r8a7740_earlytimer_init;
724} 715}
725 716
726#ifdef CONFIG_USE_OF 717#ifdef CONFIG_USE_OF
@@ -763,7 +754,7 @@ DT_MACHINE_START(R8A7740_DT, "Generic R8A7740 (Flattened Device Tree)")
763 .init_irq = r8a7740_init_irq, 754 .init_irq = r8a7740_init_irq,
764 .handle_irq = shmobile_handle_irq_intc, 755 .handle_irq = shmobile_handle_irq_intc,
765 .init_machine = r8a7740_add_standard_devices_dt, 756 .init_machine = r8a7740_add_standard_devices_dt,
766 .timer = &shmobile_timer, 757 .init_time = shmobile_timer_init,
767 .dt_compat = r8a7740_boards_compat_dt, 758 .dt_compat = r8a7740_boards_compat_dt,
768MACHINE_END 759MACHINE_END
769 760
diff --git a/arch/arm/mach-shmobile/setup-r8a7779.c b/arch/arm/mach-shmobile/setup-r8a7779.c
index 7a1ad4f38539..a181ced09e45 100644
--- a/arch/arm/mach-shmobile/setup-r8a7779.c
+++ b/arch/arm/mach-shmobile/setup-r8a7779.c
@@ -339,7 +339,7 @@ void __init r8a7779_add_standard_devices(void)
339/* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */ 339/* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */
340void __init __weak r8a7779_register_twd(void) { } 340void __init __weak r8a7779_register_twd(void) { }
341 341
342static void __init r8a7779_earlytimer_init(void) 342void __init r8a7779_earlytimer_init(void)
343{ 343{
344 r8a7779_clock_init(); 344 r8a7779_clock_init();
345 shmobile_earlytimer_init(); 345 shmobile_earlytimer_init();
@@ -366,7 +366,4 @@ void __init r8a7779_add_early_devices(void)
366 * As a final step pass earlyprint=sh-sci.2,115200 on the kernel 366 * As a final step pass earlyprint=sh-sci.2,115200 on the kernel
367 * command line in case of the marzen board. 367 * command line in case of the marzen board.
368 */ 368 */
369
370 /* override timer setup with soc-specific code */
371 shmobile_timer.init = r8a7779_earlytimer_init;
372} 369}
diff --git a/arch/arm/mach-shmobile/setup-sh7372.c b/arch/arm/mach-shmobile/setup-sh7372.c
index c917882424a7..191ae72e21ba 100644
--- a/arch/arm/mach-shmobile/setup-sh7372.c
+++ b/arch/arm/mach-shmobile/setup-sh7372.c
@@ -1054,7 +1054,7 @@ void __init sh7372_add_standard_devices(void)
1054 ARRAY_SIZE(domain_devices)); 1054 ARRAY_SIZE(domain_devices));
1055} 1055}
1056 1056
1057static void __init sh7372_earlytimer_init(void) 1057void __init sh7372_earlytimer_init(void)
1058{ 1058{
1059 sh7372_clock_init(); 1059 sh7372_clock_init();
1060 shmobile_earlytimer_init(); 1060 shmobile_earlytimer_init();
@@ -1067,9 +1067,6 @@ void __init sh7372_add_early_devices(void)
1067 1067
1068 /* setup early console here as well */ 1068 /* setup early console here as well */
1069 shmobile_setup_console(); 1069 shmobile_setup_console();
1070
1071 /* override timer setup with soc-specific code */
1072 shmobile_timer.init = sh7372_earlytimer_init;
1073} 1070}
1074 1071
1075#ifdef CONFIG_USE_OF 1072#ifdef CONFIG_USE_OF
@@ -1113,7 +1110,7 @@ DT_MACHINE_START(SH7372_DT, "Generic SH7372 (Flattened Device Tree)")
1113 .init_irq = sh7372_init_irq, 1110 .init_irq = sh7372_init_irq,
1114 .handle_irq = shmobile_handle_irq_intc, 1111 .handle_irq = shmobile_handle_irq_intc,
1115 .init_machine = sh7372_add_standard_devices_dt, 1112 .init_machine = sh7372_add_standard_devices_dt,
1116 .timer = &shmobile_timer, 1113 .init_time = shmobile_timer_init,
1117 .dt_compat = sh7372_boards_compat_dt, 1114 .dt_compat = sh7372_boards_compat_dt,
1118MACHINE_END 1115MACHINE_END
1119 1116
diff --git a/arch/arm/mach-shmobile/setup-sh73a0.c b/arch/arm/mach-shmobile/setup-sh73a0.c
index db99a4ade80c..8c2d6424f470 100644
--- a/arch/arm/mach-shmobile/setup-sh73a0.c
+++ b/arch/arm/mach-shmobile/setup-sh73a0.c
@@ -796,7 +796,7 @@ void __init sh73a0_add_standard_devices(void)
796/* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */ 796/* do nothing for !CONFIG_SMP or !CONFIG_HAVE_TWD */
797void __init __weak sh73a0_register_twd(void) { } 797void __init __weak sh73a0_register_twd(void) { }
798 798
799static void __init sh73a0_earlytimer_init(void) 799void __init sh73a0_earlytimer_init(void)
800{ 800{
801 sh73a0_clock_init(); 801 sh73a0_clock_init();
802 shmobile_earlytimer_init(); 802 shmobile_earlytimer_init();
@@ -810,7 +810,4 @@ void __init sh73a0_add_early_devices(void)
810 810
811 /* setup early console here as well */ 811 /* setup early console here as well */
812 shmobile_setup_console(); 812 shmobile_setup_console();
813
814 /* override timer setup with soc-specific code */
815 shmobile_timer.init = sh73a0_earlytimer_init;
816} 813}
diff --git a/arch/arm/mach-shmobile/timer.c b/arch/arm/mach-shmobile/timer.c
index a68919727e24..fdbe54a11555 100644
--- a/arch/arm/mach-shmobile/timer.c
+++ b/arch/arm/mach-shmobile/timer.c
@@ -60,10 +60,6 @@ void __init shmobile_earlytimer_init(void)
60 late_time_init = shmobile_late_time_init; 60 late_time_init = shmobile_late_time_init;
61} 61}
62 62
63static void __init shmobile_timer_init(void) 63void __init shmobile_timer_init(void)
64{ 64{
65} 65}
66
67struct sys_timer shmobile_timer = {
68 .init = shmobile_timer_init,
69};