diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c
index 575617876103f9d318c5c0212e673b73ab2f02d7..4f7fd5253220882c7074ac62bdcb5e4461a48b07 100644
--- a/drivers/spi/cadence_qspi.c
+++ b/drivers/spi/cadence_qspi.c
@@ -122,6 +122,9 @@ static int cadence_spi_set_speed(struct udevice *bus, uint hz)
 	struct cadence_spi_priv *priv = dev_get_priv(bus);
 	int err;
 
+	if (hz > plat->max_hz)
+		hz = plat->max_hz;
+
 	/* Disable QSPI */
 	cadence_qspi_apb_controller_disable(priv->regbase);