1 // SPDX-License-Identifier: GPL-2.0+
3 * (C) 2018 Theobroma Systems Design und Consulting GmbH
8 #include <reboot-mode/reboot-mode.h>
14 #include <test/test.h>
17 static int dm_test_reboot_mode_gpio(struct unit_test_state *uts)
19 struct udevice *gpio_dev;
20 struct udevice *rm_dev;
24 uclass_get_device_by_name(UCLASS_GPIO, "pinmux-gpios", &gpio_dev);
26 /* Prepare the GPIOs for "download" mode */
27 sandbox_gpio_set_direction(gpio_dev, gpio0_offset, 0);
28 sandbox_gpio_set_direction(gpio_dev, gpio1_offset, 0);
29 sandbox_gpio_set_value(gpio_dev, gpio0_offset, 1);
30 sandbox_gpio_set_value(gpio_dev, gpio1_offset, 1);
32 ut_assertok(uclass_get_device_by_name(UCLASS_REBOOT_MODE,
33 "reboot-mode0", &rm_dev));
34 ut_assertok(dm_reboot_mode_update(rm_dev));
36 ut_asserteq_str("download", env_get("bootstatus"));
41 DM_TEST(dm_test_reboot_mode_gpio,
42 UT_TESTF_PROBE_TEST | UT_TESTF_SCAN_FDT | UT_TESTF_FLAT_TREE);