summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOvidiu Panait <ovidiu.panait@windriver.com>2020-12-14 20:06:49 +0300
committerSimon Glass <sjg@chromium.org>2020-12-23 06:39:26 +0300
commitadd685fb6d8de91723d006a0382f76041320b529 (patch)
tree1d2cbedf8cc08a601cc899e3e54b3aaf1870f1ac
parent2da1800456909944b393ad8539edb0bf3e997e2d (diff)
downloadu-boot-add685fb6d8de91723d006a0382f76041320b529.tar.xz
test: spi: Add sandbox_spi_get_{speed, mode} interface
Introduce sandbox_spi_get_{speed, mode} public interface to retrieve the sandbox spi bus internal state. They are meant to be used in sandbox spi testcases. Signed-off-by: Ovidiu Panait <ovidiu.panait@windriver.com> Reviewed-by: Simon Glass <sjg@chromium.org>
-rw-r--r--arch/sandbox/include/asm/test.h16
-rw-r--r--drivers/spi/sandbox_spi.c14
2 files changed, 30 insertions, 0 deletions
diff --git a/arch/sandbox/include/asm/test.h b/arch/sandbox/include/asm/test.h
index 7f99d07c47..05f66f700c 100644
--- a/arch/sandbox/include/asm/test.h
+++ b/arch/sandbox/include/asm/test.h
@@ -203,6 +203,22 @@ void sandbox_set_allow_beep(struct udevice *dev, bool allow);
int sandbox_get_beep_frequency(struct udevice *dev);
/**
+ * sandbox_spi_get_speed() - Get current speed setting of a sandbox spi bus
+ *
+ * @dev: Device to check
+ * @return current bus speed
+ */
+uint sandbox_spi_get_speed(struct udevice *dev);
+
+/**
+ * sandbox_spi_get_mode() - Get current mode setting of a sandbox spi bus
+ *
+ * @dev: Device to check
+ * @return current mode
+ */
+uint sandbox_spi_get_mode(struct udevice *dev);
+
+/**
* sandbox_get_pch_spi_protect() - Get the PCI SPI protection status
*
* @dev: Device to check
diff --git a/drivers/spi/sandbox_spi.c b/drivers/spi/sandbox_spi.c
index be516d5aa6..0564d8b55e 100644
--- a/drivers/spi/sandbox_spi.c
+++ b/drivers/spi/sandbox_spi.c
@@ -52,6 +52,20 @@ __weak int sandbox_spi_get_emul(struct sandbox_state *state,
return -ENOENT;
}
+uint sandbox_spi_get_speed(struct udevice *dev)
+{
+ struct sandbox_spi_priv *priv = dev_get_priv(dev);
+
+ return priv->speed;
+}
+
+uint sandbox_spi_get_mode(struct udevice *dev)
+{
+ struct sandbox_spi_priv *priv = dev_get_priv(dev);
+
+ return priv->mode;
+}
+
static int sandbox_spi_xfer(struct udevice *slave, unsigned int bitlen,
const void *dout, void *din, unsigned long flags)
{