at91rm9200.c 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849
  1. /*
  2. * Setup code for AT91RM9200
  3. *
  4. * Copyright (C) 2011 Atmel,
  5. * 2011 Nicolas Ferre <nicolas.ferre@atmel.com>
  6. * 2012 Joachim Eastwood <manabian@gmail.com>
  7. *
  8. * Licensed under GPLv2 or later.
  9. */
  10. #include <linux/clk-provider.h>
  11. #include <linux/of.h>
  12. #include <linux/of_platform.h>
  13. #include <asm/mach/arch.h>
  14. #include <asm/system_misc.h>
  15. #include "generic.h"
  16. #include "soc.h"
  17. static const struct at91_soc rm9200_socs[] = {
  18. AT91_SOC(AT91RM9200_CIDR_MATCH, 0, "at91rm9200 BGA", "at91rm9200"),
  19. { /* sentinel */ },
  20. };
  21. static void __init at91rm9200_dt_device_init(void)
  22. {
  23. struct soc_device *soc;
  24. struct device *soc_dev = NULL;
  25. soc = at91_soc_init(rm9200_socs);
  26. if (soc != NULL)
  27. soc_dev = soc_device_to_device(soc);
  28. of_platform_populate(NULL, of_default_bus_match_table, NULL, soc_dev);
  29. arm_pm_idle = at91rm9200_idle;
  30. at91rm9200_pm_init();
  31. }
  32. static const char *at91rm9200_dt_board_compat[] __initconst = {
  33. "atmel,at91rm9200",
  34. NULL
  35. };
  36. DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200")
  37. .init_machine = at91rm9200_dt_device_init,
  38. .dt_compat = at91rm9200_dt_board_compat,
  39. MACHINE_END