dm: test: Add a test for the system controller uclass
Add a test to confirm that we can access system controllers and find their driver data. Signed-off-by: Simon Glass <sjg@chromium.org>utp
parent
3c43fba3d2
commit
04035fd36c
|
@ -240,6 +240,16 @@
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
|
||||||
|
syscon@0 {
|
||||||
|
compatible = "sandbox,syscon0";
|
||||||
|
reg = <0x10>;
|
||||||
|
};
|
||||||
|
|
||||||
|
syscon@1 {
|
||||||
|
compatible = "sandbox,syscon1";
|
||||||
|
reg = <0x20>;
|
||||||
|
};
|
||||||
|
|
||||||
uart0: serial {
|
uart0: serial {
|
||||||
compatible = "sandbox,serial";
|
compatible = "sandbox,serial";
|
||||||
u-boot,dm-pre-reloc;
|
u-boot,dm-pre-reloc;
|
||||||
|
|
|
@ -28,6 +28,14 @@ enum {
|
||||||
PERIPH_ID_COUNT,
|
PERIPH_ID_COUNT,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/* System controller driver data */
|
||||||
|
enum {
|
||||||
|
SYSCON0 = 32,
|
||||||
|
SYSCON1,
|
||||||
|
|
||||||
|
SYSCON_COUNT
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* sandbox_i2c_set_test_mode() - set test mode for running unit tests
|
* sandbox_i2c_set_test_mode() - set test mode for running unit tests
|
||||||
*
|
*
|
||||||
|
|
|
@ -51,3 +51,4 @@ CONFIG_RAM=y
|
||||||
CONFIG_DM_MMC=y
|
CONFIG_DM_MMC=y
|
||||||
CONFIG_LED=y
|
CONFIG_LED=y
|
||||||
CONFIG_LED_GPIO=y
|
CONFIG_LED_GPIO=y
|
||||||
|
CONFIG_SYSCON=y
|
||||||
|
|
|
@ -29,6 +29,7 @@ endif
|
||||||
obj-$(CONFIG_SMSC_LPC47M) += smsc_lpc47m.o
|
obj-$(CONFIG_SMSC_LPC47M) += smsc_lpc47m.o
|
||||||
obj-$(CONFIG_STATUS_LED) += status_led.o
|
obj-$(CONFIG_STATUS_LED) += status_led.o
|
||||||
obj-$(CONFIG_SANDBOX) += swap_case.o
|
obj-$(CONFIG_SANDBOX) += swap_case.o
|
||||||
|
obj-$(CONFIG_SANDBOX) += syscon_sandbox.o
|
||||||
obj-$(CONFIG_TWL4030_LED) += twl4030_led.o
|
obj-$(CONFIG_TWL4030_LED) += twl4030_led.o
|
||||||
obj-$(CONFIG_FSL_IFC) += fsl_ifc.o
|
obj-$(CONFIG_FSL_IFC) += fsl_ifc.o
|
||||||
obj-$(CONFIG_FSL_SEC_MON) += fsl_sec_mon.o
|
obj-$(CONFIG_FSL_SEC_MON) += fsl_sec_mon.o
|
||||||
|
|
|
@ -0,0 +1,27 @@
|
||||||
|
/*
|
||||||
|
* 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 <syscon.h>
|
||||||
|
#include <asm/test.h>
|
||||||
|
#include <dm/lists.h>
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
static const struct udevice_id sandbox_syscon_ids[] = {
|
||||||
|
{ .compatible = "sandbox,syscon0", .data = SYSCON0 },
|
||||||
|
{ .compatible = "sandbox,syscon1", .data = SYSCON1 },
|
||||||
|
{ }
|
||||||
|
};
|
||||||
|
|
||||||
|
U_BOOT_DRIVER(sandbox_syscon) = {
|
||||||
|
.name = "sandbox_syscon",
|
||||||
|
.id = UCLASS_SYSCON,
|
||||||
|
.of_match = sandbox_syscon_ids,
|
||||||
|
};
|
|
@ -27,6 +27,7 @@ obj-$(CONFIG_RESET) += reset.o
|
||||||
obj-$(CONFIG_DM_RTC) += rtc.o
|
obj-$(CONFIG_DM_RTC) += rtc.o
|
||||||
obj-$(CONFIG_DM_SPI_FLASH) += sf.o
|
obj-$(CONFIG_DM_SPI_FLASH) += sf.o
|
||||||
obj-$(CONFIG_DM_SPI) += spi.o
|
obj-$(CONFIG_DM_SPI) += spi.o
|
||||||
|
obj-y += syscon.o
|
||||||
obj-$(CONFIG_DM_USB) += usb.o
|
obj-$(CONFIG_DM_USB) += usb.o
|
||||||
obj-$(CONFIG_DM_PMIC) += pmic.o
|
obj-$(CONFIG_DM_PMIC) += pmic.o
|
||||||
obj-$(CONFIG_DM_REGULATOR) += regulator.o
|
obj-$(CONFIG_DM_REGULATOR) += regulator.o
|
||||||
|
|
|
@ -0,0 +1,31 @@
|
||||||
|
/*
|
||||||
|
* Copyright (C) 2015 Google, Inc
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: GPL-2.0+
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <common.h>
|
||||||
|
#include <dm.h>
|
||||||
|
#include <syscon.h>
|
||||||
|
#include <asm/test.h>
|
||||||
|
#include <dm/test.h>
|
||||||
|
#include <test/ut.h>
|
||||||
|
|
||||||
|
DECLARE_GLOBAL_DATA_PTR;
|
||||||
|
|
||||||
|
/* Base test of system controllers */
|
||||||
|
static int dm_test_syscon_base(struct unit_test_state *uts)
|
||||||
|
{
|
||||||
|
struct udevice *dev;
|
||||||
|
|
||||||
|
ut_assertok(uclass_get_device(UCLASS_SYSCON, 0, &dev));
|
||||||
|
ut_asserteq(SYSCON0, dev->driver_data);
|
||||||
|
|
||||||
|
ut_assertok(uclass_get_device(UCLASS_SYSCON, 1, &dev));
|
||||||
|
ut_asserteq(SYSCON1, dev->driver_data);
|
||||||
|
|
||||||
|
ut_asserteq(-ENODEV, uclass_get_device(UCLASS_SYSCON, 2, &dev));
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
DM_TEST(dm_test_syscon_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
|
Loading…
Reference in New Issue