Commit 64ce0cad authored by Simon Glass's avatar Simon Glass

dm: test: Add a test for the ram uclass

Add a test to confirm that we can probe this device and get information on
the available RAM.
Signed-off-by: default avatarSimon Glass <sjg@chromium.org>
parent 201c29a2
......@@ -196,6 +196,10 @@
};
};
ram {
compatible = "sandbox,ram";
};
reset@0 {
compatible = "sandbox,warm-reset";
};
......
......@@ -47,3 +47,4 @@ CONFIG_UT_DM=y
CONFIG_UT_ENV=y
CONFIG_CLK=y
CONFIG_RESET=y
CONFIG_RAM=y
......@@ -5,3 +5,4 @@
# SPDX-License-Identifier: GPL-2.0+
#
obj-$(CONFIG_RAM) += ram-uclass.o
obj-$(CONFIG_SANDBOX) += sandbox_ram.o
/*
* Copyright (c) 2015 Google, Inc
* Written by Simon Glass <sjg@chromium.org>
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <errno.h>
#include <ram.h>
#include <asm/test.h>
DECLARE_GLOBAL_DATA_PTR;
static int sandbox_get_info(struct udevice *dev, struct ram_info *info)
{
info->base = 0;
info->size = gd->ram_size;
return 0;
}
static const struct ram_ops sandbox_ram_ops = {
.get_info = sandbox_get_info,
};
static const struct udevice_id sandbox_ram_ids[] = {
{ .compatible = "sandbox,ram" },
{ }
};
U_BOOT_DRIVER(warm_ram_sandbox) = {
.name = "ram_sandbox",
.id = UCLASS_RAM,
.of_match = sandbox_ram_ids,
.ops = &sandbox_ram_ops,
};
......@@ -20,6 +20,7 @@ obj-$(CONFIG_DM_ETH) += eth.o
obj-$(CONFIG_DM_GPIO) += gpio.o
obj-$(CONFIG_DM_I2C) += i2c.o
obj-$(CONFIG_DM_PCI) += pci.o
obj-$(CONFIG_RAM) += ram.o
obj-$(CONFIG_RESET) += reset.o
obj-$(CONFIG_DM_RTC) += rtc.o
obj-$(CONFIG_DM_SPI_FLASH) += sf.o
......
/*
* Copyright (C) 2015 Google, Inc
*
* SPDX-License-Identifier: GPL-2.0+
*/
#include <common.h>
#include <dm.h>
#include <ram.h>
#include <dm/test.h>
#include <test/ut.h>
DECLARE_GLOBAL_DATA_PTR;
/* Basic test of the ram uclass */
static int dm_test_ram_base(struct unit_test_state *uts)
{
struct udevice *dev;
struct ram_info info;
ut_assertok(uclass_get_device(UCLASS_RAM, 0, &dev));
ut_assertok(ram_get_info(dev, &info));
ut_asserteq(0, info.base);
ut_asserteq(gd->ram_size, info.size);
return 0;
}
DM_TEST(dm_test_ram_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment