]> git.sur5r.net Git - u-boot/blob - test/dm/mailbox.c
Merge git://git.denx.de/u-boot-net
[u-boot] / test / dm / mailbox.c
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/mbox.h>
11 #include <test/ut.h>
12
13 static int dm_test_mailbox(struct unit_test_state *uts)
14 {
15         struct udevice *dev;
16         uint32_t msg;
17
18         ut_assertok(uclass_get_device_by_name(UCLASS_MISC, "mbox-test", &dev));
19         ut_assertok(sandbox_mbox_test_get(dev));
20
21         ut_asserteq(-ETIMEDOUT, sandbox_mbox_test_recv(dev, &msg));
22         ut_assertok(sandbox_mbox_test_send(dev, 0xaaff9955UL));
23         ut_assertok(sandbox_mbox_test_recv(dev, &msg));
24         ut_asserteq(msg, 0xaaff9955UL ^ SANDBOX_MBOX_PING_XOR);
25         ut_asserteq(-ETIMEDOUT, sandbox_mbox_test_recv(dev, &msg));
26
27         ut_assertok(sandbox_mbox_test_free(dev));
28
29         return 0;
30 }
31 DM_TEST(dm_test_mailbox, DM_TESTF_SCAN_FDT);