mach-imx6sl.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. /*
  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. #include <linux/clk-provider.h>
  10. #include <linux/irqchip.h>
  11. #include <linux/of.h>
  12. #include <linux/of_platform.h>
  13. #include <asm/mach/arch.h>
  14. #include <asm/mach/map.h>
  15. #include "common.h"
  16. static void __init imx6sl_init_machine(void)
  17. {
  18. mxc_arch_reset_init_dt();
  19. of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
  20. }
  21. static void __init imx6sl_init_irq(void)
  22. {
  23. imx_init_l2cache();
  24. imx_src_init();
  25. imx_gpc_init();
  26. irqchip_init();
  27. }
  28. static void __init imx6sl_timer_init(void)
  29. {
  30. of_clk_init(NULL);
  31. }
  32. static const char *imx6sl_dt_compat[] __initdata = {
  33. "fsl,imx6sl",
  34. NULL,
  35. };
  36. DT_MACHINE_START(IMX6SL, "Freescale i.MX6 SoloLite (Device Tree)")
  37. .map_io = debug_ll_io_init,
  38. .init_irq = imx6sl_init_irq,
  39. .init_time = imx6sl_timer_init,
  40. .init_machine = imx6sl_init_machine,
  41. .dt_compat = imx6sl_dt_compat,
  42. .restart = mxc_restart,
  43. MACHINE_END