summaryrefslogtreecommitdiff
path: root/drivers/net/ethernet/freescale
diff options
context:
space:
mode:
authorShengzhou Liu <Shengzhou.Liu@freescale.com>2013-12-11 08:44:55 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2014-03-07 17:36:04 (GMT)
commit3e85be4841806abc76ad5dba74c0454202a0c3ec (patch)
treef34f459fbec3c475226252f2662f0d0958911163 /drivers/net/ethernet/freescale
parent300ea25660a7b039aeafd24931307d120e1ec620 (diff)
downloadlinux-fsl-qoriq-3e85be4841806abc76ad5dba74c0454202a0c3ec.tar.xz
fmd: extend workaround of fman reset on t208x and t4160v2
The same hang issue was observed on T208x and T4160v2 also. So extend the workaround for now. Signed-off-by: Shengzhou Liu <Shengzhou.Liu@freescale.com> Signed-off-by: Shaohui Xie <Shaohui.Xie@freescale.com> Signed-off-by: Mandy Lavi <mandy.lavi@freescale.com> Change-Id: If75d58a3d609f3607050c0cf306d9c86aa69cfaf Reviewed-on: http://git.am.freescale.net:8181/7205 Reviewed-by: Jose Rivera <German.Rivera@freescale.com> Tested-by: Jose Rivera <German.Rivera@freescale.com> Reviewed-on: http://git.am.freescale.net:8181/9450 Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Diffstat (limited to 'drivers/net/ethernet/freescale')
-rw-r--r--drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c b/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c
index dfc1cdb..14579f7 100644
--- a/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c
+++ b/drivers/net/ethernet/freescale/fman/Peripherals/FM/fm.c
@@ -3516,7 +3516,10 @@ t_Error FM_Init(t_Handle h_Fm)
{
u32 svr = mfspr(SPRN_SVR);
- if (SVR_SOC_VER(svr) == SVR_T4240 && SVR_REV(svr) > 0x10) {
+ if (((SVR_SOC_VER(svr) == SVR_T4240 && SVR_REV(svr) > 0x10)) ||
+ ((SVR_SOC_VER(svr) == SVR_T4160 && SVR_REV(svr) > 0x10)) ||
+ (SVR_SOC_VER(svr) == SVR_T2080) ||
+ (SVR_SOC_VER(svr) == SVR_T2081)) {
DBG(WARNING, ("Hack: No FM reset!\n"));
} else {
WRITE_UINT32(p_Fm->p_FmFpmRegs->fm_rstc, FPM_RSTC_FM_RESET);