]>
Commit | Line | Data |
---|---|---|
61f5ddcb SW |
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); |