[U-Boot] [PATCH v3] env: Added support to save env to spi through Kconfig
Michal Simek
michal.simek at xilinx.com
Wed Jul 18 07:11:35 UTC 2018
From: Vipul Kumar <vipul.kumar at xilinx.com>
This patch added support to enable CONFIG_ENV_SIZE, CONFIG_ENV_OFFSET
and CONFIG_ENV_SECT_SIZE through Kconfig for Zynq and Zynqmp.
Signed-off-by: Vipul Kumar <vipul.kumar at xilinx.com>
Signed-off-by: Michal Simek <michal.simek at xilinx.com>
---
Changes in v3:
- Fix also bitmain config which was failing
Changes in v2:
- Changed if condition of ENV_SIZE for Zynqmp
- Changed if condition for ENV_SECT_SIZE
configs/bitmain_antminer_s9_defconfig | 1 +
env/Kconfig | 28 ++++++++++++++++++++++++++++
include/configs/bitmain_antminer_s9.h | 3 ---
include/configs/xilinx_zynqmp.h | 3 ---
include/configs/zynq-common.h | 13 -------------
5 files changed, 29 insertions(+), 19 deletions(-)
diff --git a/configs/bitmain_antminer_s9_defconfig b/configs/bitmain_antminer_s9_defconfig
index 40bce4e37482..f59c767242f1 100644
--- a/configs/bitmain_antminer_s9_defconfig
+++ b/configs/bitmain_antminer_s9_defconfig
@@ -4,6 +4,7 @@ CONFIG_SYS_BOARD="antminer_s9"
CONFIG_SYS_CONFIG_NAME="bitmain_antminer_s9"
CONFIG_ARCH_ZYNQ=y
CONFIG_SYS_TEXT_BASE=0x4000000
+CONFIG_ENV_OFFSET=0x300000
CONFIG_SPL=y
CONFIG_DEBUG_UART_BASE=0xe0001000
CONFIG_DEBUG_UART_CLOCK=50000000
diff --git a/env/Kconfig b/env/Kconfig
index 8618376f252f..b37dcd78eb75 100644
--- a/env/Kconfig
+++ b/env/Kconfig
@@ -480,6 +480,34 @@ config ENV_SIZE
endif
+if ARCH_ZYNQMP || ARCH_ZYNQ
+
+config ENV_OFFSET
+ hex "Environment Offset"
+ depends on !ENV_IS_NOWHERE
+ default 0x1E00000 if ARCH_ZYNQMP
+ default 0xE0000 if ARCH_ZYNQ
+ help
+ Offset from the start of the device (or partition)
+
+config ENV_SIZE
+ hex "Environment Size"
+ default 0x40000 if ENV_IS_IN_SPI_FLASH && ARCH_ZYNQMP
+ default 0x8000 if ARCH_ZYNQMP
+ default 0x20000 if ARCH_ZYNQ
+ help
+ Size of the environment storage area.
+
+config ENV_SECT_SIZE
+ hex "Environment Sector-Size"
+ depends on !ENV_IS_NOWHERE
+ default 0x40000 if ARCH_ZYNQMP
+ default 0x20000 if ARCH_ZYNQ
+ help
+ Size of the sector containing the environment.
+
+endif
+
config USE_DEFAULT_ENV_FILE
bool "Create default environment from file"
help
diff --git a/include/configs/bitmain_antminer_s9.h b/include/configs/bitmain_antminer_s9.h
index 226750215e75..a9f45f19295a 100644
--- a/include/configs/bitmain_antminer_s9.h
+++ b/include/configs/bitmain_antminer_s9.h
@@ -9,9 +9,6 @@
#define CONFIG_SYS_SDRAM_BASE 0x00000000
#define CONFIG_SYS_SDRAM_SIZE 0x40000000
-#define CONFIG_ENV_SIZE 0x20000
-#define CONFIG_ENV_OFFSET 0x300000
-
#define CONFIG_BOOTP_SERVERIP
#define CONFIG_EXTRA_ENV_SETTINGS \
diff --git a/include/configs/xilinx_zynqmp.h b/include/configs/xilinx_zynqmp.h
index ebc6c6f3e020..ef242c796253 100644
--- a/include/configs/xilinx_zynqmp.h
+++ b/include/configs/xilinx_zynqmp.h
@@ -99,9 +99,6 @@
# define PARTS_DEFAULT
#endif
-/* Do not preserve environment */
-#define CONFIG_ENV_SIZE 0x8000
-
/* Monitor Command Prompt */
/* Console I/O Buffer Size */
#define CONFIG_SYS_CBSIZE 2048
diff --git a/include/configs/zynq-common.h b/include/configs/zynq-common.h
index a6f2aceea1de..c41dc2c9070e 100644
--- a/include/configs/zynq-common.h
+++ b/include/configs/zynq-common.h
@@ -121,22 +121,9 @@
# define CONFIG_SYS_EEPROM_SIZE 1024 /* Bytes */
#endif
-/* Total Size of Environment Sector */
-#ifndef CONFIG_ENV_SIZE
-# define CONFIG_ENV_SIZE (128 << 10)
-#endif
-
/* Allow to overwrite serial and ethaddr */
#define CONFIG_ENV_OVERWRITE
-/* Environment */
-#ifndef CONFIG_ENV_IS_NOWHERE
-# define CONFIG_ENV_SECT_SIZE CONFIG_ENV_SIZE
-# ifndef CONFIG_ENV_OFFSET
-# define CONFIG_ENV_OFFSET 0xE0000
-# endif
-#endif
-
/* enable preboot to be loaded before CONFIG_BOOTDELAY */
#define CONFIG_PREBOOT
--
1.9.1
More information about the U-Boot
mailing list