1 // SPDX-License-Identifier: GPL-2.0+
2 /*
3 * (C) Copyright 2015
4 * Texas Instruments Incorporated - http://www.ti.com/
5 */
6 #include <common.h>
7 #include <dm.h>
8 #include <errno.h>
9 #include <remoteproc.h>
10 #include <dm/test.h>
11 #include <test/ut.h>
12 /**
13 * dm_test_remoteproc_base() - test the operations after initializations
14 * @uts: unit test state
15 *
16 * Return: 0 if test passed, else error
17 */
dm_test_remoteproc_base(struct unit_test_state * uts)18 static int dm_test_remoteproc_base(struct unit_test_state *uts)
19 {
20 if (!rproc_is_initialized())
21 ut_assertok(rproc_init());
22
23 /* Ensure we are initialized */
24 ut_asserteq(true, rproc_is_initialized());
25
26
27 /* platform data device 1 */
28 ut_assertok(rproc_stop(0));
29 ut_assertok(rproc_reset(0));
30 /* -> invalid attempt tests */
31 ut_asserteq(-EINVAL, rproc_start(0));
32 ut_asserteq(-EINVAL, rproc_ping(0));
33 /* Valid tests */
34 ut_assertok(rproc_load(0, 1, 0));
35 ut_assertok(rproc_start(0));
36 ut_assertok(rproc_is_running(0));
37 ut_assertok(rproc_ping(0));
38 ut_assertok(rproc_reset(0));
39 ut_assertok(rproc_stop(0));
40
41 /* dt device device 1 */
42 ut_assertok(rproc_stop(1));
43 ut_assertok(rproc_reset(1));
44 ut_assertok(rproc_load(1, 1, 0));
45 ut_assertok(rproc_start(1));
46 ut_assertok(rproc_is_running(1));
47 ut_assertok(rproc_ping(1));
48 ut_assertok(rproc_reset(1));
49 ut_assertok(rproc_stop(1));
50
51 /* dt device device 2 */
52 ut_assertok(rproc_stop(0));
53 ut_assertok(rproc_reset(0));
54 /* -> invalid attempt tests */
55 ut_asserteq(-EINVAL, rproc_start(0));
56 ut_asserteq(-EINVAL, rproc_ping(0));
57 /* Valid tests */
58 ut_assertok(rproc_load(2, 1, 0));
59 ut_assertok(rproc_start(2));
60 ut_assertok(rproc_is_running(2));
61 ut_assertok(rproc_ping(2));
62 ut_assertok(rproc_reset(2));
63 ut_assertok(rproc_stop(2));
64
65 return 0;
66 }
67 DM_TEST(dm_test_remoteproc_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);
68