diff options
author | Eddie James <eajames@linux.ibm.com> | 2023-06-12 14:56:50 -0500 |
---|---|---|
committer | Joel Stanley <joel@jms.id.au> | 2023-08-09 15:43:28 +0930 |
commit | 52300909f4670ac552bfeb33c1355b896eac8c06 (patch) | |
tree | ea857fb7d4b241c450ca59b8448a181809875a8f /drivers/fsi | |
parent | 2f42220f350049e15df026ad87be36d967102cbf (diff) |
fsi: aspeed: Reset master errors after CFAM reset
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>
Diffstat (limited to 'drivers/fsi')
-rw-r--r-- | drivers/fsi/fsi-master-aspeed.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/fsi/fsi-master-aspeed.c b/drivers/fsi/fsi-master-aspeed.c index 437f87b4a6a3..f0a19cd451a0 100644 --- a/drivers/fsi/fsi-master-aspeed.c +++ b/drivers/fsi/fsi-master-aspeed.c @@ -454,6 +454,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); trace_fsi_master_aspeed_cfam_reset(false); |