summaryrefslogtreecommitdiff
path: root/drivers/fsi/fsi-master-aspeed.c
diff options
context:
space:
mode:
authorEddie James <eajames@linux.ibm.com>2023-06-12 22:56:50 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2023-09-19 13:20:18 +0300
commitb374b039e066115a1e6cd8483ec914856720b87e (patch)
treebb88ac88274086158d47755c89e45133cca233b7 /drivers/fsi/fsi-master-aspeed.c
parentf8949c06c7359847a0d51ed97c23b89a27fb1a35 (diff)
downloadlinux-b374b039e066115a1e6cd8483ec914856720b87e.tar.xz
fsi: aspeed: Reset master errors after CFAM reset
[ Upstream commit 52300909f4670ac552bfeb33c1355b896eac8c06 ] It has been observed that sometimes the FSI master will return all 0xffs after a CFAM has been taken out of reset, without presenting any error. Resetting the FSI master errors resolves the issue. Fixes: 4a851d714ead ("fsi: aspeed: Support CFAM reset GPIO") Signed-off-by: Eddie James <eajames@linux.ibm.com> Link: https://lore.kernel.org/r/20230612195657.245125-8-eajames@linux.ibm.com Signed-off-by: Joel Stanley <joel@jms.id.au> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/fsi/fsi-master-aspeed.c')
-rw-r--r--drivers/fsi/fsi-master-aspeed.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c
index 87edc77260d2..db0519da0f89 100644
--- a/drivers/fsi/fsi-master-aspeed.c
+++ b/drivers/fsi/fsi-master-aspeed.c
@@ -445,6 +445,8 @@ static ssize_t cfam_reset_store(struct device *dev, struct device_attribute *att
gpiod_set_value(aspeed->cfam_reset_gpio, 1);
usleep_range(900, 1000);
gpiod_set_value(aspeed->cfam_reset_gpio, 0);
+ usleep_range(900, 1000);
+ opb_writel(aspeed, ctrl_base + FSI_MRESP0, cpu_to_be32(FSI_MRESP_RST_ALL_MASTER));
mutex_unlock(&aspeed->lock);
return count;