powerpc/pasemi: Add Nemo board device init code.
Add routines for Nemo specific devices to init at boot time, these being board level power-off and SB600's rtc. Also add a run time variable to prevent these being activated if we boot on a reference board. Signed-off-by: Darren Stevens <darren@stevens-zone.net> Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
This commit is contained in:
Родитель
0428a5f494
Коммит
656fdf3ad8
|
@ -73,6 +73,40 @@ static void __noreturn pas_restart(char *cmd)
|
|||
out_le32(reset_reg, 0x6000000);
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PPC_PASEMI_NEMO
|
||||
void pas_shutdown(void)
|
||||
{
|
||||
/* Set the PLD bit that makes the SB600 think the power button is being pressed */
|
||||
void __iomem *pld_map = ioremap(0xf5000000,4096);
|
||||
while (1)
|
||||
out_8(pld_map+7,0x01);
|
||||
}
|
||||
|
||||
/* RTC platform device structure as is not in device tree */
|
||||
static struct resource rtc_resource[] = {{
|
||||
.name = "rtc",
|
||||
.start = 0x70,
|
||||
.end = 0x71,
|
||||
.flags = IORESOURCE_IO,
|
||||
}, {
|
||||
.name = "rtc",
|
||||
.start = 8,
|
||||
.end = 8,
|
||||
.flags = IORESOURCE_IRQ,
|
||||
}};
|
||||
|
||||
static inline void nemo_init_rtc(void)
|
||||
{
|
||||
platform_device_register_simple("rtc_cmos", -1, rtc_resource, 2);
|
||||
}
|
||||
|
||||
#else
|
||||
|
||||
static inline void nemo_init_rtc(void)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef CONFIG_SMP
|
||||
static arch_spinlock_t timebase_lock;
|
||||
static unsigned long timebase;
|
||||
|
|
Загрузка…
Ссылка в новой задаче