summaryrefslogtreecommitdiff
path: root/firmware/target/arm/as3525/usb-drv-as3525.c
diff options
context:
space:
mode:
authorRafaël Carré <rafael.carre@gmail.com>2010-06-18 17:33:51 +0000
committerRafaël Carré <rafael.carre@gmail.com>2010-06-18 17:33:51 +0000
commitfd715fa95cc6bdd57f558cdbfc43bc768ec9645b (patch)
treec9e6cb9281bca93cb5b66762ba5b373fe11fd7bc /firmware/target/arm/as3525/usb-drv-as3525.c
parent6e5330f663a949e9a3ceab0ddb72e12491e0aa21 (diff)
downloadrockbox-fd715fa95cc6bdd57f558cdbfc43bc768ec9645b.tar.gz
rockbox-fd715fa95cc6bdd57f558cdbfc43bc768ec9645b.zip
as3525*: enable MMU in bootloader
Reserve 1MB of DRAM for loading rockbox and use the rest as BSS Write sdram setup in assembler and move it to a separate file, together with MMU init code git-svn-id: svn://svn.rockbox.org/rockbox/trunk@26926 a1c6a512-1295-4272-9138-f99709370657
Diffstat (limited to 'firmware/target/arm/as3525/usb-drv-as3525.c')
-rw-r--r--firmware/target/arm/as3525/usb-drv-as3525.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/firmware/target/arm/as3525/usb-drv-as3525.c b/firmware/target/arm/as3525/usb-drv-as3525.c
index e90bc04aee..0b73713c51 100644
--- a/firmware/target/arm/as3525/usb-drv-as3525.c
+++ b/firmware/target/arm/as3525/usb-drv-as3525.c
@@ -396,8 +396,7 @@ int usb_drv_recv(int ep, void *ptr, int len)
396 endpoints[ep][1].rc = -1; 396 endpoints[ep][1].rc = -1;
397 397
398 /* remove data buffer from cache */ 398 /* remove data buffer from cache */
399 if (!is_bootloader()) /* bootloader is running uncached */ 399 invalidate_dcache();
400 invalidate_dcache();
401 400
402 /* DMA setup */ 401 /* DMA setup */
403 uc_desc->status = USB_DMA_DESC_BS_HST_RDY | 402 uc_desc->status = USB_DMA_DESC_BS_HST_RDY |
@@ -448,8 +447,7 @@ void ep_send(int ep, void *ptr, int len)
448 endpoints[ep][0].rc = -1; 447 endpoints[ep][0].rc = -1;
449 448
450 /* Make sure data is committed to memory */ 449 /* Make sure data is committed to memory */
451 if (!is_bootloader()) /* bootloader is running uncached */ 450 clean_dcache();
452 clean_dcache();
453 451
454 logf("xx%s\n", make_hex(ptr, len)); 452 logf("xx%s\n", make_hex(ptr, len));
455 453
@@ -556,8 +554,7 @@ static void handle_out_ep(int ep)
556 /* 554 /*
557 * If parts of the just dmaed range are in cache, dump them now. 555 * If parts of the just dmaed range are in cache, dump them now.
558 */ 556 */
559 if (!is_bootloader()) /* bootloader is running uncached */ 557 dump_dcache_range(uc_desc->data_ptr, dma_len);
560 dump_dcache_range(uc_desc->data_ptr, dma_len);
561 } else{ 558 } else{
562 logf("EP%d OUT token, st:%08x frm:%x (no data)\n", ep, 559 logf("EP%d OUT token, st:%08x frm:%x (no data)\n", ep,
563 dma_mst, dma_frm); 560 dma_mst, dma_frm);