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