Commit | Line | Data |
---|---|---|
397f8c3c JE |
1 | /* |
2 | * Setup code for AT91RM9200 Evaluation Kits with Device Tree support | |
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 | ||
11 | #include <linux/types.h> | |
12 | #include <linux/init.h> | |
13 | #include <linux/module.h> | |
14 | #include <linux/gpio.h> | |
15 | #include <linux/of.h> | |
16 | #include <linux/of_irq.h> | |
4db0ba22 | 17 | #include <linux/of_platform.h> |
04ffc960 | 18 | #include <linux/clk-provider.h> |
397f8c3c | 19 | |
397f8c3c JE |
20 | #include <asm/setup.h> |
21 | #include <asm/irq.h> | |
22 | #include <asm/mach/arch.h> | |
23 | #include <asm/mach/map.h> | |
24 | #include <asm/mach/irq.h> | |
25 | ||
26 | #include "generic.h" | |
27 | ||
04ffc960 AB |
28 | static void __init at91rm9200_dt_timer_init(void) |
29 | { | |
04ffc960 | 30 | of_clk_init(NULL); |
04ffc960 AB |
31 | at91rm9200_timer_init(); |
32 | } | |
33 | ||
4db0ba22 AB |
34 | static void __init rm9200_dt_device_init(void) |
35 | { | |
4db0ba22 | 36 | of_platform_populate(NULL, of_default_bus_match_table, NULL, NULL); |
ea69f998 NF |
37 | |
38 | at91_rm9200_pm_init(); | |
4db0ba22 AB |
39 | } |
40 | ||
41 | ||
42 | ||
37e9c4d9 | 43 | static const char *at91rm9200_dt_board_compat[] __initconst = { |
397f8c3c JE |
44 | "atmel,at91rm9200", |
45 | NULL | |
46 | }; | |
47 | ||
48 | DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200 (Device Tree)") | |
04ffc960 | 49 | .init_time = at91rm9200_dt_timer_init, |
397f8c3c | 50 | .map_io = at91_map_io, |
427accd3 | 51 | .init_early = at91_dt_initialize, |
4db0ba22 | 52 | .init_machine = rm9200_dt_device_init, |
397f8c3c JE |
53 | .dt_compat = at91rm9200_dt_board_compat, |
54 | MACHINE_END |