From 6c7534cb7904451f2c0078d397d3280f7bb5c0d6 Mon Sep 17 00:00:00 2001 From: Siva Durga Prasad Paladugu Date: Fri, 20 Jan 2017 15:15:01 +0530 Subject: [PATCH] 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 --- drivers/spi/zynqmp_qspi.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) 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); } -- 2.47.3