From 914b766a2a6b0f746b2e6fe3bf3d70881e6da610 Mon Sep 17 00:00:00 2001 From: Jim Liu Date: Tue, 23 Apr 2024 14:38:42 +0800 Subject: [PATCH] spi: npcm_pspi: Reset HW in driver probe Reset HW to clear old status and use default data mode(8-bit). Signed-off-by: Jim Liu --- drivers/spi/npcm_pspi.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/spi/npcm_pspi.c b/drivers/spi/npcm_pspi.c index eb14185273..c9441304f5 100644 --- a/drivers/spi/npcm_pspi.c +++ b/drivers/spi/npcm_pspi.c @@ -7,6 +7,7 @@ #include #include #include +#include #include #include @@ -194,6 +195,7 @@ static int npcm_pspi_probe(struct udevice *bus) { struct npcm_pspi_priv *priv = dev_get_priv(bus); int node = dev_of_offset(bus); + struct reset_ctl reset; int ret; ret = clk_get_by_index(bus, 0, &priv->clk); @@ -205,6 +207,14 @@ static int npcm_pspi_probe(struct udevice *bus) gpio_request_by_name_nodev(offset_to_ofnode(node), "cs-gpios", 0, &priv->cs_gpio, GPIOD_IS_OUT| GPIOD_ACTIVE_LOW); + /* Reset HW */ + ret = reset_get_by_index(bus, 0, &reset); + if (!ret) { + reset_assert(&reset); + udelay(5); + reset_deassert(&reset); + } + return 0; } -- 2.39.5