summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2023-01-17 20:48:02 +0300
committerTom Rini <trini@konsulko.com>2023-01-24 02:11:41 +0300
commit081bdc52c158dd3a4f73910cde3d7e70a5932d56 (patch)
tree9698094a3e2a36c06e054c17d9e820d0cb11017f /arch
parent22061d3d2ad10e1c67e36282a8c97f505a62c252 (diff)
downloadu-boot-081bdc52c158dd3a4f73910cde3d7e70a5932d56.tar.xz
sandbox: Allow SPI flash bootdevs to be disabled for tests
Most tests don't want these and they can create a lot of noise. Add a way to disable them. Use that in tests, with a flag provided to enable them for tests that need this feature. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'arch')
-rw-r--r--arch/sandbox/cpu/state.c14
-rw-r--r--arch/sandbox/include/asm/state.h1
-rw-r--r--arch/sandbox/include/asm/test.h14
3 files changed, 29 insertions, 0 deletions
diff --git a/arch/sandbox/cpu/state.c b/arch/sandbox/cpu/state.c
index 267f280df1..69da378ab5 100644
--- a/arch/sandbox/cpu/state.c
+++ b/arch/sandbox/cpu/state.c
@@ -460,6 +460,20 @@ bool sandbox_eth_enabled(void)
return !state->disable_eth;
}
+void sandbox_sf_set_enable_bootdevs(bool enable)
+{
+ struct sandbox_state *state = state_get_current();
+
+ state->disable_sf_bootdevs = !enable;
+}
+
+bool sandbox_sf_bootdev_enabled(void)
+{
+ struct sandbox_state *state = state_get_current();
+
+ return !state->disable_sf_bootdevs;
+}
+
int state_init(void)
{
state = &main_state;
diff --git a/arch/sandbox/include/asm/state.h b/arch/sandbox/include/asm/state.h
index f125fb87af..59a20595f5 100644
--- a/arch/sandbox/include/asm/state.h
+++ b/arch/sandbox/include/asm/state.h
@@ -97,6 +97,7 @@ struct sandbox_state {
bool handle_signals; /* Handle signals within sandbox */
bool autoboot_keyed; /* Use keyed-autoboot feature */
bool disable_eth; /* Disable Ethernet devices */
+ bool disable_sf_bootdevs; /* Don't bind SPI flash bootdevs */
/* Pointer to information for each SPI bus/cs */
struct sandbox_spi_info spi[CONFIG_SANDBOX_SPI_MAX_BUS]
diff --git a/arch/sandbox/include/asm/test.h b/arch/sandbox/include/asm/test.h
index 1c522e38f3..4853dc948f 100644
--- a/arch/sandbox/include/asm/test.h
+++ b/arch/sandbox/include/asm/test.h
@@ -360,4 +360,18 @@ void sandbox_set_eth_enable(bool enable);
*/
bool sandbox_eth_enabled(void);
+/**
+ * sandbox_sf_bootdev_enabled() - Check if SPI flash bootdevs should be bound
+ *
+ * Returns: true if sandbox should bind bootdevs for SPI flash, false if not
+ */
+bool sandbox_sf_bootdev_enabled(void);
+
+/**
+ * sandbox_sf_set_enable_bootdevs() - Enable / disable the SPI flash bootdevs
+ *
+ * @enable: true to bind the SPI flash bootdevs, false to skip
+ */
+void sandbox_sf_set_enable_bootdevs(bool enable);
+
#endif