1
0
Fork 0
forked from len0rd/rockbox

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
This commit is contained in:
Michael Sevakis 2007-06-01 01:05:57 +00:00
parent 70b613236a
commit 13067f6c71
2 changed files with 15 additions and 3 deletions

View file

@ -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);

View file

@ -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)