spi: zynq_qspi: Fix programming qspi speed
When programming qspi flash speed we need to check the requested flash speed not to exceed the spi max frequency. In the current implementation we are checking qspi ref clk instead. This commit fixes the issue by checking the requested speed and programs the specified max frequency. Signed-off-by: Ashok Reddy Soma <ashok.reddy.soma@xilinx.com> Link: https://lore.kernel.org/r/1657893679-20039-5-git-send-email-ashok.reddy.soma@xilinx.com Signed-off-by: Michal Simek <michal.simek@amd.com>
This commit is contained in:
parent
bc4795850b
commit
2a75bc1303
@ -622,15 +622,12 @@ static int zynq_qspi_set_speed(struct udevice *bus, uint speed)
|
||||
uint32_t confr;
|
||||
u8 baud_rate_val = 0;
|
||||
|
||||
if (speed > plat->frequency)
|
||||
speed = plat->frequency;
|
||||
if (!speed || speed > priv->max_hz)
|
||||
speed = priv->max_hz;
|
||||
|
||||
/* Set the clock frequency */
|
||||
confr = readl(®s->cr);
|
||||
if (speed == 0) {
|
||||
/* Set baudrate x8, if the freq is 0 */
|
||||
baud_rate_val = 0x2;
|
||||
} else if (plat->speed_hz != speed) {
|
||||
if (plat->speed_hz != speed) {
|
||||
while ((baud_rate_val < ZYNQ_QSPI_CR_BAUD_MAX) &&
|
||||
((plat->frequency /
|
||||
(2 << baud_rate_val)) > speed))
|
||||
|
Loading…
Reference in New Issue
Block a user