imx31-dt.c 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. /*
  2. * Copyright 2012 Sascha Hauer, Pengutronix
  3. *
  4. * The code contained herein is licensed under the GNU General Public
  5. * License. You may obtain a copy of the GNU General Public License
  6. * Version 2 or later at the following locations:
  7. *
  8. * http://www.opensource.org/licenses/gpl-license.html
  9. * http://www.gnu.org/copyleft/gpl.html
  10. */
  11. #include <linux/irq.h>
  12. #include <linux/of_irq.h>
  13. #include <linux/of_platform.h>
  14. #include <asm/mach/arch.h>
  15. #include <asm/mach/time.h>
  16. #include "common.h"
  17. #include "mx31.h"
  18. static const char * const imx31_dt_board_compat[] __initconst = {
  19. "fsl,imx31",
  20. NULL
  21. };
  22. static void __init imx31_dt_timer_init(void)
  23. {
  24. mx31_clocks_init_dt();
  25. }
  26. /* FIXME: replace with DT binding */
  27. static const struct resource imx31_rnga_res[] __initconst = {
  28. DEFINE_RES_MEM(MX31_RNGA_BASE_ADDR, SZ_16K),
  29. };
  30. static void __init imx31_dt_mach_init(void)
  31. {
  32. platform_device_register_simple("mxc_rnga", -1, imx31_rnga_res,
  33. ARRAY_SIZE(imx31_rnga_res));
  34. }
  35. DT_MACHINE_START(IMX31_DT, "Freescale i.MX31 (Device Tree Support)")
  36. .map_io = mx31_map_io,
  37. .init_early = imx31_init_early,
  38. .init_irq = mx31_init_irq,
  39. .init_time = imx31_dt_timer_init,
  40. .init_machine = imx31_dt_mach_init,
  41. .dt_compat = imx31_dt_board_compat,
  42. MACHINE_END