From 971a44feeb67225bf772723fc5e37a5edf7b5f1b Mon Sep 17 00:00:00 2001 From: bsongis Date: Fri, 22 Jun 2012 18:06:10 +0000 Subject: [PATCH] SD-HC support on ersky9x --- src/ersky9x/diskio.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/ersky9x/diskio.c b/src/ersky9x/diskio.c index 727942435..085b2942f 100644 --- a/src/ersky9x/diskio.c +++ b/src/ersky9x/diskio.c @@ -623,7 +623,7 @@ uint32_t sd_read_block(uint32_t block_no, uint32_t *data) // Block size = 512, nblocks = 1 phsmci->HSMCI_BLKR = ((512) << 16) | 1; phsmci->HSMCI_MR = (phsmci->HSMCI_MR & (~(HSMCI_MR_BLKLEN_Msk|HSMCI_MR_FBYTE))) | (HSMCI_MR_PDCMODE|HSMCI_MR_WRPROOF|HSMCI_MR_RDPROOF) | (512 << 16); - phsmci->HSMCI_ARGR = block_no << 9; + phsmci->HSMCI_ARGR = Cmd_A41_resp & 0x40000000 ? block_no : block_no << 9; phsmci->HSMCI_RPR = (uint32_t)data; phsmci->HSMCI_RCR = 512 / 4; phsmci->HSMCI_PTCR = HSMCI_PTCR_RXTEN; @@ -656,7 +656,7 @@ uint32_t sd_write_block( uint32_t block_no, uint32_t *data ) // Block size = 512, nblocks = 1 phsmci->HSMCI_BLKR = ((512) << 16) | 1; phsmci->HSMCI_MR = (phsmci->HSMCI_MR & (~(HSMCI_MR_BLKLEN_Msk|HSMCI_MR_FBYTE))) | (HSMCI_MR_PDCMODE|HSMCI_MR_WRPROOF|HSMCI_MR_RDPROOF) | (512 << 16); - phsmci->HSMCI_ARGR = block_no << 9; + phsmci->HSMCI_ARGR = Cmd_A41_resp & 0x40000000 ? block_no : block_no << 9; phsmci->HSMCI_TPR = (uint32_t)data; phsmci->HSMCI_TCR = 512 / 4; phsmci->HSMCI_CMDR = SD_WRITE_SINGLE_BLOCK;