From: Jim Liu Date: Tue, 23 Apr 2024 06:38:42 +0000 (+0800) Subject: spi: npcm_pspi: Reset HW in driver probe X-Git-Url: http://git.dujemihanovic.xyz/img/static/git-favicon.png?a=commitdiff_plain;h=914b766a2a6b0f746b2e6fe3bf3d70881e6da610;p=u-boot.git 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 --- 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; }