summary |
shortlog |
log |
commit | commitdiff |
tree
raw |
patch |
inline | side by side (from parent 1:
ce1b495)
hsmci_readResp(&(sd->status), 1);
if ((sd->status) & (SD_STATUS_APP_CMD | SD_STATUS_READY))
{
hsmci_readResp(&(sd->status), 1);
if ((sd->status) & (SD_STATUS_APP_CMD | SD_STATUS_READY))
{
- hsmci_setBusWidth(len);
uint8_t arg = 0;
if (len == 4)
uint8_t arg = 0;
if (len == 4)
LOG_INFO("State[%d]\n", SD_GET_STATE(sd->status));
if (sd->status & SD_STATUS_READY)
LOG_INFO("State[%d]\n", SD_GET_STATE(sd->status));
if (sd->status & SD_STATUS_READY)
+ {
+ hsmci_setBusWidth(len);
}
LOG_ERR("SET_BUS_WIDTH REP %lx\n", (sd->status));
}
LOG_ERR("SET_BUS_WIDTH REP %lx\n", (sd->status));
Sd *sd = SD_CAST(b);
LOG_INFO("reading from block %ld, offset %d, size %d\n", idx, offset, size);
Sd *sd = SD_CAST(b);
LOG_INFO("reading from block %ld, offset %d, size %d\n", idx, offset, size);
- if (sd_selectCard(sd) < 0)
- {
- sd->status |= SD_STATUS_ERROR;
- return -1;
- }
-
hsmci_read(buf, size / 4, sd->b.blk_size);
if (hsmci_sendCmd(17, idx * sd->b.blk_size + offset, HSMCI_CMDR_RSPTYP_48_BIT |
BV(HSMCI_CMDR_TRDIR) | HSMCI_CMDR_TRCMD_START_DATA | HSMCI_CMDR_TRTYP_SINGLE))
{
LOG_ERR("SIGLE_BLK_READ: %lx\n", HSMCI_SR);
hsmci_read(buf, size / 4, sd->b.blk_size);
if (hsmci_sendCmd(17, idx * sd->b.blk_size + offset, HSMCI_CMDR_RSPTYP_48_BIT |
BV(HSMCI_CMDR_TRDIR) | HSMCI_CMDR_TRCMD_START_DATA | HSMCI_CMDR_TRTYP_SINGLE))
{
LOG_ERR("SIGLE_BLK_READ: %lx\n", HSMCI_SR);
if (sd->status & SD_STATUS_READY)
{
hsmci_waitTransfer();
if (sd->status & SD_STATUS_READY)
{
hsmci_waitTransfer();
Sd *sd = SD_CAST(b);
const uint32_t *_buf = (const uint32_t *)buf;
Sd *sd = SD_CAST(b);
const uint32_t *_buf = (const uint32_t *)buf;
- LOG_INFO("reading from block %ld, offset %d, size %d\n", idx, offset, size);
-
- if (sd_selectCard(sd) < 0)
- {
- sd->status |= SD_STATUS_ERROR;
- return -1;
- }
+ LOG_INFO("writing block %ld, offset %d, size %d\n", idx, offset, size);
hsmci_write(_buf, size / 4, sd->b.blk_size);
if (hsmci_sendCmd(24, idx * sd->b.blk_size + offset, HSMCI_CMDR_RSPTYP_48_BIT |
HSMCI_CMDR_TRCMD_START_DATA | HSMCI_CMDR_TRTYP_SINGLE))
{
LOG_ERR("SIGLE_BLK_WRITE: %lx\n", HSMCI_SR);
hsmci_write(_buf, size / 4, sd->b.blk_size);
if (hsmci_sendCmd(24, idx * sd->b.blk_size + offset, HSMCI_CMDR_RSPTYP_48_BIT |
HSMCI_CMDR_TRCMD_START_DATA | HSMCI_CMDR_TRTYP_SINGLE))
{
LOG_ERR("SIGLE_BLK_WRITE: %lx\n", HSMCI_SR);
if (sd->status & SD_STATUS_READY)
{
if (sd->status & SD_STATUS_READY)
{
- hsmci_waitTransfer();
- sd_deSelectCard(sd);
sd_set_BlockLen(sd, SD_DEFAULT_BLOCKLEN);
sd_setBus4bit(sd);
sd_setHightSpeed(sd);
sd_set_BlockLen(sd, SD_DEFAULT_BLOCKLEN);
sd_setBus4bit(sd);
sd_setHightSpeed(sd);
#if CONFIG_SD_AUTOASSIGN_FAT
disk_assignDrive(&sd->b, 0);
#if CONFIG_SD_AUTOASSIGN_FAT
disk_assignDrive(&sd->b, 0);