Add a test to confirm that we can probe this device. Since there is no MMC stack support in sandbox at present, this is as far as the test goes.
Signed-off-by: Simon Glass <s...@chromium.org> --- arch/sandbox/dts/test.dts | 4 ++++ configs/sandbox_defconfig | 1 + drivers/mmc/Makefile | 1 + drivers/mmc/sandbox_mmc.c | 25 +++++++++++++++++++++++++ test/dm/Makefile | 1 + test/dm/mmc.c | 27 +++++++++++++++++++++++++++ 6 files changed, 59 insertions(+) create mode 100644 drivers/mmc/sandbox_mmc.c create mode 100644 test/dm/mmc.c diff --git a/arch/sandbox/dts/test.dts b/arch/sandbox/dts/test.dts index c884aeb..3b4ce2e5 100644 --- a/arch/sandbox/dts/test.dts +++ b/arch/sandbox/dts/test.dts @@ -183,6 +183,10 @@ }; }; + mmc { + compatible = "sandbox,mmc"; + }; + pci: pci-controller { compatible = "sandbox,pci"; device_type = "pci"; diff --git a/configs/sandbox_defconfig b/configs/sandbox_defconfig index 2e4a0a7..159f6e0 100644 --- a/configs/sandbox_defconfig +++ b/configs/sandbox_defconfig @@ -47,3 +47,4 @@ CONFIG_CLK=y CONFIG_PINCTRL=y CONFIG_RESET=y CONFIG_RAM=y +CONFIG_DM_MMC=y diff --git a/drivers/mmc/Makefile b/drivers/mmc/Makefile index 83e1ff3..753353e 100644 --- a/drivers/mmc/Makefile +++ b/drivers/mmc/Makefile @@ -32,6 +32,7 @@ obj-$(CONFIG_ROCKCHIP_MMC) += rockchip_mmc.o obj-$(CONFIG_SUPPORT_EMMC_RPMB) += rpmb.o obj-$(CONFIG_S3C_SDI) += s3c_sdi.o obj-$(CONFIG_S5P_SDHCI) += s5p_sdhci.o +obj-$(CONFIG_SANDBOX) += sandbox_mmc.o obj-$(CONFIG_SDHCI) += sdhci.o obj-$(CONFIG_SH_MMCIF) += sh_mmcif.o obj-$(CONFIG_SH_SDHI) += sh_sdhi.o diff --git a/drivers/mmc/sandbox_mmc.c b/drivers/mmc/sandbox_mmc.c new file mode 100644 index 0000000..f4646a8 --- /dev/null +++ b/drivers/mmc/sandbox_mmc.c @@ -0,0 +1,25 @@ +/* + * Copyright (c) 2015 Google, Inc + * Written by Simon Glass <s...@chromium.org> + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <dm.h> +#include <errno.h> +#include <mmc.h> +#include <asm/test.h> + +DECLARE_GLOBAL_DATA_PTR; + +static const struct udevice_id sandbox_mmc_ids[] = { + { .compatible = "sandbox,mmc" }, + { } +}; + +U_BOOT_DRIVER(warm_mmc_sandbox) = { + .name = "mmc_sandbox", + .id = UCLASS_MMC, + .of_match = sandbox_mmc_ids, +}; diff --git a/test/dm/Makefile b/test/dm/Makefile index f649486..2238a0f 100644 --- a/test/dm/Makefile +++ b/test/dm/Makefile @@ -19,6 +19,7 @@ obj-$(CONFIG_CLK) += clk.o obj-$(CONFIG_DM_ETH) += eth.o obj-$(CONFIG_DM_GPIO) += gpio.o obj-$(CONFIG_DM_I2C) += i2c.o +obj-$(CONFIG_DM_MMC) += mmc.o obj-$(CONFIG_DM_PCI) += pci.o obj-$(CONFIG_PINCTRL) += pinctrl.o obj-$(CONFIG_RAM) += ram.o diff --git a/test/dm/mmc.c b/test/dm/mmc.c new file mode 100644 index 0000000..0461423 --- /dev/null +++ b/test/dm/mmc.c @@ -0,0 +1,27 @@ +/* + * Copyright (C) 2015 Google, Inc + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <common.h> +#include <dm.h> +#include <mmc.h> +#include <dm/test.h> +#include <test/ut.h> + +DECLARE_GLOBAL_DATA_PTR; + +/* + * Basic test of the mmc uclass. We could expand this by implementing an MMC + * stack for sandbox, or at least implementing the basic operation. + */ +static int dm_test_mmc_base(struct unit_test_state *uts) +{ + struct udevice *dev; + + ut_assertok(uclass_get_device(UCLASS_MMC, 0, &dev)); + + return 0; +} +DM_TEST(dm_test_mmc_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT); -- 2.4.3.573.g4eafbef _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot