Skip to content
Snippets Groups Projects
Commit 9a46bd3f authored by Simon Glass's avatar Simon Glass
Browse files

dm: sandbox: Convert to use CONFIG_CMD_MMC_OPS


Update the sandbox MMC emulation to use driver model for MMC operations.

Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
parent 3649a0fa
No related branches found
No related tags found
No related merge requests found
...@@ -63,6 +63,7 @@ config SANDBOX ...@@ -63,6 +63,7 @@ config SANDBOX
select DM_I2C select DM_I2C
select DM_SPI select DM_SPI
select DM_GPIO select DM_GPIO
select DM_MMC
config SH config SH
bool "SuperH architecture" bool "SuperH architecture"
......
CONFIG_SYS_MALLOC_F_LEN=0x2000 CONFIG_SYS_MALLOC_F_LEN=0x2000
CONFIG_BLK=y
CONFIG_MMC=y CONFIG_MMC=y
CONFIG_PCI=y CONFIG_PCI=y
CONFIG_DEFAULT_DEVICE_TREE="sandbox" CONFIG_DEFAULT_DEVICE_TREE="sandbox"
...@@ -71,6 +70,7 @@ CONFIG_DEVRES=y ...@@ -71,6 +70,7 @@ CONFIG_DEVRES=y
CONFIG_DEBUG_DEVRES=y CONFIG_DEBUG_DEVRES=y
CONFIG_ADC=y CONFIG_ADC=y
CONFIG_ADC_SANDBOX=y CONFIG_ADC_SANDBOX=y
CONFIG_BLK=y
CONFIG_CLK=y CONFIG_CLK=y
CONFIG_CPU=y CONFIG_CPU=y
CONFIG_DM_DEMO=y CONFIG_DM_DEMO=y
...@@ -101,7 +101,7 @@ CONFIG_CROS_EC_SPI=y ...@@ -101,7 +101,7 @@ CONFIG_CROS_EC_SPI=y
CONFIG_PWRSEQ=y CONFIG_PWRSEQ=y
CONFIG_SPL_PWRSEQ=y CONFIG_SPL_PWRSEQ=y
CONFIG_SYSRESET=y CONFIG_SYSRESET=y
CONFIG_DM_MMC=y CONFIG_DM_MMC_OPS=y
CONFIG_SANDBOX_MMC=y CONFIG_SANDBOX_MMC=y
CONFIG_SPI_FLASH_SANDBOX=y CONFIG_SPI_FLASH_SANDBOX=y
CONFIG_SPI_FLASH=y CONFIG_SPI_FLASH=y
......
...@@ -25,7 +25,7 @@ struct sandbox_mmc_plat { ...@@ -25,7 +25,7 @@ struct sandbox_mmc_plat {
* This emulate an SD card version 2. Single-block reads result in zero data. * This emulate an SD card version 2. Single-block reads result in zero data.
* Multiple-block reads return a test string. * Multiple-block reads return a test string.
*/ */
static int sandbox_mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, static int sandbox_mmc_send_cmd(struct udevice *dev, struct mmc_cmd *cmd,
struct mmc_data *data) struct mmc_data *data)
{ {
switch (cmd->cmdidx) { switch (cmd->cmdidx) {
...@@ -85,25 +85,20 @@ static int sandbox_mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd, ...@@ -85,25 +85,20 @@ static int sandbox_mmc_send_cmd(struct mmc *mmc, struct mmc_cmd *cmd,
return 0; return 0;
} }
static void sandbox_mmc_set_ios(struct mmc *mmc) static int sandbox_mmc_set_ios(struct udevice *dev)
{
}
static int sandbox_mmc_init(struct mmc *mmc)
{ {
return 0; return 0;
} }
static int sandbox_mmc_getcd(struct mmc *mmc) static int sandbox_mmc_get_cd(struct udevice *dev)
{ {
return 1; return 1;
} }
static const struct mmc_ops sandbox_mmc_ops = { static const struct dm_mmc_ops sandbox_mmc_ops = {
.send_cmd = sandbox_mmc_send_cmd, .send_cmd = sandbox_mmc_send_cmd,
.set_ios = sandbox_mmc_set_ios, .set_ios = sandbox_mmc_set_ios,
.init = sandbox_mmc_init, .get_cd = sandbox_mmc_get_cd,
.getcd = sandbox_mmc_getcd,
}; };
int sandbox_mmc_probe(struct udevice *dev) int sandbox_mmc_probe(struct udevice *dev)
...@@ -120,7 +115,6 @@ int sandbox_mmc_bind(struct udevice *dev) ...@@ -120,7 +115,6 @@ int sandbox_mmc_bind(struct udevice *dev)
int ret; int ret;
cfg->name = dev->name; cfg->name = dev->name;
cfg->ops = &sandbox_mmc_ops;
cfg->host_caps = MMC_MODE_HS_52MHz | MMC_MODE_HS | MMC_MODE_8BIT; cfg->host_caps = MMC_MODE_HS_52MHz | MMC_MODE_HS | MMC_MODE_8BIT;
cfg->voltages = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34; cfg->voltages = MMC_VDD_165_195 | MMC_VDD_32_33 | MMC_VDD_33_34;
cfg->f_min = 1000000; cfg->f_min = 1000000;
...@@ -150,6 +144,7 @@ U_BOOT_DRIVER(mmc_sandbox) = { ...@@ -150,6 +144,7 @@ U_BOOT_DRIVER(mmc_sandbox) = {
.name = "mmc_sandbox", .name = "mmc_sandbox",
.id = UCLASS_MMC, .id = UCLASS_MMC,
.of_match = sandbox_mmc_ids, .of_match = sandbox_mmc_ids,
.ops = &sandbox_mmc_ops,
.bind = sandbox_mmc_bind, .bind = sandbox_mmc_bind,
.unbind = sandbox_mmc_unbind, .unbind = sandbox_mmc_unbind,
.probe = sandbox_mmc_probe, .probe = sandbox_mmc_probe,
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment