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: 4a851d714e ("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>
This commit is contained in:
Eddie James 2023-06-12 14:56:50 -05:00 committed by Joel Stanley
parent 2f42220f35
commit 52300909f4
1 changed files with 2 additions and 0 deletions

View File

@ -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); gpiod_set_value(aspeed->cfam_reset_gpio, 1);
usleep_range(900, 1000); usleep_range(900, 1000);
gpiod_set_value(aspeed->cfam_reset_gpio, 0); 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); mutex_unlock(&aspeed->lock);
trace_fsi_master_aspeed_cfam_reset(false); trace_fsi_master_aspeed_cfam_reset(false);