1*4581b717SStephen Warren /* 2*4581b717SStephen Warren * Copyright (c) 2016, NVIDIA CORPORATION. 3*4581b717SStephen Warren * 4*4581b717SStephen Warren * SPDX-License-Identifier: GPL-2.0 5*4581b717SStephen Warren */ 6*4581b717SStephen Warren 7*4581b717SStephen Warren #include <common.h> 8*4581b717SStephen Warren #include <dm.h> 9*4581b717SStephen Warren #include <dm/test.h> 10*4581b717SStephen Warren #include <asm/reset.h> 11*4581b717SStephen Warren #include <test/ut.h> 12*4581b717SStephen Warren 13*4581b717SStephen Warren /* This must match the specifier for mbox-names="test" in the DT node */ 14*4581b717SStephen Warren #define TEST_RESET_ID 2 15*4581b717SStephen Warren 16*4581b717SStephen Warren static int dm_test_reset(struct unit_test_state *uts) 17*4581b717SStephen Warren { 18*4581b717SStephen Warren struct udevice *dev_reset; 19*4581b717SStephen Warren struct udevice *dev_test; 20*4581b717SStephen Warren 21*4581b717SStephen Warren ut_assertok(uclass_get_device_by_name(UCLASS_RESET, "reset-ctl", 22*4581b717SStephen Warren &dev_reset)); 23*4581b717SStephen Warren ut_asserteq(0, sandbox_reset_query(dev_reset, TEST_RESET_ID)); 24*4581b717SStephen Warren 25*4581b717SStephen Warren ut_assertok(uclass_get_device_by_name(UCLASS_MISC, "reset-ctl-test", 26*4581b717SStephen Warren &dev_test)); 27*4581b717SStephen Warren ut_assertok(sandbox_reset_test_get(dev_test)); 28*4581b717SStephen Warren 29*4581b717SStephen Warren ut_assertok(sandbox_reset_test_assert(dev_test)); 30*4581b717SStephen Warren ut_asserteq(1, sandbox_reset_query(dev_reset, TEST_RESET_ID)); 31*4581b717SStephen Warren 32*4581b717SStephen Warren ut_assertok(sandbox_reset_test_deassert(dev_test)); 33*4581b717SStephen Warren ut_asserteq(0, sandbox_reset_query(dev_reset, TEST_RESET_ID)); 34*4581b717SStephen Warren 35*4581b717SStephen Warren ut_assertok(sandbox_reset_test_free(dev_test)); 36*4581b717SStephen Warren 37*4581b717SStephen Warren return 0; 38*4581b717SStephen Warren } 39*4581b717SStephen Warren DM_TEST(dm_test_reset, DM_TESTF_SCAN_FDT); 40