summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorSimon Glass <sjg@chromium.org>2018-11-06 15:21:41 -0700
committerSimon Glass <sjg@chromium.org>2018-11-20 19:14:22 -0700
commita58986ca8b53d8c7a441397082f84edc7f47d19f (patch)
treec9ec3c59244371d8ad9992a2ba332a7b50d33950 /test
parentf9d49f92f8cdf04a47704519a63368259595c3a0 (diff)
sf: Add a method to obtain the block-protect setting
It is useful to obtain the block-protect setting of the SPI flash, so we know whether it is fully open or (perhaps partially) write-protected. Add a method for this. Update the sandbox driver to process this operation and add a test. Signed-off-by: Simon Glass <sjg@chromium.org>
Diffstat (limited to 'test')
-rw-r--r--test/dm/sf.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/test/dm/sf.c b/test/dm/sf.c
index b23e7f8edd..35dce4e4c9 100644
--- a/test/dm/sf.c
+++ b/test/dm/sf.c
@@ -11,6 +11,7 @@
#include <spi.h>
#include <spi_flash.h>
#include <asm/state.h>
+#include <asm/test.h>
#include <dm/test.h>
#include <dm/util.h>
#include <test/ut.h>
@@ -45,6 +46,14 @@ static int dm_test_spi_flash(struct unit_test_state *uts)
ut_assertok(spi_flash_read_dm(dev, 0, size, dst));
ut_assertok(memcmp(src, dst, size));
+ /* Try the write-protect stuff */
+ ut_assertok(uclass_first_device_err(UCLASS_SPI_EMUL, &emul));
+ ut_asserteq(0, spl_flash_get_sw_write_prot(dev));
+ sandbox_sf_set_block_protect(emul, 1);
+ ut_asserteq(1, spl_flash_get_sw_write_prot(dev));
+ sandbox_sf_set_block_protect(emul, 0);
+ ut_asserteq(0, spl_flash_get_sw_write_prot(dev));
+
/*
* Since we are about to destroy all devices, we must tell sandbox
* to forget the emulation device