[U-Boot] [PATCH] ARM: Migrate errata to Kconfig
Tom Rini
trini at konsulko.com
Tue Mar 7 12:13:42 UTC 2017
This moves all of the current ARM errata from various header files and in to
Kconfig. This allows for a minor amount of cleanup as we had some instances
where both a general common header file was enabling errata as well as the
board config. We now just select these once at the higher level in Kconfig
Signed-off-by: Tom Rini <trini at konsulko.com>
---
README | 24 --------
arch/arm/Kconfig | 70 +++++++++++++++++++++++
arch/arm/cpu/armv7/mx6/Kconfig | 4 ++
arch/arm/cpu/armv8/fsl-layerscape/Kconfig | 4 ++
arch/arm/include/asm/arch-fsl-layerscape/config.h | 6 --
arch/arm/mach-exynos/Kconfig | 2 +
arch/arm/mach-tegra/Kconfig | 5 ++
include/configs/am3517_crane.h | 4 --
include/configs/am3517_evm.h | 5 --
include/configs/arndale.h | 4 --
include/configs/cm_t35.h | 4 --
include/configs/cm_t3517.h | 4 --
include/configs/mcx.h | 4 --
include/configs/mx6_common.h | 5 --
include/configs/nokia_rx51.h | 4 --
include/configs/omap3_evm.h | 4 --
include/configs/sniper.h | 3 -
include/configs/tam3517-common.h | 4 --
include/configs/tao3530.h | 4 --
include/configs/tegra20-common.h | 7 ---
include/configs/tegra30-common.h | 6 --
include/configs/ti_omap3_common.h | 5 --
include/configs/ti_omap5_common.h | 3 -
include/configs/tricorder.h | 4 --
scripts/config_whitelist.txt | 18 ------
25 files changed, 85 insertions(+), 122 deletions(-)
diff --git a/README b/README
index 4f0dbd4..3174b18 100644
--- a/README
+++ b/README
@@ -600,21 +600,6 @@ The following options need to be configured:
Thumb2 this flag will result in Thumb2 code generated by
GCC.
- CONFIG_ARM_ERRATA_716044
- CONFIG_ARM_ERRATA_742230
- CONFIG_ARM_ERRATA_743622
- CONFIG_ARM_ERRATA_751472
- CONFIG_ARM_ERRATA_761320
- CONFIG_ARM_ERRATA_773022
- CONFIG_ARM_ERRATA_774769
- CONFIG_ARM_ERRATA_794072
-
- If set, the workarounds for these ARM errata are applied early
- during U-Boot startup. Note that these options force the
- workarounds to be applied; no CPU-type/version detection
- exists, unlike the similar options in the Linux kernel. Do not
- set these options unless they apply!
-
COUNTER_FREQUENCY
Generic timer clock source frequency.
@@ -623,15 +608,6 @@ The following options need to be configured:
different from COUNTER_FREQUENCY, and can only be determined
at run time.
- NOTE: The following can be machine specific errata. These
- do have ability to provide rudimentary version and machine
- specific checks, but expect no product checks.
- CONFIG_ARM_ERRATA_430973
- CONFIG_ARM_ERRATA_454179
- CONFIG_ARM_ERRATA_621766
- CONFIG_ARM_ERRATA_798870
- CONFIG_ARM_ERRATA_801819
-
- Tegra SoC options:
CONFIG_TEGRA_SUPPORT_NON_SECURE
diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
index e84b74e..9e3923c 100644
--- a/arch/arm/Kconfig
+++ b/arch/arm/Kconfig
@@ -19,6 +19,72 @@ config HAS_VBAR
config HAS_THUMB2
bool
+# If set, the workarounds for these ARM errata are applied early during U-Boot
+# startup. Note that in general these options force the workarounds to be
+# applied; no CPU-type/version detection exists, unlike the similar options in
+# the Linux kernel. Do not set these options unless they apply! Also note that
+# the following can be machine specific errata. These do have ability to
+# provide rudimentary version and machine specific checks, but expect no
+# product checks:
+# CONFIG_ARM_ERRATA_430973
+# CONFIG_ARM_ERRATA_454179
+# CONFIG_ARM_ERRATA_621766
+# CONFIG_ARM_ERRATA_798870
+# CONFIG_ARM_ERRATA_801819
+config ARM_ERRATA_430973
+ bool
+
+config ARM_ERRATA_454179
+ bool
+
+config ARM_ERRATA_621766
+ bool
+
+config ARM_ERRATA_716044
+ bool
+
+config ARM_ERRATA_742230
+ bool
+
+config ARM_ERRATA_743622
+ bool
+
+config ARM_ERRATA_751472
+ bool
+
+config ARM_ERRATA_761320
+ bool
+
+config ARM_ERRATA_773022
+ bool
+
+config ARM_ERRATA_774769
+ bool
+
+config ARM_ERRATA_794072
+ bool
+
+config ARM_ERRATA_798870
+ bool
+
+config ARM_ERRATA_801819
+ bool
+
+config ARM_ERRATA_826974
+ bool
+
+config ARM_ERRATA_828024
+ bool
+
+config ARM_ERRATA_829520
+ bool
+
+config ARM_ERRATA_833069
+ bool
+
+config ARM_ERRATA_833471
+ bool
+
config CPU_ARM720T
bool
select SYS_CACHE_SHIFT_5
@@ -569,6 +635,9 @@ config TARGET_MX53SMD
config OMAP34XX
bool "OMAP34XX SoC"
select ARCH_OMAP2
+ select ARM_ERRATA_430973
+ select ARM_ERRATA_454179
+ select ARM_ERRATA_621766
select USE_TINY_PRINTF
config OMAP44XX
@@ -579,6 +648,7 @@ config OMAP44XX
config OMAP54XX
bool "OMAP54XX SoC"
select ARCH_OMAP2
+ select ARM_ERRATA_798870
config AM43XX
bool "AM43XX SoC"
diff --git a/arch/arm/cpu/armv7/mx6/Kconfig b/arch/arm/cpu/armv7/mx6/Kconfig
index 19cc1f6..744d67a 100644
--- a/arch/arm/cpu/armv7/mx6/Kconfig
+++ b/arch/arm/cpu/armv7/mx6/Kconfig
@@ -3,6 +3,10 @@ if ARCH_MX6
config MX6
bool
default y
+ select ARM_ERRATA_743622 if !MX6UL
+ select ARM_ERRATA_751472 if !MX6UL
+ select ARM_ERRATA_761320 if !MX6UL
+ select ARM_ERRATA_794072 if !MX6UL
config MX6D
bool
diff --git a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
index adccdf1..b5609ff 100644
--- a/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
+++ b/arch/arm/cpu/armv8/fsl-layerscape/Kconfig
@@ -49,6 +49,10 @@ config ARCH_LS1046A
config ARCH_LS2080A
bool
select ARMV8_SET_SMPEN
+ select ARM_ERRATA_826974
+ select ARM_ERRATA_828024
+ select ARM_ERRATA_829520
+ select ARM_ERRATA_833471
select FSL_LSCH3
select SYS_FSL_DDR
select SYS_FSL_DDR_LE
diff --git a/arch/arm/include/asm/arch-fsl-layerscape/config.h b/arch/arm/include/asm/arch-fsl-layerscape/config.h
index 83f5501..586ce17 100644
--- a/arch/arm/include/asm/arch-fsl-layerscape/config.h
+++ b/arch/arm/include/asm/arch-fsl-layerscape/config.h
@@ -114,12 +114,6 @@
#define CONFIG_SYS_FSL_ERRATUM_A008751
-/* ARM A57 CORE ERRATA */
-#define CONFIG_ARM_ERRATA_826974
-#define CONFIG_ARM_ERRATA_828024
-#define CONFIG_ARM_ERRATA_829520
-#define CONFIG_ARM_ERRATA_833471
-
#define CONFIG_SYS_FSL_MAX_NUM_OF_SEC 1
#elif defined(CONFIG_FSL_LSCH2)
#define CONFIG_SYS_FSL_OCRAM_BASE 0x10000000 /* initial RAM */
diff --git a/arch/arm/mach-exynos/Kconfig b/arch/arm/mach-exynos/Kconfig
index 9bd8ba5..46981a5 100644
--- a/arch/arm/mach-exynos/Kconfig
+++ b/arch/arm/mach-exynos/Kconfig
@@ -82,6 +82,8 @@ config TARGET_ODROID_XU3
config TARGET_ARNDALE
bool "Exynos5250 Arndale board"
+ select ARM_ERRATA_773022
+ select ARM_ERRATA_774769
select CPU_V7_HAS_NONSEC
select CPU_V7_HAS_VIRT
select SUPPORT_SPL
diff --git a/arch/arm/mach-tegra/Kconfig b/arch/arm/mach-tegra/Kconfig
index c9f2380..c67ffa5 100644
--- a/arch/arm/mach-tegra/Kconfig
+++ b/arch/arm/mach-tegra/Kconfig
@@ -65,10 +65,15 @@ choice
config TEGRA20
bool "Tegra20 family"
+ select ARM_ERRATA_716044
+ select ARM_ERRATA_742230
+ select ARM_ERRATA_751472
select TEGRA_ARMV7_COMMON
config TEGRA30
bool "Tegra30 family"
+ select ARM_ERRATA_743622
+ select ARM_ERRATA_751472
select TEGRA_ARMV7_COMMON
config TEGRA114
diff --git a/include/configs/am3517_crane.h b/include/configs/am3517_crane.h
index 18938bf..9408759 100644
--- a/include/configs/am3517_crane.h
+++ b/include/configs/am3517_crane.h
@@ -18,10 +18,6 @@
*/
#define CONFIG_OMAP 1 /* in a TI OMAP core */
#define CONFIG_OMAP3_AM3517CRANE 1 /* working with CRANEBOARD */
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_EMIF4 /* The chip has EMIF4 controller */
diff --git a/include/configs/am3517_evm.h b/include/configs/am3517_evm.h
index c98c663..f1584e4 100644
--- a/include/configs/am3517_evm.h
+++ b/include/configs/am3517_evm.h
@@ -19,11 +19,6 @@
#define CONFIG_NR_DRAM_BANKS 2 /* CS1 may or may not be populated */
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
-
#define CONFIG_EMIF4 /* The chip has EMIF4 controller */
/*
diff --git a/include/configs/arndale.h b/include/configs/arndale.h
index 74fd9c4..e6f2422 100644
--- a/include/configs/arndale.h
+++ b/include/configs/arndale.h
@@ -47,10 +47,6 @@
/* The PERIPHBASE in the CBAR register is wrong on the Arndale, so override it */
#define CONFIG_ARM_GIC_BASE_ADDRESS 0x10480000
-/* CPU Errata */
-#define CONFIG_ARM_ERRATA_773022
-#define CONFIG_ARM_ERRATA_774769
-
/* Power */
#define CONFIG_POWER
#define CONFIG_POWER_I2C
diff --git a/include/configs/cm_t35.h b/include/configs/cm_t35.h
index d244824..e8b79a2 100644
--- a/include/configs/cm_t35.h
+++ b/include/configs/cm_t35.h
@@ -25,10 +25,6 @@
#define CONFIG_OMAP /* in a TI OMAP core */
#define CONFIG_OMAP_GPIO
#define CONFIG_CM_T3X /* working with CM-T35 and CM-T3730 */
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_SDRC /* The chip has SDRC controller */
diff --git a/include/configs/cm_t3517.h b/include/configs/cm_t3517.h
index bfd3b50..c179a2b 100644
--- a/include/configs/cm_t3517.h
+++ b/include/configs/cm_t3517.h
@@ -15,10 +15,6 @@
*/
#define CONFIG_OMAP /* in a TI OMAP core */
#define CONFIG_CM_T3517 /* working with CM-T3517 */
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_SYS_TEXT_BASE 0x80008000
diff --git a/include/configs/mcx.h b/include/configs/mcx.h
index ef44110..06c1a95 100644
--- a/include/configs/mcx.h
+++ b/include/configs/mcx.h
@@ -15,10 +15,6 @@
#define CONFIG_OMAP /* in a TI OMAP core */
#define CONFIG_OMAP3_MCX /* working with mcx */
#define CONFIG_OMAP_GPIO
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_MACH_TYPE MACH_TYPE_MCX
diff --git a/include/configs/mx6_common.h b/include/configs/mx6_common.h
index 39d6418..13a60f4 100644
--- a/include/configs/mx6_common.h
+++ b/include/configs/mx6_common.h
@@ -8,11 +8,6 @@
#define __MX6_COMMON_H
#ifndef CONFIG_MX6UL
-#define CONFIG_ARM_ERRATA_743622
-#define CONFIG_ARM_ERRATA_751472
-#define CONFIG_ARM_ERRATA_794072
-#define CONFIG_ARM_ERRATA_761320
-
#ifndef CONFIG_SYS_L2CACHE_OFF
#define CONFIG_SYS_L2_PL310
#define CONFIG_SYS_PL310_BASE L2_PL310_BASE
diff --git a/include/configs/nokia_rx51.h b/include/configs/nokia_rx51.h
index e17c3c0..5b0cb2e 100644
--- a/include/configs/nokia_rx51.h
+++ b/include/configs/nokia_rx51.h
@@ -27,10 +27,6 @@
#define CONFIG_OMAP3430 /* which is in a 3430 */
#define CONFIG_OMAP3_RX51 /* working with RX51 */
#define CONFIG_SYS_L2CACHE_OFF /* pretend there is no L2 CACHE */
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_MACH_TYPE MACH_TYPE_NOKIA_RX51
diff --git a/include/configs/omap3_evm.h b/include/configs/omap3_evm.h
index 6a57ebd..a28f9ba 100644
--- a/include/configs/omap3_evm.h
+++ b/include/configs/omap3_evm.h
@@ -85,10 +85,6 @@
*/
#define CONFIG_OMAP /* This is TI OMAP core */
#define CONFIG_OMAP_GPIO
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_SDRC /* The chip has SDRC controller */
diff --git a/include/configs/sniper.h b/include/configs/sniper.h
index fb28dcd..83fa6e0 100644
--- a/include/configs/sniper.h
+++ b/include/configs/sniper.h
@@ -17,9 +17,6 @@
*/
#define CONFIG_ARM_ARCH_CP15_ERRATA
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
/*
* Platform
diff --git a/include/configs/tam3517-common.h b/include/configs/tam3517-common.h
index 87b5315..2704319 100644
--- a/include/configs/tam3517-common.h
+++ b/include/configs/tam3517-common.h
@@ -15,10 +15,6 @@
*/
#define CONFIG_OMAP /* in a TI OMAP core */
#define CONFIG_OMAP_GPIO
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_SYS_TEXT_BASE 0x80008000
diff --git a/include/configs/tao3530.h b/include/configs/tao3530.h
index 89d2e6b..ead8ea7 100644
--- a/include/configs/tao3530.h
+++ b/include/configs/tao3530.h
@@ -19,10 +19,6 @@
#define CONFIG_OMAP /* in a TI OMAP core */
#define CONFIG_OMAP_GPIO
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_SDRC /* Has an SDRC controller */
diff --git a/include/configs/tegra20-common.h b/include/configs/tegra20-common.h
index 793310f..db1cc24 100644
--- a/include/configs/tegra20-common.h
+++ b/include/configs/tegra20-common.h
@@ -10,13 +10,6 @@
#include "tegra-common.h"
/*
- * Errata configuration
- */
-#define CONFIG_ARM_ERRATA_716044
-#define CONFIG_ARM_ERRATA_742230
-#define CONFIG_ARM_ERRATA_751472
-
-/*
* NS16550 Configuration
*/
#define V_NS16550_CLK 216000000 /* 216MHz (pllp_out0) */
diff --git a/include/configs/tegra30-common.h b/include/configs/tegra30-common.h
index baf3d00..6083847 100644
--- a/include/configs/tegra30-common.h
+++ b/include/configs/tegra30-common.h
@@ -10,12 +10,6 @@
#include "tegra-common.h"
/*
- * Errata configuration
- */
-#define CONFIG_ARM_ERRATA_743622
-#define CONFIG_ARM_ERRATA_751472
-
-/*
* NS16550 Configuration
*/
#define V_NS16550_CLK 408000000 /* 408MHz (pllp_out0) */
diff --git a/include/configs/ti_omap3_common.h b/include/configs/ti_omap3_common.h
index 0ad3235..0147662 100644
--- a/include/configs/ti_omap3_common.h
+++ b/include/configs/ti_omap3_common.h
@@ -21,11 +21,6 @@
#include <asm/arch/cpu.h>
#include <asm/arch/omap.h>
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
-
/* The chip has SDRC controller */
#define CONFIG_SDRC
diff --git a/include/configs/ti_omap5_common.h b/include/configs/ti_omap5_common.h
index 37d6565..7fb1bb6 100644
--- a/include/configs/ti_omap5_common.h
+++ b/include/configs/ti_omap5_common.h
@@ -17,9 +17,6 @@
#ifndef __CONFIG_TI_OMAP5_COMMON_H
#define __CONFIG_TI_OMAP5_COMMON_H
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_798870
-
/* Use General purpose timer 1 */
#define CONFIG_SYS_TIMERBASE GPT2_BASE
diff --git a/include/configs/tricorder.h b/include/configs/tricorder.h
index e4b3290..2b80352 100644
--- a/include/configs/tricorder.h
+++ b/include/configs/tricorder.h
@@ -19,10 +19,6 @@
/* High Level Configuration Options */
#define CONFIG_SYS_THUMB_BUILD
#define CONFIG_OMAP /* in a TI OMAP core */
-/* Common ARM Erratas */
-#define CONFIG_ARM_ERRATA_454179
-#define CONFIG_ARM_ERRATA_430973
-#define CONFIG_ARM_ERRATA_621766
#define CONFIG_MACH_TYPE MACH_TYPE_TRICORDER
/*
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index f6c9101..c02cbef 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -141,24 +141,6 @@ CONFIG_ARMV8_SWITCH_TO_EL1
CONFIG_ARM_ARCH_CP15_ERRATA
CONFIG_ARM_ASM_UNIFIED
CONFIG_ARM_DCC
-CONFIG_ARM_ERRATA_430973
-CONFIG_ARM_ERRATA_454179
-CONFIG_ARM_ERRATA_621766
-CONFIG_ARM_ERRATA_716044
-CONFIG_ARM_ERRATA_742230
-CONFIG_ARM_ERRATA_743622
-CONFIG_ARM_ERRATA_751472
-CONFIG_ARM_ERRATA_761320
-CONFIG_ARM_ERRATA_773022
-CONFIG_ARM_ERRATA_774769
-CONFIG_ARM_ERRATA_794072
-CONFIG_ARM_ERRATA_798870
-CONFIG_ARM_ERRATA_801819
-CONFIG_ARM_ERRATA_826974
-CONFIG_ARM_ERRATA_828024
-CONFIG_ARM_ERRATA_829520
-CONFIG_ARM_ERRATA_833069
-CONFIG_ARM_ERRATA_833471
CONFIG_ARM_FREQ
CONFIG_ARM_GIC_BASE_ADDRESS
CONFIG_ARM_PL180_MMCI
--
2.1.4
More information about the U-Boot
mailing list