--- /dev/null
+From ff949d981c775332be94be70397ee1df20bc68e5 Mon Sep 17 00:00:00 2001
+From: Stefan Wahren <wahrenst@gmx.net>
+Date: Thu, 5 Sep 2024 13:15:37 +0200
+Subject: spi: spi-fsl-lpspi: Fix off-by-one in prescale max
+
+From: Stefan Wahren <wahrenst@gmx.net>
+
+commit ff949d981c775332be94be70397ee1df20bc68e5 upstream.
+
+The commit 783bf5d09f86 ("spi: spi-fsl-lpspi: limit PRESCALE bit in
+TCR register") doesn't implement the prescaler maximum as intended.
+The maximum allowed value for i.MX93 should be 1 and for i.MX7ULP
+it should be 7. So this needs also a adjustment of the comparison
+in the scldiv calculation.
+
+Fixes: 783bf5d09f86 ("spi: spi-fsl-lpspi: limit PRESCALE bit in TCR register")
+Signed-off-by: Stefan Wahren <wahrenst@gmx.net>
+Link: https://patch.msgid.link/20240905111537.90389-1-wahrenst@gmx.net
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ drivers/spi/spi-fsl-lpspi.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+--- a/drivers/spi/spi-fsl-lpspi.c
++++ b/drivers/spi/spi-fsl-lpspi.c
+@@ -136,7 +136,7 @@ static struct fsl_lpspi_devtype_data imx
+ };
+
+ static struct fsl_lpspi_devtype_data imx7ulp_lpspi_devtype_data = {
+- .prescale_max = 8,
++ .prescale_max = 7,
+ };
+
+ static const struct of_device_id fsl_lpspi_dt_ids[] = {
+@@ -336,7 +336,7 @@ static int fsl_lpspi_set_bitrate(struct
+
+ div = DIV_ROUND_UP(perclk_rate, config.speed_hz);
+
+- for (prescale = 0; prescale < prescale_max; prescale++) {
++ for (prescale = 0; prescale <= prescale_max; prescale++) {
+ scldiv = div / (1 << prescale) - 2;
+ if (scldiv < 256) {
+ fsl_lpspi->config.prescale = prescale;