ARM: at91: make shutdown controler soc independent
Signed-off-by: Jean-Christophe PLAGNIOL-VILLARD <plagnioj@jcrosoft.com> Acked-by: Nicolas Ferre <nicolas.ferre@atmel.com>
This commit is contained in:
@@ -8,6 +8,7 @@
|
||||
#include <linux/module.h>
|
||||
#include <linux/io.h>
|
||||
#include <linux/mm.h>
|
||||
#include <linux/pm.h>
|
||||
|
||||
#include <asm/mach/map.h>
|
||||
|
||||
@@ -15,6 +16,7 @@
|
||||
#include <mach/cpu.h>
|
||||
#include <mach/at91_dbgu.h>
|
||||
#include <mach/at91_pmc.h>
|
||||
#include <mach/at91_shdwc.h>
|
||||
|
||||
#include "soc.h"
|
||||
#include "generic.h"
|
||||
@@ -285,6 +287,21 @@ void __init at91_map_io(void)
|
||||
at91_boot_soc.map_io();
|
||||
}
|
||||
|
||||
void __iomem *at91_shdwc_base = NULL;
|
||||
|
||||
static void at91sam9_poweroff(void)
|
||||
{
|
||||
at91_shdwc_write(AT91_SHDW_CR, AT91_SHDW_KEY | AT91_SHDW_SHDW);
|
||||
}
|
||||
|
||||
void __init at91_ioremap_shdwc(u32 base_addr)
|
||||
{
|
||||
at91_shdwc_base = ioremap(base_addr, 16);
|
||||
if (!at91_shdwc_base)
|
||||
panic("Impossible to ioremap at91_shdwc_base\n");
|
||||
pm_power_off = at91sam9_poweroff;
|
||||
}
|
||||
|
||||
void __init at91_initialize(unsigned long main_clock)
|
||||
{
|
||||
at91_boot_soc.ioremap_registers();
|
||||
|
مرجع در شماره جدید
Block a user