mirror of
https://github.com/torvalds/linux.git
synced 2024-12-26 21:02:19 +00:00
bbfc97e1b1
Use clocksource_of_init to initialize the system timer instead of relying on a custom function. Signed-off-by: Alexandre Belloni <alexandre.belloni@free-electrons.com> Acked-by: Boris Brezillon <boris.brezillon@free-electrons.com> Acked-by: Daniel Lezcano <daniel.lezcano@linaro.org> Signed-off-by: Nicolas Ferre <nicolas.ferre@atmel.com>
50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
/*
|
|
* Setup code for AT91RM9200
|
|
*
|
|
* Copyright (C) 2011 Atmel,
|
|
* 2011 Nicolas Ferre <nicolas.ferre@atmel.com>
|
|
* 2012 Joachim Eastwood <manabian@gmail.com>
|
|
*
|
|
* Licensed under GPLv2 or later.
|
|
*/
|
|
|
|
#include <linux/clk-provider.h>
|
|
#include <linux/of.h>
|
|
#include <linux/of_platform.h>
|
|
|
|
#include <asm/mach/arch.h>
|
|
#include <asm/system_misc.h>
|
|
|
|
#include "generic.h"
|
|
#include "soc.h"
|
|
|
|
static const struct at91_soc rm9200_socs[] = {
|
|
AT91_SOC(AT91RM9200_CIDR_MATCH, 0, "at91rm9200 BGA", "at91rm9200"),
|
|
{ /* sentinel */ },
|
|
};
|
|
|
|
static void __init at91rm9200_dt_device_init(void)
|
|
{
|
|
struct soc_device *soc;
|
|
struct device *soc_dev = NULL;
|
|
|
|
soc = at91_soc_init(rm9200_socs);
|
|
if (soc != NULL)
|
|
soc_dev = soc_device_to_device(soc);
|
|
|
|
of_platform_populate(NULL, of_default_bus_match_table, NULL, soc_dev);
|
|
|
|
arm_pm_idle = at91rm9200_idle;
|
|
at91rm9200_pm_init();
|
|
}
|
|
|
|
static const char *at91rm9200_dt_board_compat[] __initconst = {
|
|
"atmel,at91rm9200",
|
|
NULL
|
|
};
|
|
|
|
DT_MACHINE_START(at91rm9200_dt, "Atmel AT91RM9200")
|
|
.init_machine = at91rm9200_dt_device_init,
|
|
.dt_compat = at91rm9200_dt_board_compat,
|
|
MACHINE_END
|