diff options
author | Michael Sevakis <jethead71@rockbox.org> | 2007-06-01 01:05:57 +0000 |
---|---|---|
committer | Michael Sevakis <jethead71@rockbox.org> | 2007-06-01 01:05:57 +0000 |
commit | 13067f6c71b6bdd6fd63a2699a3ee2eae100b2b8 (patch) | |
tree | 1a5dac8a2c466addc654ddbe5aa1f876990e8c49 /firmware/target | |
parent | 70b613236a224069dd0c43bafac578e31e97391b (diff) |
e200: Use clocking set up by loader and skip setting the values for now. Change a DMA related register value and leave another alone. Seems to stop the melting screen and gives a speedup especially to video and graphics. If the former isn't quite fixed, the latter definitely works. Please don't enable frequency scaling for now as that will clobber the register values.
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@13531 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r-- | firmware/target/arm/sandisk/sansa-e200/ata-e200.c | 2 | ||||
-rw-r--r-- | firmware/target/arm/system-pp502x.c | 16 |
2 files changed, 15 insertions, 3 deletions
diff --git a/firmware/target/arm/sandisk/sansa-e200/ata-e200.c b/firmware/target/arm/sandisk/sansa-e200/ata-e200.c index b66984bec4..29fe0d9109 100644 --- a/firmware/target/arm/sandisk/sansa-e200/ata-e200.c +++ b/firmware/target/arm/sandisk/sansa-e200/ata-e200.c @@ -363,8 +363,6 @@ void sd_init_device(void) DEV_EN |= DEV_ATA; /* Enable controller */ DEV_RS |= DEV_ATA; /* Reset controller */ DEV_RS &=~DEV_ATA; /* Clear Reset */ - outl(0, 0x6000b000); - outl(0, 0x6000a000); /* Init DMA controller? */ /* Init NAND */ REG_11 |= (1 << 15); diff --git a/firmware/target/arm/system-pp502x.c b/firmware/target/arm/system-pp502x.c index 1f2d27a7b7..a03d479444 100644 --- a/firmware/target/arm/system-pp502x.c +++ b/firmware/target/arm/system-pp502x.c @@ -194,6 +194,8 @@ void set_cpu_frequency(long frequency) #elif !defined(BOOTLOADER) void ipod_set_cpu_frequency(void) { +/* For e200, just use clocking set up by OF loader for now */ +#ifndef SANSA_E200 /* Enable PLL? */ outl(inl(0x70000020) | (1<<30), 0x70000020); @@ -207,6 +209,7 @@ void ipod_set_cpu_frequency(void) /* Select PLL as clock source? */ outl((inl(0x60006020) & 0x0fffff0f) | 0x20000070, 0x60006020); +#endif /* SANSA_E200 */ } #endif @@ -252,6 +255,14 @@ void system_init(void) GPIOK_INT_EN = 0; GPIOL_INT_EN = 0; +#ifdef SANSA_E200 + /* outl(0x00000000, 0x6000b000); */ + outl(inl(0x6000a000) | 0x80000000, 0x6000a000); /* Init DMA controller? */ + } + + ipod_init_cache(); +#else /* !sansa E200 */ + # if NUM_CORES > 1 && defined(HAVE_ADJUSTABLE_CPU_FREQ) spinlock_init(&boostctrl_mtx); # endif @@ -267,7 +278,10 @@ void system_init(void) } #endif ipod_init_cache(); -#endif + +#endif /* SANSA_E200 */ + +#endif /* BOOTLOADER */ } void system_reboot(void) |