blob: 0d75dc54f71508fa48cf3a3096931aed8db31bce [file] [log] [blame]
Shawn Guo31a2fbf2013-05-03 11:24:47 +08001/*
2 * Copyright 2013 Freescale Semiconductor, Inc.
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 *
8 */
9
Shawn Guo53bb71d2013-05-21 09:58:51 +080010#include <linux/clk-provider.h>
Shawn Guo31a2fbf2013-05-03 11:24:47 +080011#include <linux/irqchip.h>
12#include <linux/of.h>
13#include <linux/of_platform.h>
Shawn Guo31a2fbf2013-05-03 11:24:47 +080014#include <asm/mach/arch.h>
15#include <asm/mach/map.h>
16
17#include "common.h"
18
19static void __init imx6sl_init_machine(void)
20{
21 mxc_arch_reset_init_dt();
22
23 of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
24}
25
26static void __init imx6sl_init_irq(void)
27{
Shawn Guo73dada72013-07-08 21:52:33 +080028 imx_init_l2cache();
Shawn Guo31a2fbf2013-05-03 11:24:47 +080029 imx_src_init();
30 imx_gpc_init();
31 irqchip_init();
32}
33
34static void __init imx6sl_timer_init(void)
35{
Shawn Guo53bb71d2013-05-21 09:58:51 +080036 of_clk_init(NULL);
Shawn Guo31a2fbf2013-05-03 11:24:47 +080037}
38
39static const char *imx6sl_dt_compat[] __initdata = {
40 "fsl,imx6sl",
41 NULL,
42};
43
44DT_MACHINE_START(IMX6SL, "Freescale i.MX6 SoloLite (Device Tree)")
45 .map_io = debug_ll_io_init,
46 .init_irq = imx6sl_init_irq,
47 .init_time = imx6sl_timer_init,
48 .init_machine = imx6sl_init_machine,
49 .dt_compat = imx6sl_dt_compat,
50 .restart = mxc_restart,
51MACHINE_END