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