Hello. Matej Kupljen wrote:
Hi Please, find the attached patch which enables powering off the DBAU1200 board.
As a follow up to this one, here's the patch which does the same thing for DBAu1550 by just reusing Pb1550 code. I added #else because #if renders the rest of the au1000_halt() code unreachable on DBAu1550/PB1550 anyway.
BR, Matej
WBR, Sergei
------------------------------------------------------------------------ Patch to enable powering off DBAU1200 Signed-off-by: Matej Kupljen <matej.kupljen@xxxxxxxx> --- a/arch/mips/au1000/common/reset.c 2005-10-24 13:36:24.000000000 +0200 +++ b/arch/mips/au1000/common/reset.c 2005-08-24 14:39:58.000000000 +0200 @@ -175,6 +175,9 @@ #ifdef CONFIG_MIPS_MIRAGE au_writel((1 << 26) | (1 << 10), GPIO2_OUTPUT); #endif +#ifdef CONFIG_MIPS_DB1200 + au_writew(au_readw(0xB980001C) | (1<<14), 0xB980001C); +#endif #ifdef CONFIG_PM au_sleep();
diff --git a/arch/mips/au1000/common/reset.c b/arch/mips/au1000/common/reset.c index 65b84db..8a4afdc 100644 --- a/arch/mips/au1000/common/reset.c +++ b/arch/mips/au1000/common/reset.c @@ -164,13 +164,13 @@ void au1000_restart(char *command) void au1000_halt(void) { -#if defined(CONFIG_MIPS_PB1550) +#if defined(CONFIG_MIPS_PB1550) || defined(CONFIG_MIPS_DB1550) /* power off system */ - printk("\n** Powering off Pb1550\n"); + printk("\n** Powering off...\n"); au_writew(au_readw(0xAF00001C) | (3<<14), 0xAF00001C); au_sync(); while(1); /* should not get here */ -#endif +#else printk(KERN_NOTICE "\n** You can safely turn off the power\n"); #ifdef CONFIG_MIPS_MIRAGE au_writel((1 << 26) | (1 << 10), GPIO2_OUTPUT); @@ -187,6 +187,7 @@ void au1000_halt(void) "wait\n\t" ".set\tmips0"); #endif +#endif /* defined(CONFIG_MIPS_PB1550) || defined(CONFIG_MIPS_DB1550) */ } void au1000_power_off(void)