summaryrefslogtreecommitdiff
path: root/firmware/target
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2008-11-07 10:52:26 +0000
committerRafaël Carré <rafael.carre@gmail.com>2008-11-07 10:52:26 +0000
commit3952e6d008ce429d78740363bf2ec76b89f825ee (patch)
tree7e23ffaef8dc44340811e558c1f6a4a0348ddb2b /firmware/target
parent2b81bce27caeb3d4abb800dbac9bdf803d9170ea (diff)
downloadrockbox-3952e6d008ce429d78740363bf2ec76b89f825ee.tar.gz
rockbox-3952e6d008ce429d78740363bf2ec76b89f825ee.zip
AS3525: enable access to the embedded SD card
Don't reset the peripherals Don't mind about the spare register Don't mind about MEMSTICK peripheral Use correct clock speeds for IDE Tested on Clip only git-svn-id: svn://svn.rockbox.org/rockbox/trunk@19036 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target')
-rw-r--r--firmware/target/arm/as3525/ata_sd_as3525.c23
1 files changed, 4 insertions, 19 deletions
diff --git a/firmware/target/arm/as3525/ata_sd_as3525.c b/firmware/target/arm/as3525/ata_sd_as3525.c
index 9c64a9614d..77d1ec1504 100644
--- a/firmware/target/arm/as3525/ata_sd_as3525.c
+++ b/firmware/target/arm/as3525/ata_sd_as3525.c
@@ -285,25 +285,10 @@ static void init_pl180_controller(const int drive)
285 285
286int sd_init(void) 286int sd_init(void)
287{ 287{
288 /* reset peripherals */ 288 CGU_IDE = (1<<7) /* AHB interface enable */ |
289 289 (1<<6) /* interface enable */ |
290 CCU_SRC = 290 (2<<2) /* clock didiver = 2+1 */ |
291#ifdef HAVE_MULTIVOLUME 291 1 /* clock source = PLLA */;
292 CCU_SRC_SDMCI_EN |
293#endif
294 CCU_SRC_NAF_EN | CCU_SRC_IDE_EN | CCU_SRC_IDE_AHB_EN | CCU_SRC_MST_EN;
295
296 CCU_SRL = CCU_SRL_MAGIC_NUMBER;
297 CCU_SRL = 0;
298
299 GPIOC_DIR &= ~(1<<1);
300 if(GPIOC_PIN(1))
301 CCU_SPARE1 |= 4; /* sets bit 2 of undocumented register */
302 else
303 CCU_SPARE1 &= ~4; /* or clear it */
304
305 CGU_IDE = (1<<7)|(1<<6); /* enable, 24MHz clock */
306 CGU_MEMSTICK = (1<<8); /* enable, 24MHz clock */
307 292
308 CGU_PERI |= CGU_NAF_CLOCK_ENABLE; 293 CGU_PERI |= CGU_NAF_CLOCK_ENABLE;
309#ifdef HAVE_MULTIVOLUME 294#ifdef HAVE_MULTIVOLUME