powerpc/mpc85xx: modify erratum A007186
PATCH v4 1/1 powerpc/mpc85xx: modify erratum A007186
T2080 v1.0 has this errata while v1.1 has fixed
this errata by hardware, add a new function has_errata_a007186 to check the SVR_SOC_VER, SVR_MAJ and SVR_MIN first, if the sil has errata a007186, then run the errata code, if not, doesn't run the code.
Reviewed-on: http://git.am.freescale.net:8181/19850
---
Changes for v2:
- use has_errata_a007186 instead of not_has_errata_a007186
Changes for v3:
- use "if (has_erratum_a007186() && sel == 0x01 || sel == 0x02) {"
- instead of "if (has_erratum_a007186()) {
Changes for v4:
- update soc info in has_erratum_a007186 function
arch/powerpc/cpu/mpc85xx/cmd_errata.c | 3 ++- arch/powerpc/cpu/mpc85xx/fsl_corenet2_serdes.c | 3 ++- arch/powerpc/include/asm/fsl_errata.h | 24 ++++++++++++++++++++++++ 3 files changed, 28 insertions(+), 2 deletions(-)
arch/powerpc/cpu/mpc85xx/cmd_errata.c +2 -1
@@ -270,7 +270,8 @@ static int do_errata(cmd_tbl_t *cmdtp, int flag, int argc, char * const argv[])puts ("Work-around for Erratum USB14 enabled\n" );#endif #ifdef CONFIG_SYS_FSL_ERRATUM_A007186 -puts ("Work-around for Erratum A007186 enabled\n" ); +if (has_erratum_a007186 ()) +puts ("Work-around for Erratum A007186 enabled\n" );#endif #ifdef CONFIG_SYS_FSL_ERRATUM_A006593 puts ("Work-around for Erratum A006593 enabled\n" );
arch/powerpc/cpu/mpc85xx/fsl_corenet2_serdes.c +2 -1
@@ -11,6 +11,7 @@#include <asm/processor.h> #include <asm/fsl_law.h> #include <asm/errno.h> +#include <asm/fsl_errata.h> #include "fsl_corenet2_serdes.h" #ifdef CONFIG_SYS_FSL_SRDS_1
@@ -203,7 +204,7 @@ u64 serdes_init(u32 sd, u32 sd_addr, u32 sd_prctl_mask, u32 sd_prctl_shift) sel = (sfp_spfr0 >>FUSE_VAL_SHIFT ) &FUSE_VAL_MASK ; -if (sel ==0x01 || sel ==0x02 ) { +if (has_erratum_a007186 () && (sel ==0x01 || sel ==0x02 )) {for (pll_num =0 ; pll_num <SRDS_MAX_BANK ; pll_num++) { pll_status =in_be32 (&srds_regs->bank[pll_num].pllcr0); debug("A007186: pll_num=%x pllcr0=%x\n",
arch/powerpc/include/asm/fsl_errata.h +24 -0
@@ -82,3 +82,27 @@ static inline bool has_erratum_a007075(void) return false; }#endif + +#ifdef CONFIG_SYS_FSL_ERRATUM_A007186 +static inline bool has_erratum_a007186 (void ) +{ +u32 svr =get_svr (); +u32 soc =SVR_SOC_VER (svr); + +switch (soc) { +case SVR_T4240 : +return IS_SVR_REV (svr,2 ,0 ); +case SVR_T4160 : +return IS_SVR_REV (svr,2 ,0 ); +case SVR_B4860 : +return IS_SVR_REV (svr,2 ,0 ); +case SVR_B4420 : +return IS_SVR_REV (svr,2 ,0 ); +case SVR_T2081 : +case SVR_T2080 : +return IS_SVR_REV (svr,1 ,0 ); + } + +return false; +} +#endif
Signature · 1 line
2.1.0.27.g96db324
PATCH v4 1/1 powerpc/mpc85xx: modify erratum A007186
Quoted 6 lines · Zhao Qiang
T2080 v1.0 has this errata while v1.1 has fixed
this errata by hardware, add a new functionhas_errata_a007186to check theSVR_SOC_VER,SVR_MAJandSVR_MINfirst, if the sil has errata a007186, then run the errata code, if not, doesn't run the code.
Quoted 6 lines
Signed-off-by Zhao Qiang <[email protected]>Change-Id I19d794283229a86d04d8f22d44b860a5c3940cdcReviewed-on: http://git.am.freescale.net:8181/19850
Tested-by Review Code-CDREVIEW <[email protected]>Reviewed-by Yusong Sun <[email protected]>---
For future patches, please remove internal review information. It's not accessible for folks outside of Freescale.
York
PATCH v4 1/1 powerpc/mpc85xx: modify erratum A007186
Got it!
Best Regards
Zhao Qiang
Quoted 24 lines
-----Original Message-----
From: Sun York-R58495
Sent: Friday, October 31, 2014 12:16 AM
To: Zhao Qiang-B45475; u-boot at lists.denx.de
Cc: Xie Xiaobo-R63061
Subject: Re: [PATCH v4] powerpc/mpc85xx: modify erratum A007186Quoted 11 lines · Zhao Qiang
T2080 v1.0 has this errata while v1.1 has fixed this errata by hardware, add a new function
has_errata_a007186to check theSVR_SOC_VER,SVR_MAJandSVR_MINfirst, if the sil has errata a007186, then run the errata code, if not, doesn't run the code.Signed-off-by Zhao Qiang <[email protected]>Change-Id I19d794283229a86d04d8f22d44b860a5c3940cdcReviewed-on: http://git.am.freescale.net:8181/19850
Tested-by Review Code-CDREVIEW <[email protected]>Reviewed-by Yusong Sun <[email protected]>---
For future patches, please remove internal review information. It's not accessible for folks outside of Freescale.
York
PATCH v4 1/1 powerpc/mpc85xx: modify erratum A007186
In reply to Zhao QiangQuoted 11 lines · Zhao Qiang
T2080 v1.0 has this errata while v1.1 has fixed
this errata by hardware, add a new functionhas_errata_a007186to check theSVR_SOC_VER,SVR_MAJandSVR_MINfirst, if the sil has errata a007186, then run the errata code, if not, doesn't run the code.Signed-off-by Zhao Qiang <[email protected]>Change-Id I19d794283229a86d04d8f22d44b860a5c3940cdcReviewed-on: http://git.am.freescale.net:8181/19850
Tested-by Review Code-CDREVIEW <[email protected]>Reviewed-by Yusong Sun <[email protected]>
Quoted 8 lines
---
Changes for v2:
- usehas_errata_a007186instead ofnot_has_errata_a007186
Changes for v3:
- use "if (has_erratum_a007186()&& sel ==0x01|| sel ==0x02) {"
- instead of "if (has_erratum_a007186()) {
Changes for v4:
- update soc info inhas_erratum_a007186function
Applied to u-boot-mpc85xx, awaiting upstream.
York