aboutsummaryrefslogtreecommitdiffstats
path: root/arch/arm/mach-socfpga/socfpga.c
diff options
context:
space:
mode:
authorSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2013-09-04 07:35:50 -0400
committerSebastian Hesselbarth <sebastian.hesselbarth@gmail.com>2013-09-29 15:07:14 -0400
commit8e7b25f1aa9accb8e4c80d0c019d769c979f2ec6 (patch)
treeb689bd2c28e0946662bf1964486f5ad830f94323 /arch/arm/mach-socfpga/socfpga.c
parent27966ffe43d412483f0823b15b8c035db04969c7 (diff)
ARM: socfgpa: prepare for arch-wide .init_time callback
Current socfpga board init calls of_clk_init() from .machine_init. To allow consolidation of DT driven .time_init, move of_clock_init() to a temporary .time_init that will be removed when arch-wide callback is available. Signed-off-by: Sebastian Hesselbarth <sebastian.hesselbarth@gmail.com> Acked-by: Dinh Nguyen <dinguyen@altera.com>
Diffstat (limited to 'arch/arm/mach-socfpga/socfpga.c')
-rw-r--r--arch/arm/mach-socfpga/socfpga.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/arch/arm/mach-socfpga/socfpga.c b/arch/arm/mach-socfpga/socfpga.c
index bfce9641e32f..6df7bb9fe64a 100644
--- a/arch/arm/mach-socfpga/socfpga.c
+++ b/arch/arm/mach-socfpga/socfpga.c
@@ -15,6 +15,7 @@
15 * along with this program. If not, see <http://www.gnu.org/licenses/>. 15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
16 */ 16 */
17#include <linux/clk-provider.h> 17#include <linux/clk-provider.h>
18#include <linux/clocksource.h>
18#include <linux/irqchip.h> 19#include <linux/irqchip.h>
19#include <linux/of_address.h> 20#include <linux/of_address.h>
20#include <linux/of_irq.h> 21#include <linux/of_irq.h>
@@ -90,6 +91,12 @@ static void __init socfpga_init_irq(void)
90 socfpga_sysmgr_init(); 91 socfpga_sysmgr_init();
91} 92}
92 93
94static void __init socfpga_init_time(void)
95{
96 of_clk_init(NULL);
97 clocksource_of_init();
98}
99
93static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd) 100static void socfpga_cyclone5_restart(enum reboot_mode mode, const char *cmd)
94{ 101{
95 u32 temp; 102 u32 temp;
@@ -107,7 +114,6 @@ static void __init socfpga_cyclone5_init(void)
107{ 114{
108 l2x0_of_init(0, ~0UL); 115 l2x0_of_init(0, ~0UL);
109 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); 116 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
110 of_clk_init(NULL);
111 socfpga_init_clocks(); 117 socfpga_init_clocks();
112} 118}
113 119
@@ -120,6 +126,7 @@ DT_MACHINE_START(SOCFPGA, "Altera SOCFPGA")
120 .smp = smp_ops(socfpga_smp_ops), 126 .smp = smp_ops(socfpga_smp_ops),
121 .map_io = socfpga_map_io, 127 .map_io = socfpga_map_io,
122 .init_irq = socfpga_init_irq, 128 .init_irq = socfpga_init_irq,
129 .init_time = socfpga_init_time,
123 .init_machine = socfpga_cyclone5_init, 130 .init_machine = socfpga_cyclone5_init,
124 .restart = socfpga_cyclone5_restart, 131 .restart = socfpga_cyclone5_restart,
125 .dt_compat = altera_dt_match, 132 .dt_compat = altera_dt_match,