at91rm9200.c 1.0 KB

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