1 /* 2 * Setup code for AT91RM9200 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/of.h> 12 #include <linux/of_platform.h> 13 14 #include <asm/mach/arch.h> 15 16 #include "generic.h" 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 }; 23 24 static void __init at91rm9200_dt_device_init(void) 25 { 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); 34 35 at91rm9200_pm_init(); 36 } 37 38 static const char *const at91rm9200_dt_board_compat[] __initconst = { 39 "atmel,at91rm9200", 40 NULL 41 }; 42 43 DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200") 44 .init_machine = at91rm9200_dt_device_init, 45 .dt_compat = at91rm9200_dt_board_compat, 46 MACHINE_END 47