From b61b14f5e86f4f0edea1bca53b37a14a8f7f9585 Mon Sep 17 00:00:00 2001 From: Michael Giacomelli Date: Sun, 22 Jul 2012 19:21:54 -0400 Subject: Revert my previous commit disabling the internal ROM clock during normal operation. The interal ROM clock seems to be needed to reboot the player, so disabling it is too dangerous. Hopefully this will prevent problems where crashes during the abort handler resulted in a stock player that needed the battery to drain in order to reboot. Change-Id: I7d1e64743dde15b64d718ad3255dada3d570736f --- firmware/target/arm/as3525/system-as3525.c | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) (limited to 'firmware/target/arm/as3525') diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c index 5bdd0c0d89..80d21b2d0b 100644 --- a/firmware/target/arm/as3525/system-as3525.c +++ b/firmware/target/arm/as3525/system-as3525.c @@ -272,7 +272,9 @@ void system_init(void) CGU_PERI &= ~0x7f; /* pclk 24 MHz */ #endif - CGU_PERI &= ~CGU_ROM_ENABLE; /*disable built in boot rom clock*/ + /*this saves a tiny bit of power but seems to leave the processor in + a bad state if it manages to reboot without the clock reenabled*/ + /*CGU_PERI &= ~CGU_ROM_ENABLE;*/ /*disable built in boot rom clock*/ /* bits 31:30 should be set to 0 in arm926-ejs */ asm volatile( @@ -320,7 +322,7 @@ void system_init(void) dma_init(); ascodec_init(); - + /* Initialize power management settings */ #ifdef HAVE_AS3543 /* PLL: disable audio PLL, we use MCLK already */ @@ -364,8 +366,8 @@ void system_reboot(void) disable_irq(); - /* re-enable internal ROM */ - CGU_PERI |= CGU_ROM_ENABLE; + /* re-enable internal ROM so that we don't hard lock on power up*/ + CGU_PERI |= CGU_ROM_ENABLE; /*should always be on, but to be safe...*/ /* use watchdog to reset */ CGU_PERI |= (CGU_WDOCNT_CLOCK_ENABLE | CGU_WDOIF_CLOCK_ENABLE); -- cgit v1.2.3