1 /* 2 * Copyright (c) 2016, NVIDIA CORPORATION. 3 * 4 * SPDX-License-Identifier: GPL-2.0 5 */ 6 7 #include <common.h> 8 #include <dm.h> 9 #include <dm/test.h> 10 #include <asm/power-domain.h> 11 #include <test/ut.h> 12 13 /* This must match the specifier for power-domains in the DT node */ 14 #define TEST_POWER_DOMAIN 2 15 16 static int dm_test_power_domain(struct unit_test_state *uts) 17 { 18 struct udevice *dev_power_domain; 19 struct udevice *dev_test; 20 21 ut_assertok(uclass_get_device_by_name(UCLASS_POWER_DOMAIN, 22 "power-domain", 23 &dev_power_domain)); 24 ut_asserteq(0, sandbox_power_domain_query(dev_power_domain, 0)); 25 ut_asserteq(0, sandbox_power_domain_query(dev_power_domain, 26 TEST_POWER_DOMAIN)); 27 28 ut_assertok(uclass_get_device_by_name(UCLASS_MISC, "power-domain-test", 29 &dev_test)); 30 ut_assertok(sandbox_power_domain_test_get(dev_test)); 31 32 ut_assertok(sandbox_power_domain_test_on(dev_test)); 33 ut_asserteq(0, sandbox_power_domain_query(dev_power_domain, 0)); 34 ut_asserteq(1, sandbox_power_domain_query(dev_power_domain, 35 TEST_POWER_DOMAIN)); 36 37 ut_assertok(sandbox_power_domain_test_off(dev_test)); 38 ut_asserteq(0, sandbox_power_domain_query(dev_power_domain, 0)); 39 ut_asserteq(0, sandbox_power_domain_query(dev_power_domain, 40 TEST_POWER_DOMAIN)); 41 42 ut_assertok(sandbox_power_domain_test_free(dev_test)); 43 44 return 0; 45 } 46 DM_TEST(dm_test_power_domain, DM_TESTF_SCAN_FDT); 47