blob: c61698adc02827e35df1fc15e328242f8c0fe857 [file] [log] [blame]
Simon Glassb255efc2022-04-24 23:31:24 -06001/* 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
Simon Glass80253462022-10-11 09:47:13 -060012#include <version_string.h>
13
Simon Glassb255efc2022-04-24 23:31:24 -060014/* Declare a new bootdev test */
Simon Glassb15512c2025-01-20 14:25:32 -070015#define BOOTSTD_TEST(_name, _flags) UNIT_TEST(_name, _flags, bootstd)
Simon Glass13b8f4f2025-02-07 11:30:48 -070016#define BOOTSTD_TEST_INIT(_name, _flags) UNIT_TEST_INIT(_name, _flags, bootstd)
Simon Glassb255efc2022-04-24 23:31:24 -060017
Simon Glass80253462022-10-11 09:47:13 -060018#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
Simon Glasse4cf1062023-01-17 10:48:13 -070023enum {
Simon Glassdeffa692023-01-28 15:00:28 -070024 MAX_HUNTER = 9,
Simon Glasse4cf1062023-01-17 10:48:13 -070025 MMC_HUNTER = 3, /* ID of MMC hunter */
26};
27
Simon Glassb255efc2022-04-24 23:31:24 -060028struct 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 */
37int bootstd_test_drop_bootdev_order(struct unit_test_state *uts);
38
Simon Glass80253462022-10-11 09:47:13 -060039/**
Simon Glassde567b12023-01-17 10:48:09 -070040 * 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 */
45int bootstd_test_check_mmc_hunter(struct unit_test_state *uts);
46
Simon Glass22c93da2024-09-01 16:26:16 -060047/**
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 */
53void bootstd_reset_usb(void);
54
Simon Glassb255efc2022-04-24 23:31:24 -060055#endif