fsl_errata.h 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. /*
  2. * Copyright 2013 Freescale Semiconductor, Inc.
  3. *
  4. * SPDX-License-Identifier: GPL-2.0+
  5. */
  6. #ifndef _ASM_FSL_ERRATA_H
  7. #define _ASM_FSL_ERRATA_H
  8. #include <common.h>
  9. #include <asm/processor.h>
  10. #ifdef CONFIG_SYS_FSL_ERRATUM_A006379
  11. static inline bool has_erratum_a006379(void)
  12. {
  13. u32 svr = get_svr();
  14. if (((SVR_SOC_VER(svr) == SVR_T4240) && SVR_MAJ(svr) <= 1) ||
  15. ((SVR_SOC_VER(svr) == SVR_T4160) && SVR_MAJ(svr) <= 1) ||
  16. ((SVR_SOC_VER(svr) == SVR_T4080) && SVR_MAJ(svr) <= 1) ||
  17. ((SVR_SOC_VER(svr) == SVR_B4860) && SVR_MAJ(svr) <= 2) ||
  18. ((SVR_SOC_VER(svr) == SVR_B4420) && SVR_MAJ(svr) <= 2) ||
  19. ((SVR_SOC_VER(svr) == SVR_T2080) && SVR_MAJ(svr) <= 1) ||
  20. ((SVR_SOC_VER(svr) == SVR_T2081) && SVR_MAJ(svr) <= 1))
  21. return true;
  22. return false;
  23. }
  24. #endif
  25. #endif
  26. #ifdef CONFIG_SYS_FSL_ERRATUM_A007186
  27. static inline bool has_erratum_a007186(void)
  28. {
  29. u32 svr = get_svr();
  30. u32 soc = SVR_SOC_VER(svr);
  31. switch (soc) {
  32. case SVR_T4240:
  33. return IS_SVR_REV(svr, 2, 0);
  34. case SVR_T4160:
  35. return IS_SVR_REV(svr, 2, 0);
  36. case SVR_B4860:
  37. return IS_SVR_REV(svr, 2, 0);
  38. case SVR_B4420:
  39. return IS_SVR_REV(svr, 2, 0);
  40. case SVR_T2081:
  41. case SVR_T2080:
  42. return IS_SVR_REV(svr, 1, 0);
  43. }
  44. return false;
  45. }
  46. #endif