From: Siva Durga Prasad Paladugu Date: Fri, 20 Jan 2017 09:45:01 +0000 (+0530) Subject: spi: zynqmp_qspi: Use default baudrate value instead of max value X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=6c7534cb7904451f2c0078d397d3280f7bb5c0d6;p=thirdparty%2Fu-boot.git spi: zynqmp_qspi: Use default baudrate value instead of max value 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 Signed-off-by: Michal Simek --- diff --git a/drivers/spi/zynqmp_qspi.c b/drivers/spi/zynqmp_qspi.c index 31d271e0a8f..bba5a902d3a 100644 --- a/drivers/spi/zynqmp_qspi.c +++ b/drivers/spi/zynqmp_qspi.c @@ -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(®s->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); }