[PATCH 3/4] spi: cadence: Use reset_reset_bulk() for proper reset cycling
Simon Glass
sjg at chromium.org
Mon May 4 14:18:06 CEST 2026
Hi Michal,
On 2026-04-30T12:20:00, Michal Simek <michal.simek at amd.com> wrote:
> spi: cadence: Use reset_reset_bulk() for proper reset cycling
>
> Use the new reset_reset_bulk() API to properly cycle reset signals
> during probe instead of just deasserting them. This ensures the
> controller is properly reset before initialization.
>
> Signed-off-by: Michal Simek <michal.simek at amd.com>
>
> drivers/spi/cadence_qspi.c | 19 ++-----------------
> 1 file changed, 2 insertions(+), 17 deletions(-)
> diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c
> @@ -255,23 +255,8 @@ static int cadence_spi_probe(struct udevice *bus)
> - udelay(10);
> -
> - /* Deassert all OSPI reset lines */
> - ret = reset_deassert_bulk(priv->resets);
> - if (ret) {
> - dev_err(bus, "Failed to deassert OSPI reset: %d\n", ret);
> - return ret;
> - }
> - }
> + if (priv->resets)
> + reset_reset_bulk(priv->resets);
This silently drops the 10us delay that commit 834d589b8f1 ('spi:
cadence_qspi: pulse controller reset at probe') deliberately added
between assert and deassert. Is that intended?
> diff --git a/drivers/spi/cadence_qspi.c b/drivers/spi/cadence_qspi.c
> @@ -255,23 +255,8 @@ static int cadence_spi_probe(struct udevice *bus)
> + if (priv->resets)
> + reset_reset_bulk(priv->resets);
The return value is now discarded - is that intended?
Reviewed-by: Simon Glass <sjg at chromium.org>
Regards,
Simon
More information about the U-Boot
mailing list