]> git.ipfire.org Git - people/ms/u-boot.git/blobdiff - cpu/pxa/mmc.c
rename CFG_ macros to CONFIG_SYS
[people/ms/u-boot.git] / cpu / pxa / mmc.c
index c0cfe65fb012c355a568fd2a9ec7b49d019d326a..d735c8d4850c1d85ada432474a44246e265ac1d6 100644 (file)
@@ -119,7 +119,7 @@ mmc_block_read(uchar * dst, ulong src, ulong len)
        MMC_RDTO = 0xffff;
        MMC_NOB = 1;
        MMC_BLKLEN = len;
-       mmc_cmd(MMC_CMD_READ_BLOCK, argh, argl,
+       mmc_cmd(MMC_CMD_READ_SINGLE_BLOCK, argh, argl,
                MMC_CMDAT_R1 | MMC_CMDAT_READ | MMC_CMDAT_BLOCK |
                MMC_CMDAT_DATA_EN);
 
@@ -234,7 +234,7 @@ mmc_read(ulong src, uchar * dst, int size)
        mmc_block_size = MMC_BLOCK_SIZE;
        mmc_block_address = ~(mmc_block_size - 1);
 
-       src -= CFG_MMC_BASE;
+       src -= CONFIG_SYS_MMC_BASE;
        end = src + size;
        part_start = ~mmc_block_address & src;
        part_end = ~mmc_block_address & end;
@@ -310,7 +310,7 @@ mmc_write(uchar * src, ulong dst, int size)
        mmc_block_size = MMC_BLOCK_SIZE;
        mmc_block_address = ~(mmc_block_size - 1);
 
-       dst -= CFG_MMC_BASE;
+       dst -= CONFIG_SYS_MMC_BASE;
        end = dst + size;
        part_start = ~mmc_block_address & dst;
        part_end = ~mmc_block_address & end;
@@ -375,11 +375,11 @@ mmc_write(uchar * src, ulong dst, int size)
 
 ulong
 /****************************************************/
-mmc_bread(int dev_num, ulong blknr, ulong blkcnt, ulong * dst)
+mmc_bread(int dev_num, ulong blknr, lbaint_t blkcnt, void *dst)
 /****************************************************/
 {
        int mmc_block_size = MMC_BLOCK_SIZE;
-       ulong src = blknr * mmc_block_size + CFG_MMC_BASE;
+       ulong src = blknr * mmc_block_size + CONFIG_SYS_MMC_BASE;
 
        mmc_read(src, (uchar *) dst, blkcnt * mmc_block_size);
        return blkcnt;
@@ -535,8 +535,10 @@ static void mmc_decode_csd(uint32_t * resp)
        mmc_dev.removable = 0;
        mmc_dev.block_read = mmc_bread;
 
-       printf("Detected: %u blocks of %u bytes (%uMB) ", mmc_dev.lba,
-              mmc_dev.blksz, mmc_dev.lba * mmc_dev.blksz / (1024 * 1024));
+       printf("Detected: %lu blocks of %lu bytes (%luMB) ",
+               mmc_dev.lba,
+               mmc_dev.blksz,
+               mmc_dev.lba * mmc_dev.blksz / (1024 * 1024));
 }
 
 int
@@ -557,18 +559,13 @@ mmc_init(int verbose)
        set_GPIO_mode(GPIO8_MMCCS0_MD);
 #endif
        CKEN |= CKEN12_MMC;     /* enable MMC unit clock */
-#if defined(CONFIG_ADSVIX)
-       /* turn on the power */
-       GPCR(114) = GPIO_bit(114);
-       udelay(1000);
-#endif
 
        MMC_CLKRT = MMC_CLKRT_0_3125MHZ;
        MMC_RESTO = MMC_RES_TO_MAX;
        MMC_SPI = MMC_SPI_DISABLE;
 
        /* reset */
-       mmc_cmd(MMC_CMD_RESET, 0, 0, MMC_CMDAT_INIT | MMC_CMDAT_R0);
+       mmc_cmd(MMC_CMD_GO_IDLE_STATE, 0, 0, MMC_CMDAT_INIT | MMC_CMDAT_R0);
        udelay(200000);
        retries = 3;
        while (retries--) {
@@ -578,7 +575,10 @@ mmc_init(int verbose)
                        break;
                }
 
-               resp = mmc_cmd(SD_CMD_APP_OP_COND, 0x0020, 0, MMC_CMDAT_R3 | (retries < 2 ? 0 : MMC_CMDAT_INIT));       /* Select 3.2-3.3 and 3.3-3.4V */
+               /* Select 3.2-3.3V and 3.3-3.4V */
+               resp = mmc_cmd(SD_CMD_APP_SEND_OP_COND, 0x0030, 0x0000,
+                               MMC_CMDAT_R3 | (retries < 2 ? 0
+                                       : MMC_CMDAT_INIT));
                if (resp[0] & 0x80000000) {
                        mmc_dev.if_type = IF_TYPE_SD;
                        debug("Detected SD card\n");
@@ -616,7 +616,7 @@ mmc_init(int verbose)
                memcpy(cid_resp, resp, sizeof(cid_resp));
 
                /* MMC exists, get CSD too */
-               resp = mmc_cmd(MMC_CMD_SET_RCA, 0, 0, MMC_CMDAT_R1);
+               resp = mmc_cmd(MMC_CMD_SET_RELATIVE_ADDR, 0, 0, MMC_CMDAT_R1);
                if (IF_TYPE_SD == mmc_dev.if_type)
                        rca = ((resp[0] & 0xffff0000) >> 16);
                resp = mmc_cmd(MMC_CMD_SEND_CSD, rca, 0, MMC_CMDAT_R2);
@@ -652,8 +652,8 @@ int mmc_ident(block_dev_desc_t * dev)
 
 int mmc2info(ulong addr)
 {
-       if (addr >= CFG_MMC_BASE
-           && addr < CFG_MMC_BASE + (mmc_dev.lba * mmc_dev.blksz)) {
+       if (addr >= CONFIG_SYS_MMC_BASE
+           && addr < CONFIG_SYS_MMC_BASE + (mmc_dev.lba * mmc_dev.blksz)) {
                return 1;
        }
        return 0;