]>
Commit | Line | Data |
---|---|---|
397f8c3c | 1 | /* |
cac01723 | 2 | * Setup code for AT91RM9200 |
397f8c3c JE |
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 | ||
397f8c3c | 11 | #include <linux/of.h> |
4db0ba22 | 12 | #include <linux/of_platform.h> |
397f8c3c | 13 | |
397f8c3c | 14 | #include <asm/mach/arch.h> |
7d7ffd7b AB |
15 | #include <asm/system_misc.h> |
16 | ||
397f8c3c | 17 | #include "generic.h" |
7735f038 AB |
18 | #include "soc.h" |
19 | ||
20 | static const struct at91_soc rm9200_socs[] = { | |
21 | AT91_SOC(AT91RM9200_CIDR_MATCH, 0, "at91rm9200 BGA", "at91rm9200"), | |
22 | { /* sentinel */ }, | |
23 | }; | |
397f8c3c | 24 | |
ad3fc3e3 | 25 | static void __init at91rm9200_dt_device_init(void) |
4db0ba22 | 26 | { |
7735f038 AB |
27 | struct soc_device *soc; |
28 | struct device *soc_dev = NULL; | |
29 | ||
30 | soc = at91_soc_init(rm9200_socs); | |
31 | if (soc != NULL) | |
32 | soc_dev = soc_device_to_device(soc); | |
33 | ||
34 | of_platform_populate(NULL, of_default_bus_match_table, NULL, soc_dev); | |
ea69f998 | 35 | |
7d7ffd7b | 36 | arm_pm_idle = at91rm9200_idle; |
ad3fc3e3 | 37 | at91rm9200_pm_init(); |
4db0ba22 AB |
38 | } |
39 | ||
19c233b7 | 40 | static const char *const at91rm9200_dt_board_compat[] __initconst = { |
397f8c3c JE |
41 | "atmel,at91rm9200", |
42 | NULL | |
43 | }; | |
44 | ||
ad3fc3e3 | 45 | DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200") |
ad3fc3e3 | 46 | .init_machine = at91rm9200_dt_device_init, |
397f8c3c JE |
47 | .dt_compat = at91rm9200_dt_board_compat, |
48 | MACHINE_END |