bdk: storage: small mmc refactoring
- Correct some Response Type names - And use _def for mmc defines similarly to sd_def
This commit is contained in:
@@ -24,7 +24,7 @@
|
|||||||
#include <input/als.h>
|
#include <input/als.h>
|
||||||
#include <input/joycon.h>
|
#include <input/joycon.h>
|
||||||
#include <input/touch.h>
|
#include <input/touch.h>
|
||||||
#include <mem/emc.h>
|
#include <mem/emc_t210.h>
|
||||||
#include <mem/heap.h>
|
#include <mem/heap.h>
|
||||||
#include <mem/mc.h>
|
#include <mem/mc.h>
|
||||||
#include <mem/minerva.h>
|
#include <mem/minerva.h>
|
||||||
@@ -58,7 +58,7 @@
|
|||||||
#include <soc/uart.h>
|
#include <soc/uart.h>
|
||||||
#include <storage/emmc.h>
|
#include <storage/emmc.h>
|
||||||
#include <storage/mbr_gpt.h>
|
#include <storage/mbr_gpt.h>
|
||||||
#include <storage/mmc.h>
|
#include <storage/mmc_def.h>
|
||||||
#include <storage/nx_emmc_bis.h>
|
#include <storage/nx_emmc_bis.h>
|
||||||
#include <storage/ramdisk.h>
|
#include <storage/ramdisk.h>
|
||||||
#include <storage/sd.h>
|
#include <storage/sd.h>
|
||||||
|
|||||||
@@ -22,7 +22,7 @@
|
|||||||
#include <soc/timer.h>
|
#include <soc/timer.h>
|
||||||
#include <storage/emmc.h>
|
#include <storage/emmc.h>
|
||||||
#include <storage/sdmmc.h>
|
#include <storage/sdmmc.h>
|
||||||
#include <storage/mmc.h>
|
#include <storage/mmc_def.h>
|
||||||
#include <storage/sd.h>
|
#include <storage/sd.h>
|
||||||
#include <storage/sd_def.h>
|
#include <storage/sd_def.h>
|
||||||
#include <memory_map.h>
|
#include <memory_map.h>
|
||||||
@@ -971,7 +971,7 @@ static int _sd_storage_send_if_cond(sdmmc_storage_t *storage, bool *is_sdsc)
|
|||||||
{
|
{
|
||||||
sdmmc_cmd_t cmdbuf;
|
sdmmc_cmd_t cmdbuf;
|
||||||
u16 vhd_pattern = SD_VHS_27_36 | 0xAA;
|
u16 vhd_pattern = SD_VHS_27_36 | 0xAA;
|
||||||
sdmmc_init_cmd(&cmdbuf, SD_SEND_IF_COND, vhd_pattern, SDMMC_RSP_TYPE_5, 0);
|
sdmmc_init_cmd(&cmdbuf, SD_SEND_IF_COND, vhd_pattern, SDMMC_RSP_TYPE_7, 0);
|
||||||
if (!sdmmc_execute_cmd(storage->sdmmc, &cmdbuf, NULL, NULL))
|
if (!sdmmc_execute_cmd(storage->sdmmc, &cmdbuf, NULL, NULL))
|
||||||
{
|
{
|
||||||
// The SD Card is version 1.X (SDSC) if there is no response.
|
// The SD Card is version 1.X (SDSC) if there is no response.
|
||||||
@@ -986,7 +986,7 @@ static int _sd_storage_send_if_cond(sdmmc_storage_t *storage, bool *is_sdsc)
|
|||||||
|
|
||||||
// For Card version >= 2.0, parse results.
|
// For Card version >= 2.0, parse results.
|
||||||
u32 resp = 0;
|
u32 resp = 0;
|
||||||
sdmmc_get_cached_rsp(storage->sdmmc, &resp, SDMMC_RSP_TYPE_5);
|
sdmmc_get_cached_rsp(storage->sdmmc, &resp, SDMMC_RSP_TYPE_7);
|
||||||
|
|
||||||
// Check if VHD was accepted and pattern was properly returned.
|
// Check if VHD was accepted and pattern was properly returned.
|
||||||
if ((resp & 0xFFF) == vhd_pattern)
|
if ((resp & 0xFFF) == vhd_pattern)
|
||||||
@@ -1069,7 +1069,7 @@ static int _sd_storage_get_op_cond(sdmmc_storage_t *storage, bool is_sdsc, int b
|
|||||||
static int _sd_storage_get_rca(sdmmc_storage_t *storage)
|
static int _sd_storage_get_rca(sdmmc_storage_t *storage)
|
||||||
{
|
{
|
||||||
sdmmc_cmd_t cmdbuf;
|
sdmmc_cmd_t cmdbuf;
|
||||||
sdmmc_init_cmd(&cmdbuf, SD_SEND_RELATIVE_ADDR, 0, SDMMC_RSP_TYPE_4, 0);
|
sdmmc_init_cmd(&cmdbuf, SD_SEND_RELATIVE_ADDR, 0, SDMMC_RSP_TYPE_6, 0);
|
||||||
|
|
||||||
u32 timeout = get_tmr_ms() + 1500;
|
u32 timeout = get_tmr_ms() + 1500;
|
||||||
|
|
||||||
@@ -1079,7 +1079,7 @@ static int _sd_storage_get_rca(sdmmc_storage_t *storage)
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
u32 resp = 0;
|
u32 resp = 0;
|
||||||
if (!sdmmc_get_cached_rsp(storage->sdmmc, &resp, SDMMC_RSP_TYPE_4))
|
if (!sdmmc_get_cached_rsp(storage->sdmmc, &resp, SDMMC_RSP_TYPE_6))
|
||||||
break;
|
break;
|
||||||
|
|
||||||
if (resp >> 16)
|
if (resp >> 16)
|
||||||
|
|||||||
@@ -17,7 +17,7 @@
|
|||||||
|
|
||||||
#include <string.h>
|
#include <string.h>
|
||||||
|
|
||||||
#include <storage/mmc.h>
|
#include <storage/mmc_def.h>
|
||||||
#include <storage/sdmmc.h>
|
#include <storage/sdmmc.h>
|
||||||
#include <gfx_utils.h>
|
#include <gfx_utils.h>
|
||||||
#include <power/max7762x.h>
|
#include <power/max7762x.h>
|
||||||
@@ -115,7 +115,7 @@ static int _sdmmc_config_tap_val(sdmmc_t *sdmmc, u32 type)
|
|||||||
u32 tap_val = 0;
|
u32 tap_val = 0;
|
||||||
|
|
||||||
if (type == SDHCI_TIMING_MMC_HS400)
|
if (type == SDHCI_TIMING_MMC_HS400)
|
||||||
sdmmc->regs->vencapover = (sdmmc->regs->vencapover & 0xFFFFC0FF) | (dqs_trim_val << 8);
|
sdmmc->regs->vencapover = (sdmmc->regs->vencapover & ~0x3F00) | (dqs_trim_val << 8);
|
||||||
|
|
||||||
sdmmc->regs->ventunctl0 &= ~SDHCI_TEGRA_TUNING_TAP_HW_UPDATED;
|
sdmmc->regs->ventunctl0 &= ~SDHCI_TEGRA_TUNING_TAP_HW_UPDATED;
|
||||||
|
|
||||||
@@ -129,7 +129,7 @@ static int _sdmmc_config_tap_val(sdmmc_t *sdmmc, u32 type)
|
|||||||
else
|
else
|
||||||
tap_val = sdmmc->t210b01 ? 11 : tap_values_t210[sdmmc->id];
|
tap_val = sdmmc->t210b01 ? 11 : tap_values_t210[sdmmc->id];
|
||||||
|
|
||||||
sdmmc->regs->venclkctl = (sdmmc->regs->venclkctl & 0xFF00FFFF) | (tap_val << 16);
|
sdmmc->regs->venclkctl = (sdmmc->regs->venclkctl & ~0xFF0000) | (tap_val << 16);
|
||||||
|
|
||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
@@ -437,8 +437,8 @@ static int _sdmmc_cache_rsp(sdmmc_t *sdmmc, u32 *rsp, u32 type)
|
|||||||
{
|
{
|
||||||
case SDMMC_RSP_TYPE_1:
|
case SDMMC_RSP_TYPE_1:
|
||||||
case SDMMC_RSP_TYPE_3:
|
case SDMMC_RSP_TYPE_3:
|
||||||
case SDMMC_RSP_TYPE_4:
|
case SDMMC_RSP_TYPE_6:
|
||||||
case SDMMC_RSP_TYPE_5:
|
case SDMMC_RSP_TYPE_7:
|
||||||
rsp[0] = sdmmc->regs->rspreg[0];
|
rsp[0] = sdmmc->regs->rspreg[0];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -470,8 +470,8 @@ int sdmmc_get_cached_rsp(sdmmc_t *sdmmc, u32 *rsp, u32 type)
|
|||||||
{
|
{
|
||||||
case SDMMC_RSP_TYPE_1:
|
case SDMMC_RSP_TYPE_1:
|
||||||
case SDMMC_RSP_TYPE_3:
|
case SDMMC_RSP_TYPE_3:
|
||||||
case SDMMC_RSP_TYPE_4:
|
case SDMMC_RSP_TYPE_6:
|
||||||
case SDMMC_RSP_TYPE_5:
|
case SDMMC_RSP_TYPE_7:
|
||||||
rsp[0] = sdmmc->rsp[0];
|
rsp[0] = sdmmc->rsp[0];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
@@ -560,8 +560,8 @@ static int _sdmmc_send_cmd(sdmmc_t *sdmmc, const sdmmc_cmd_t *cmd, bool is_data_
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case SDMMC_RSP_TYPE_1:
|
case SDMMC_RSP_TYPE_1:
|
||||||
case SDMMC_RSP_TYPE_4:
|
case SDMMC_RSP_TYPE_6:
|
||||||
case SDMMC_RSP_TYPE_5:
|
case SDMMC_RSP_TYPE_7:
|
||||||
if (cmd->check_busy)
|
if (cmd->check_busy)
|
||||||
cmdflags = SDHCI_CMD_RESP_LEN48_BUSY | SDHCI_CMD_INDEX | SDHCI_CMD_CRC;
|
cmdflags = SDHCI_CMD_RESP_LEN48_BUSY | SDHCI_CMD_INDEX | SDHCI_CMD_CRC;
|
||||||
else
|
else
|
||||||
|
|||||||
@@ -37,8 +37,8 @@
|
|||||||
#define SDMMC_RSP_TYPE_1 1
|
#define SDMMC_RSP_TYPE_1 1
|
||||||
#define SDMMC_RSP_TYPE_2 2
|
#define SDMMC_RSP_TYPE_2 2
|
||||||
#define SDMMC_RSP_TYPE_3 3
|
#define SDMMC_RSP_TYPE_3 3
|
||||||
#define SDMMC_RSP_TYPE_4 4
|
#define SDMMC_RSP_TYPE_6 4
|
||||||
#define SDMMC_RSP_TYPE_5 5
|
#define SDMMC_RSP_TYPE_7 5
|
||||||
|
|
||||||
/*! SDMMC bus widths. */
|
/*! SDMMC bus widths. */
|
||||||
#define SDMMC_BUS_WIDTH_1 0
|
#define SDMMC_BUS_WIDTH_1 0
|
||||||
|
|||||||
Reference in New Issue
Block a user