summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525
diff options
context:
space:
mode:
Diffstat (limited to 'firmware/target/arm/as3525')
-rw-r--r--firmware/target/arm/as3525/sd-as3525.c20
1 files changed, 10 insertions, 10 deletions
diff --git a/firmware/target/arm/as3525/sd-as3525.c b/firmware/target/arm/as3525/sd-as3525.c
index 19914abd43..1f935a426e 100644
--- a/firmware/target/arm/as3525/sd-as3525.c
+++ b/firmware/target/arm/as3525/sd-as3525.c
@@ -604,6 +604,16 @@ static int sd_select_bank(signed char bank)
604 int ret; 604 int ret;
605 unsigned loops = 0; 605 unsigned loops = 0;
606 606
607 memset(uncached_buffer, 0, 512);
608 if(bank == -1)
609 { /* enable bank switching */
610 uncached_buffer[0] = 16;
611 uncached_buffer[1] = 1;
612 uncached_buffer[2] = 10;
613 }
614 else
615 uncached_buffer[0] = bank;
616
607 do { 617 do {
608 if(loops++ > PL180_MAX_TRANSFER_ERRORS) 618 if(loops++ > PL180_MAX_TRANSFER_ERRORS)
609 panicf("SD bank %d error : 0x%x", bank, 619 panicf("SD bank %d error : 0x%x", bank,
@@ -623,16 +633,6 @@ static int sd_select_bank(signed char bank)
623 633
624 mci_delay(); 634 mci_delay();
625 635
626 memset(uncached_buffer, 0, 512);
627 if(bank == -1)
628 { /* enable bank switching */
629 uncached_buffer[0] = 16;
630 uncached_buffer[1] = 1;
631 uncached_buffer[2] = 10;
632 }
633 else
634 uncached_buffer[0] = bank;
635
636 dma_retain(); 636 dma_retain();
637 /* we don't use the uncached buffer here, because we need the 637 /* we don't use the uncached buffer here, because we need the
638 * physical memory address for DMA transfers */ 638 * physical memory address for DMA transfers */