From 88b233a347378dc51113e9ef7ffe62723c9b7758 Mon Sep 17 00:00:00 2001
From: Simon Glass <sjg@chromium.org>
Date: Sun, 23 Jul 2017 21:19:42 -0600
Subject: [PATCH] Convert CONFIG_ENV_IS_IN_NVRAM to Kconfig

This converts the following to Kconfig:
   CONFIG_ENV_IS_IN_NVRAM

Signed-off-by: Simon Glass <sjg@chromium.org>
---
 README                       | 14 --------------
 common/Kconfig               | 16 ++++++++++++++++
 configs/highbank_defconfig   |  3 ++-
 include/configs/M54418TWR.h  |  1 -
 include/configs/highbank.h   |  1 -
 scripts/config_whitelist.txt |  2 --
 6 files changed, 18 insertions(+), 19 deletions(-)

diff --git a/README b/README
index dc10e4e494..f37765e51c 100644
--- a/README
+++ b/README
@@ -3412,20 +3412,6 @@ following configurations:
 	Builds up envcrc with the target environment so that external utils
 	may easily extract it and embed it in final U-Boot images.
 
-- CONFIG_ENV_IS_IN_NVRAM:
-
-	Define this if you have some non-volatile memory device
-	(NVRAM, battery buffered SRAM) which you want to use for the
-	environment.
-
-	- CONFIG_ENV_ADDR:
-	- CONFIG_ENV_SIZE:
-
-	  These two #defines are used to determine the memory area you
-	  want to use for environment. It is assumed that this memory
-	  can just be read and written to, without any special
-	  provision.
-
 BE CAREFUL! The first access to the environment happens quite early
 in U-Boot initialization (when we try to get the setting of for the
 console baudrate). You *MUST* have mapped your NVRAM area then, or
diff --git a/common/Kconfig b/common/Kconfig
index 29e25fef2f..2f86e7ca90 100644
--- a/common/Kconfig
+++ b/common/Kconfig
@@ -340,6 +340,22 @@ config ENV_IS_IN_NAND
 	  Currently, CONFIG_ENV_OFFSET_REDUND is not supported when
 	  using CONFIG_ENV_OFFSET_OOB.
 
+config ENV_IS_IN_NVRAM
+	bool "Environment in a non-volatile RAM"
+	depends on !CHAIN_OF_TRUST
+	help
+	  Define this if you have some non-volatile memory device
+	  (NVRAM, battery buffered SRAM) which you want to use for the
+	  environment.
+
+	  - CONFIG_ENV_ADDR:
+	  - CONFIG_ENV_SIZE:
+
+	  These two #defines are used to determine the memory area you
+	  want to use for environment. It is assumed that this memory
+	  can just be read and written to, without any special
+	  provision.
+
 config ENV_IS_IN_UBI
 	bool "Environment in a UBI volume"
 	depends on !CHAIN_OF_TRUST
diff --git a/configs/highbank_defconfig b/configs/highbank_defconfig
index 6f19492251..d905b0f32b 100644
--- a/configs/highbank_defconfig
+++ b/configs/highbank_defconfig
@@ -3,6 +3,7 @@ CONFIG_SYS_THUMB_BUILD=y
 CONFIG_ARCH_HIGHBANK=y
 CONFIG_FIT=y
 CONFIG_OF_BOARD_SETUP=y
+CONFIG_ENV_IS_IN_NVRAM=y
 # CONFIG_DISPLAY_CPUINFO is not set
 # CONFIG_DISPLAY_BOARDINFO is not set
 CONFIG_HUSH_PARSER=y
@@ -23,6 +24,6 @@ CONFIG_CMD_FS_GENERIC=y
 CONFIG_ISO_PARTITION=y
 CONFIG_EFI_PARTITION=y
 # CONFIG_PARTITION_UUIDS is not set
-CONFIG_SCSI=y
 # CONFIG_MMC is not set
+CONFIG_SCSI=y
 CONFIG_OF_LIBFDT=y
diff --git a/include/configs/M54418TWR.h b/include/configs/M54418TWR.h
index 0eb56c07b4..f55843a8f4 100644
--- a/include/configs/M54418TWR.h
+++ b/include/configs/M54418TWR.h
@@ -272,7 +272,6 @@
  * Environment is embedded in u-boot in the second sector of the flash
  */
 #if !defined(CONFIG_SERIAL_BOOT)  /*MRAM boot*/
-#define CONFIG_ENV_IS_IN_MRAM	1
 #define CONFIG_ENV_ADDR		(0x40000 - 0x1000) /*MRAM size 40000*/
 #define CONFIG_ENV_SIZE		0x1000
 #endif
diff --git a/include/configs/highbank.h b/include/configs/highbank.h
index 533d3e3f82..0328c4100b 100644
--- a/include/configs/highbank.h
+++ b/include/configs/highbank.h
@@ -74,7 +74,6 @@
 
 /* Environment data setup
 */
-#define CONFIG_ENV_IS_IN_NVRAM
 #define CONFIG_SYS_NVRAM_BASE_ADDR	0xfff88000	/* NVRAM base address */
 #define CONFIG_SYS_NVRAM_SIZE		0x8000		/* NVRAM size */
 #define CONFIG_ENV_SIZE			0x2000		/* Size of Environ */
diff --git a/scripts/config_whitelist.txt b/scripts/config_whitelist.txt
index 2c7ea85618..e4d434b73b 100644
--- a/scripts/config_whitelist.txt
+++ b/scripts/config_whitelist.txt
@@ -636,8 +636,6 @@ CONFIG_ENV_IS_IN_
 CONFIG_ENV_IS_IN_DATAFLASH
 CONFIG_ENV_IS_IN_EEPROM
 CONFIG_ENV_IS_IN_FAT
-CONFIG_ENV_IS_IN_MRAM
-CONFIG_ENV_IS_IN_NVRAM
 CONFIG_ENV_IS_IN_ONENAND
 CONFIG_ENV_IS_IN_REMOTE
 CONFIG_ENV_IS_IN_SPI_FLASH
-- 
2.39.5