]> git.kernelconcepts.de Git - karo-tx-uboot.git/blobdiff - drivers/spi/mxc_spi.c
spi: mxc_spi: Fix ECSPI reset handling
[karo-tx-uboot.git] / drivers / spi / mxc_spi.c
index 859c43fee2790de7c80335bb58a71b20934c49f9..4c19e0bf18b65cdb08faab5141c79be759080dea 100644 (file)
@@ -137,11 +137,11 @@ static s32 spi_cfg_mxc(struct mxc_spi_slave *mxcs, unsigned int cs,
                return -1;
        }
 
-       reg_ctrl = reg_read(&regs->ctrl);
-
        /* Reset spi */
-       reg_write(&regs->ctrl, (reg_ctrl & ~MXC_CSPICTRL_EN));
-       reg_write(&regs->ctrl, (reg_ctrl | MXC_CSPICTRL_EN));
+       reg_write(&regs->ctrl, 0);
+       reg_write(&regs->ctrl, MXC_CSPICTRL_EN);
+
+       reg_ctrl = reg_read(&regs->ctrl);
 
        /*
         * The following computation is taken directly from Freescale's code.