This commit is contained in:
刘可亮
2025-07-22 11:15:46 +08:00
parent d164b333ed
commit 11c97ef399
2870 changed files with 951307 additions and 26675 deletions

View File

@@ -1,5 +1,5 @@
/*
* Copyright (c) 2022-2024, Artinchip Technology Co., Ltd
* Copyright (c) 2022-2025, Artinchip Technology Co., Ltd
*
* SPDX-License-Identifier: Apache-2.0
*
@@ -154,6 +154,9 @@ int mmc_send_cmd(struct aic_sdmc *host, struct aic_sdmc_cmd *cmd,
aic_sdmc_request(host, cmd, data);
mmc_trace_after_send(cmd);
if (cmd->err || (data && data->err))
hal_sdmc_soft_reset(&host->host);
return cmd->err;
}
@@ -885,14 +888,26 @@ u32 mmc_read_blocks(struct aic_sdmc *host, void *dst, u32 start, u32 blkcnt)
}
if (cmd.err || data.err) {
printf("read blocks failed, %d, %d, 0x%08x, 0x%08x\n", cmd.err,
data.err, data.flags, data.blksize);
printf("read blocks failed, cmd.err:%d, data.err:%d, data.flags:0x%08x, data.blksize:0x%08x\n",
cmd.err, data.err, data.flags, data.blksize);
return 0;
}
return blkcnt;
}
void mmc_set_rx_phase(void *priv, u32 phase)
{
struct aic_sdmc *host = (struct aic_sdmc *)priv;
hal_sdmc_set_phase(&host->host, host->pdata->drv_phase, phase);
}
void mmc_set_rx_delay(void *priv, u32 delay)
{
struct aic_sdmc *host = (struct aic_sdmc *)priv;
hal_sdmc_set_delay(&host->host, 0, delay);
}
u32 mmc_bread(void *priv, u32 start, u32 blkcnt, u8 *dst)
{
struct aic_sdmc *host = (struct aic_sdmc *)priv;
@@ -957,6 +972,12 @@ u32 mmc_write_blocks(struct aic_sdmc *host, const u8 *src, u32 start, u32 blkcnt
}
}
if (cmd.err || data.err) {
printf("write blocks failed, cmd.err:%d, data.err:%d, data.flags:0x%08x, data.blksize:0x%08x\n",
cmd.err, data.err, data.flags, data.blksize);
return 0;
}
return blkcnt;
}