diff options
author | Priyanka Jain <Priyanka.Jain@freescale.com> | 2014-05-15 06:35:01 (GMT) |
---|---|---|
committer | Jose Rivera <German.Rivera@freescale.com> | 2014-05-19 13:13:52 (GMT) |
commit | 062853ac8f4b6fb5fee1770b67d4684023929e10 (patch) | |
tree | 13ec71029f677b7ac8ede6120f8837347bba937c /arch/powerpc/platforms | |
parent | 1af35aa6bc83dac78c490dcdacd89d1d3362aa54 (diff) | |
download | linux-fsl-qoriq-062853ac8f4b6fb5fee1770b67d4684023929e10.tar.xz |
powerpc: Enable erratum A-008007 workaorund for T1040 Rev1.0
Erratum A-008007 states that PVR register value is unreliable for
e5500 cores (Major revision 1.0, Minor revision 2.0) which are
present in T1040 Rev1.0 SoC.
This workaround implementation
-adds a new config option 'CONFIG_FSL_ERRATUM_A_008007' in t1040
specific defconfig files. This config option is used to make
sure that changes does not impact non-T1040 platforms.
-replaces mfspr(x) macro defintion to check if above erratum is
defined and if x is same as SPRN_PVR, then return static value
else call mfspr instruction.
-Similarly replaces mfpvr() calls
TODO:
1.Use some cleaner approach like reading SVR rgeister or parse
device tree to check if T1040 Rev1.0 Si instead of using config option.
2.This patch only replaces current accesses of PVR register but
does not restrict any new code which tries to read this.
A mechanism needs to be implemented to restrict this.
Signed-off-by: Priyanka Jain <Priyanka.Jain@freescale.com>
Signed-off-by: Poonam Aggrwal <poonam.aggrwal@freescale.com>
Change-Id: Ib5f17dec01ca0d98c5f506b1be23dfe06a541015
Reviewed-on: http://git.am.freescale.net:8181/12350
Tested-by: Review Code-CDREVIEW <CDREVIEW@freescale.com>
Reviewed-by: Jose Rivera <German.Rivera@freescale.com>
Diffstat (limited to 'arch/powerpc/platforms')
-rw-r--r-- | arch/powerpc/platforms/Kconfig.cputype | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/arch/powerpc/platforms/Kconfig.cputype b/arch/powerpc/platforms/Kconfig.cputype index 1211e3b..c9ef8a5 100644 --- a/arch/powerpc/platforms/Kconfig.cputype +++ b/arch/powerpc/platforms/Kconfig.cputype @@ -232,6 +232,16 @@ config FSL_ERRATUM_A_006184_PERIOD since when idle we will always have just executed from the main kernel mapping, so it should not be absent from the L1 I-MMU. +config FSL_ERRATUM_A_008007 + bool "Work around erratum A-008007 (pvr value)" + default n + help + This works around erratum A-008007 by not using PVR value read from + PVR register as it is unreliable for e5500 core + (major version:1.0, minor version: 2.0 ). + Instead use expected hard-code value for PVR register for core. + Say Y if and only if you using T1040 Rev1.0 Silicon + config PPC_DISABLE_THREADS bool "Avoid the use of hardware threads" help |