1 /* SPDX-License-Identifier: GPL-2.0+ */
2 /*
3  * Common header file for bootdev, bootflow, bootmeth tests
4  *
5  * Copyright 2021 Google LLC
6  * Written by Simon Glass <sjg@chromium.org>
7  */
8 
9 #ifndef __bootstd_common_h
10 #define __bootstd_common_h
11 
12 #include <version_string.h>
13 
14 /* Declare a new bootdev test */
15 #define BOOTSTD_TEST(_name, _flags)	UNIT_TEST(_name, _flags, bootstd)
16 #define BOOTSTD_TEST_INIT(_name, _flags) UNIT_TEST_INIT(_name, _flags, bootstd)
17 
18 #define NVDATA_START_BLK	((0x400 + 0x400) / MMC_MAX_BLOCK_LEN)
19 #define VERSION_START_BLK	((0x400 + 0x800) / MMC_MAX_BLOCK_LEN)
20 #define TEST_VERSION		"U-Boot v2022.04-local2"
21 #define TEST_VERNUM		0x00010002
22 
23 enum {
24 	MAX_HUNTER	= 9,
25 	MMC_HUNTER	= 3,	/* ID of MMC hunter */
26 };
27 
28 struct unit_test_state;
29 
30 /**
31  * bootstd_test_drop_bootdev_order() - Remove the existing boot order
32  *
33  * Drop the boot order so that all bootdevs are used in their alias order
34  *
35  * @uts: Unit test state to use for ut_assert...() functions
36  */
37 int bootstd_test_drop_bootdev_order(struct unit_test_state *uts);
38 
39 /**
40  * bootstd_test_check_mmc_hunter() - Check that the mmc bootdev hunter was used
41  *
42  * @uts: Unit test state to use for ut_assert...() functions
43  * Returns: 0 if OK (used), other value on error (not used)
44  */
45 int bootstd_test_check_mmc_hunter(struct unit_test_state *uts);
46 
47 /**
48  * bootstd_reset_usb() - Reset the USB subsystem
49  *
50  * Resets USB so that it can be started (and scanning) again. This is useful in
51  * tests which need to use USB.
52  */
53 void bootstd_reset_usb(void);
54 
55 #endif
56