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