#define TCR_RXMSK      BIT(19)
 #define TCR_TXMSK      BIT(18)
 
-static int clkdivs[] = {1, 2, 4, 8, 16, 32, 64, 128};
-
 struct lpspi_config {
        u8 bpw;
        u8 chip_select;
        }
 
        for (prescale = 0; prescale < 8; prescale++) {
-               scldiv = perclk_rate /
-                        (clkdivs[prescale] * config.speed_hz) - 2;
+               scldiv = perclk_rate / config.speed_hz / (1 << prescale) - 2;
                if (scldiv < 256) {
                        fsl_lpspi->config.prescale = prescale;
                        break;
                }
        }
 
-       if (prescale == 8 && scldiv >= 256)
+       if (scldiv >= 256)
                return -EINVAL;
 
        writel(scldiv | (scldiv << 8) | ((scldiv >> 1) << 16),