at91rm9200.c 1.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748
  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/of.h>
  11. #include <linux/of_platform.h>
  12. #include <asm/mach/arch.h>
  13. #include <asm/system_misc.h>
  14. #include "generic.h"
  15. #include "soc.h"
  16. static const struct at91_soc rm9200_socs[] = {
  17. AT91_SOC(AT91RM9200_CIDR_MATCH, 0, "at91rm9200 BGA", "at91rm9200"),
  18. { /* sentinel */ },
  19. };
  20. static void __init at91rm9200_dt_device_init(void)
  21. {
  22. struct soc_device *soc;
  23. struct device *soc_dev = NULL;
  24. soc = at91_soc_init(rm9200_socs);
  25. if (soc != NULL)
  26. soc_dev = soc_device_to_device(soc);
  27. of_platform_populate(NULL, of_default_bus_match_table, NULL, soc_dev);
  28. arm_pm_idle = at91rm9200_idle;
  29. at91rm9200_pm_init();
  30. }
  31. static const char *const at91rm9200_dt_board_compat[] __initconst = {
  32. "atmel,at91rm9200",
  33. NULL
  34. };
  35. DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200")
  36. .init_machine = at91rm9200_dt_device_init,
  37. .dt_compat = at91rm9200_dt_board_compat,
  38. MACHINE_END