From 45711ac2869f955c40be96d8dcbc7201c718dba4 Mon Sep 17 00:00:00 2001 From: Rafaël Carré Date: Thu, 4 Dec 2008 20:04:31 +0000 Subject: Sansa AMS: centralize clock settings in clock-target.h Reorder system_init() to initialize peripherals not only in bootloader Use a 65MHz PCLK (and memclk) which will be needed for realtime decoding git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19330 a1c6a512-1295-4272-9138-f99709370657 --- firmware/target/arm/as3525/ata_sd_as3525.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'firmware/target/arm/as3525/ata_sd_as3525.c') diff --git a/firmware/target/arm/as3525/ata_sd_as3525.c b/firmware/target/arm/as3525/ata_sd_as3525.c index cb1666c029..b2d8e3c1f3 100644 --- a/firmware/target/arm/as3525/ata_sd_as3525.c +++ b/firmware/target/arm/as3525/ata_sd_as3525.c @@ -35,6 +35,7 @@ #include "pl180.h" /* SD controller */ #include "pl081.h" /* DMA controller */ #include "dma-target.h" /* DMA request lines */ +#include "clock-target.h" #include "panic.h" #include "stdbool.h" #include "ata_idle_notify.h" @@ -375,7 +376,9 @@ static void init_pl180_controller(const int drive) MCI_CLOCK(drive) &= ~MCI_CLOCK_POWERSAVE; /* set MCLK divider */ - mci_set_clock_divider(drive, 200); + mci_set_clock_divider(drive, + CLK_DIV(AS3525_PCLK_FREQ, AS3525_SD_IDENT_FREQ)); + } int sd_init(void) @@ -384,7 +387,7 @@ int sd_init(void) CGU_IDE = (1<<7) /* AHB interface enable */ | (1<<6) /* interface enable */ | - (2<<2) /* clock didiver = 2+1 */ | + ((CLK_DIV(AS3525_PLLA_FREQ, AS3525_IDE_FREQ) - 1) << 2) | 1 /* clock source = PLLA */; CGU_PERI |= CGU_NAF_CLOCK_ENABLE; -- cgit v1.2.3