]> git.ipfire.org Git - thirdparty/u-boot.git/commitdiff
spi: zynqmp_qspi: Use default baudrate value instead of max value
authorSiva Durga Prasad Paladugu <siva.durga.paladugu@xilinx.com>
Fri, 20 Jan 2017 09:45:01 +0000 (15:15 +0530)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 23 Jan 2017 08:48:46 +0000 (09:48 +0100)
Use default baudrate value instead of max baudrate value as
using max baudrate value causing the issues on some QSPI parts
(Spansion, Macronix etc) as frequency goes down below 1MHz.

Signed-off-by: Siva Durga Prasad Paladugu <sivadur@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/spi/zynqmp_qspi.c

index 31d271e0a8f875f930ace1c3b85587ff0a65cad1..bba5a902d3ae308c2ccb5acdd4ca91755849e47c 100644 (file)
@@ -86,6 +86,7 @@
 
 #define ZYNQMP_QSPI_DMA_ALIGN  0x4
 #define ZYNQMP_QSPI_MAX_BAUD_RATE_VAL  7
+#define ZYNQMP_QSPI_DFLT_BAUD_RATE_VAL 2
 
 #define ZYNQMP_QSPI_TIMEOUT    100000000
 
@@ -282,7 +283,7 @@ static int zynqmp_qspi_set_speed(struct udevice *bus, uint speed)
        confr = readl(&regs->confr);
        if (speed == 0) {
                /* Set baudrate x8, if the freq is 0 */
-               baud_rate_val = 0x2;
+               baud_rate_val = ZYNQMP_QSPI_DFLT_BAUD_RATE_VAL;
        } else if (plat->speed_hz != speed) {
                while ((baud_rate_val < 8) &&
                       ((plat->frequency /
@@ -290,7 +291,7 @@ static int zynqmp_qspi_set_speed(struct udevice *bus, uint speed)
                        baud_rate_val++;
 
                if (baud_rate_val > ZYNQMP_QSPI_MAX_BAUD_RATE_VAL)
-                       baud_rate_val = ZYNQMP_QSPI_MAX_BAUD_RATE_VAL;
+                       baud_rate_val = ZYNQMP_QSPI_DFLT_BAUD_RATE_VAL;
 
                plat->speed_hz = speed / (2 << baud_rate_val);
        }