From 75f2e4551cae45e1c3c5a9e499412db081b43ba7 Mon Sep 17 00:00:00 2001 From: Bertrik Sikken Date: Sat, 10 Dec 2011 11:28:00 +0000 Subject: AMS(v2): fix system_reboot by re-enabling the internal ROM clock just before rebooting git-svn-id: svn://svn.rockbox.org/rockbox/trunk@31196 a1c6a512-1295-4272-9138-f99709370657 --- firmware/export/as3525.h | 1 + firmware/target/arm/as3525/system-as3525.c | 5 ++++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/firmware/export/as3525.h b/firmware/export/as3525.h index c5e01d5bc8..bad88a20e3 100644 --- a/firmware/export/as3525.h +++ b/firmware/export/as3525.h @@ -223,6 +223,7 @@ CE lines /* --- are disabled after reset --- */ #define CGU_EXTMEM_CLOCK_ENABLE ( 1 << 27 ) /* external memory */ #define CGU_EXTMEMIF_CLOCK_ENABLE ( 1 << 26 ) /* ext mem AHB IF */ +#define CGU_ROM_ENABLE ( 1 << 24 ) /* internal ROM */ #define CGU_DMA_CLOCK_ENABLE ( 1 << 22 ) /* dma */ #define CGU_USB_CLOCK_ENABLE ( 1 << 21 ) /* usb */ #define CGU_I2SOUT_APB_CLOCK_ENABLE ( 1 << 20 ) /* i2sout */ diff --git a/firmware/target/arm/as3525/system-as3525.c b/firmware/target/arm/as3525/system-as3525.c index 31d6fb6ae6..dcea7a2a2e 100644 --- a/firmware/target/arm/as3525/system-as3525.c +++ b/firmware/target/arm/as3525/system-as3525.c @@ -224,7 +224,7 @@ void system_init(void) CGU_PERI &= ~0x7f; /* pclk 24 MHz */ #endif - CGU_PERI &= ~(1<<24); /*disable built in boot rom clock*/ + CGU_PERI &= ~CGU_ROM_ENABLE; /*disable built in boot rom clock*/ /* bits 31:30 should be set to 0 in arm926-ejs */ asm volatile( @@ -316,6 +316,9 @@ void system_reboot(void) disable_irq(); + /* re-enable internal ROM */ + CGU_PERI |= CGU_ROM_ENABLE; + /* use watchdog to reset */ CGU_PERI |= (CGU_WDOCNT_CLOCK_ENABLE | CGU_WDOIF_CLOCK_ENABLE); WDT_LOAD = 1; /* set counter to 1 */ -- cgit v1.2.3