mach-imx7d.c 1016 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. /*
  2. * Copyright (C) 2015 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. #include <linux/irqchip.h>
  9. #include <linux/of_platform.h>
  10. #include <asm/mach/arch.h>
  11. #include <asm/mach/map.h>
  12. #include "common.h"
  13. static void __init imx7d_init_machine(void)
  14. {
  15. struct device *parent;
  16. parent = imx_soc_device_init();
  17. if (parent == NULL)
  18. pr_warn("failed to initialize soc device\n");
  19. of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL);
  20. imx_anatop_init();
  21. }
  22. static void __init imx7d_init_irq(void)
  23. {
  24. imx_init_revision_from_anatop();
  25. imx_src_init();
  26. irqchip_init();
  27. }
  28. static const char *const imx7d_dt_compat[] __initconst = {
  29. "fsl,imx7d",
  30. NULL,
  31. };
  32. DT_MACHINE_START(IMX7D, "Freescale i.MX7 Dual (Device Tree)")
  33. .init_irq = imx7d_init_irq,
  34. .init_machine = imx7d_init_machine,
  35. .dt_compat = imx7d_dt_compat,
  36. MACHINE_END