blob: e29036c897ccba3a03b80c8af6418bc0e688779d [file] [log] [blame]
/* SPDX-License-Identifier: GPL-2.0+ */
/*
* Common header file for bootdev, bootflow, bootmeth tests
*
* Copyright 2021 Google LLC
* Written by Simon Glass <sjg@chromium.org>
*/
#ifndef __bootstd_common_h
#define __bootstd_common_h
#include <version_string.h>
/* Declare a new bootdev test */
#define BOOTSTD_TEST(_name, _flags) \
UNIT_TEST(_name, _flags, bootstd_test)
#define NVDATA_START_BLK ((0x400 + 0x400) / MMC_MAX_BLOCK_LEN)
#define VERSION_START_BLK ((0x400 + 0x800) / MMC_MAX_BLOCK_LEN)
#define TEST_VERSION "U-Boot v2022.04-local2"
#define TEST_VERNUM 0x00010002
enum {
MAX_HUNTER = 9,
MMC_HUNTER = 3, /* ID of MMC hunter */
};
struct unit_test_state;
/**
* bootstd_test_drop_bootdev_order() - Remove the existing boot order
*
* Drop the boot order so that all bootdevs are used in their alias order
*
* @uts: Unit test state to use for ut_assert...() functions
*/
int bootstd_test_drop_bootdev_order(struct unit_test_state *uts);
/**
* bootstd_setup_for_tests() - Set up MMC data for VBE tests
*
* Some data is needed for VBE tests to work. This function sets that up.
*
* @return 0 if OK, -ve on error
*/
int bootstd_setup_for_tests(void);
/**
* bootstd_test_check_mmc_hunter() - Check that the mmc bootdev hunter was used
*
* @uts: Unit test state to use for ut_assert...() functions
* Returns: 0 if OK (used), other value on error (not used)
*/
int bootstd_test_check_mmc_hunter(struct unit_test_state *uts);
/**
* bootstd_reset_usb() - Reset the USB subsystem
*
* Resets USB so that it can be started (and scanning) again. This is useful in
* tests which need to use USB.
*/
void bootstd_reset_usb(void);
#endif