remoteproc.c 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. /*
  2. * (C) Copyright 2015
  3. * Texas Instruments Incorporated - http://www.ti.com/
  4. * SPDX-License-Identifier: GPL-2.0+
  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. */
  18. static int dm_test_remoteproc_base(struct unit_test_state *uts)
  19. {
  20. if (!rproc_is_initialized())
  21. ut_assertok(rproc_init());
  22. /* Ensure we are initialized */
  23. ut_asserteq(true, rproc_is_initialized());
  24. /* platform data device 1 */
  25. ut_assertok(rproc_stop(0));
  26. ut_assertok(rproc_reset(0));
  27. /* -> invalid attempt tests */
  28. ut_asserteq(-EINVAL, rproc_start(0));
  29. ut_asserteq(-EINVAL, rproc_ping(0));
  30. /* Valid tests */
  31. ut_assertok(rproc_load(0, 1, 0));
  32. ut_assertok(rproc_start(0));
  33. ut_assertok(rproc_is_running(0));
  34. ut_assertok(rproc_ping(0));
  35. ut_assertok(rproc_reset(0));
  36. ut_assertok(rproc_stop(0));
  37. /* dt device device 1 */
  38. ut_assertok(rproc_stop(1));
  39. ut_assertok(rproc_reset(1));
  40. ut_assertok(rproc_load(1, 1, 0));
  41. ut_assertok(rproc_start(1));
  42. ut_assertok(rproc_is_running(1));
  43. ut_assertok(rproc_ping(1));
  44. ut_assertok(rproc_reset(1));
  45. ut_assertok(rproc_stop(1));
  46. /* dt device device 2 */
  47. ut_assertok(rproc_stop(0));
  48. ut_assertok(rproc_reset(0));
  49. /* -> invalid attempt tests */
  50. ut_asserteq(-EINVAL, rproc_start(0));
  51. ut_asserteq(-EINVAL, rproc_ping(0));
  52. /* Valid tests */
  53. ut_assertok(rproc_load(2, 1, 0));
  54. ut_assertok(rproc_start(2));
  55. ut_assertok(rproc_is_running(2));
  56. ut_assertok(rproc_ping(2));
  57. ut_assertok(rproc_reset(2));
  58. ut_assertok(rproc_stop(2));
  59. return 0;
  60. }
  61. DM_TEST(dm_test_remoteproc_base, DM_TESTF_SCAN_PDATA | DM_TESTF_SCAN_FDT);