summaryrefslogtreecommitdiff
path: root/arch/powerpc/platforms
diff options
context:
space:
mode:
authorPriyanka Jain <Priyanka.Jain@freescale.com>2014-05-15 06:35:01 (GMT)
committerJose Rivera <German.Rivera@freescale.com>2014-05-19 13:13:52 (GMT)
commit062853ac8f4b6fb5fee1770b67d4684023929e10 (patch)
tree13ec71029f677b7ac8ede6120f8837347bba937c /arch/powerpc/platforms
parent1af35aa6bc83dac78c490dcdacd89d1d3362aa54 (diff)
downloadlinux-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.cputype10
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