]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
spi: zynqmp_gqspi: Fix tap delay values
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Thu, 21 Mar 2019 06:40:17 +0000 (12:10 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Fri, 22 Mar 2019 10:24:27 +0000 (11:24 +0100)
There is no need of read modify write for tapdelay settings
ans hence remove the read operations while setting tapdelays.
Also, correct tapdelay value settings at 40MHZ by modifying
the if check to <= instead of <.

Signed-off-by: Siva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/spi/zynqmp_gqspi.c

index 8afb2183fba1a6d2b334825e8ad5e534410117fd..9df149def5f293b4900f1186ad857eb91df928e6 100644 (file)
@@ -348,23 +348,18 @@ void zynqmp_qspi_set_tapdelay(struct udevice *bus, u32 baudrateval)
        debug("%s, req_hz:%d, clk_rate:%d, baudrateval:%d\n",
              __func__, reqhz, clk_rate, baudrateval);
 
-       if (reqhz < GQSPI_FREQ_40MHZ) {
-               zynqmp_mmio_read(IOU_TAPDLY_BYPASS_OFST, &tapdlybypass);
-               tapdlybypass |= (TAP_DLY_BYPASS_LQSPI_RX_VALUE <<
+       if (reqhz <= GQSPI_FREQ_40MHZ) {
+               tapdlybypass = (TAP_DLY_BYPASS_LQSPI_RX_VALUE <<
                                TAP_DLY_BYPASS_LQSPI_RX_SHIFT);
        } else if (reqhz <= GQSPI_FREQ_100MHZ) {
-               zynqmp_mmio_read(IOU_TAPDLY_BYPASS_OFST, &tapdlybypass);
-               tapdlybypass |= (TAP_DLY_BYPASS_LQSPI_RX_VALUE <<
+               tapdlybypass = (TAP_DLY_BYPASS_LQSPI_RX_VALUE <<
                                TAP_DLY_BYPASS_LQSPI_RX_SHIFT);
-               lpbkdlyadj = readl(&regs->lpbkdly);
-               lpbkdlyadj |= (GQSPI_LPBK_DLY_ADJ_LPBK_MASK);
-               datadlyadj = readl(&regs->gqspidlyadj);
-               datadlyadj |= ((GQSPI_USE_DATA_DLY << GQSPI_USE_DATA_DLY_SHIFT)
+               lpbkdlyadj = (GQSPI_LPBK_DLY_ADJ_LPBK_MASK);
+               datadlyadj = ((GQSPI_USE_DATA_DLY << GQSPI_USE_DATA_DLY_SHIFT)
                                | (GQSPI_DATA_DLY_ADJ_VALUE <<
                                        GQSPI_DATA_DLY_ADJ_SHIFT));
        } else if (reqhz <= GQSPI_FREQ_150MHZ) {
-               lpbkdlyadj = readl(&regs->lpbkdly);
-               lpbkdlyadj |= ((GQSPI_LPBK_DLY_ADJ_LPBK_MASK) |
+               lpbkdlyadj = ((GQSPI_LPBK_DLY_ADJ_LPBK_MASK) |
                                GQSPI_LPBK_DLY_ADJ_DLY_0);
        }