Joachim Eastwood | 397f8c3 | 2012-10-28 18:31:09 +0000 | [diff] [blame] | 1 | /* |
Nicolas Ferre | cac0172 | 2015-01-27 16:41:55 +0100 | [diff] [blame] | 2 | * Setup code for AT91RM9200 |
Joachim Eastwood | 397f8c3 | 2012-10-28 18:31:09 +0000 | [diff] [blame] | 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 | |
Alexandre Belloni | 7735f03 | 2015-03-12 15:54:28 +0100 | [diff] [blame] | 11 | #include <linux/of.h> |
| 12 | #include <linux/of_platform.h> |
Joachim Eastwood | 397f8c3 | 2012-10-28 18:31:09 +0000 | [diff] [blame] | 13 | |
Joachim Eastwood | 397f8c3 | 2012-10-28 18:31:09 +0000 | [diff] [blame] | 14 | #include <asm/mach/arch.h> |
Alexandre Belloni | 7d7ffd7 | 2015-01-26 19:02:54 +0100 | [diff] [blame] | 15 | |
Joachim Eastwood | 397f8c3 | 2012-10-28 18:31:09 +0000 | [diff] [blame] | 16 | #include "generic.h" |
Alexandre Belloni | 7735f03 | 2015-03-12 15:54:28 +0100 | [diff] [blame] | 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 | }; |
Joachim Eastwood | 397f8c3 | 2012-10-28 18:31:09 +0000 | [diff] [blame] | 23 | |
Nicolas Ferre | ad3fc3e | 2015-01-27 18:41:33 +0100 | [diff] [blame] | 24 | static void __init at91rm9200_dt_device_init(void) |
Alexandre Belloni | 4db0ba2 | 2015-01-15 15:59:27 +0100 | [diff] [blame] | 25 | { |
Alexandre Belloni | 7735f03 | 2015-03-12 15:54:28 +0100 | [diff] [blame] | 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 | |
Kefeng Wang | 435ebcb | 2016-06-01 14:53:05 +0800 | [diff] [blame] | 33 | of_platform_default_populate(NULL, NULL, soc_dev); |
Nicolas Ferre | ea69f99 | 2015-01-23 11:47:37 +0100 | [diff] [blame] | 34 | |
Nicolas Ferre | ad3fc3e | 2015-01-27 18:41:33 +0100 | [diff] [blame] | 35 | at91rm9200_pm_init(); |
Alexandre Belloni | 4db0ba2 | 2015-01-15 15:59:27 +0100 | [diff] [blame] | 36 | } |
| 37 | |
Nicolas Pitre | 19c233b | 2015-07-27 18:27:52 -0400 | [diff] [blame] | 38 | static const char *const at91rm9200_dt_board_compat[] __initconst = { |
Joachim Eastwood | 397f8c3 | 2012-10-28 18:31:09 +0000 | [diff] [blame] | 39 | "atmel,at91rm9200", |
| 40 | NULL |
| 41 | }; |
| 42 | |
Nicolas Ferre | ad3fc3e | 2015-01-27 18:41:33 +0100 | [diff] [blame] | 43 | DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200") |
Nicolas Ferre | ad3fc3e | 2015-01-27 18:41:33 +0100 | [diff] [blame] | 44 | .init_machine = at91rm9200_dt_device_init, |
Joachim Eastwood | 397f8c3 | 2012-10-28 18:31:09 +0000 | [diff] [blame] | 45 | .dt_compat = at91rm9200_dt_board_compat, |
| 46 | MACHINE_END |