Message ID | 3ce94ca83e7fbc299281416b6f11d49b7f9b2ace.1531897892.git.michal.simek@xilinx.com |
---|---|
State | Accepted |
Commit | 2a30809cae098d8d2d4af7c5fba059993ef5f10e |
Delegated to: | Michal Simek |
Headers | show |
Series | [U-Boot,v3] env: Added support to save env to spi through Kconfig | expand |
1;5202;0c On Wed, Jul 18, 2018 at 09:11:35AM +0200, Michal Simek wrote: > From: Vipul Kumar <vipul.kumar@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@xilinx.com> > Signed-off-by: Michal Simek <michal.simek@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. These two are already defined in Kconfig, you can probably just add a default <value> if ARCH_ZYNQ* there. Maxime
On 18.7.2018 14:28, Maxime Ripard wrote: > 1;5202;0c > On Wed, Jul 18, 2018 at 09:11:35AM +0200, Michal Simek wrote: >> From: Vipul Kumar <vipul.kumar@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@xilinx.com> >> Signed-off-by: Michal Simek <michal.simek@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. > > These two are already defined in Kconfig, you can probably just add a > default <value> if ARCH_ZYNQ* there. we just follow the same style which SUNXI and ROCKCHIP are using. I am happy to create a patch on the top of this one to merge these 3 together because it will require some testing. I have already some patches depends on this one. Thanks, Michal
On Wed, Jul 18, 2018 at 04:04:37PM +0200, Michal Simek wrote: > On 18.7.2018 14:28, Maxime Ripard wrote: > > 1;5202;0c > > On Wed, Jul 18, 2018 at 09:11:35AM +0200, Michal Simek wrote: > >> From: Vipul Kumar <vipul.kumar@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@xilinx.com> > >> Signed-off-by: Michal Simek <michal.simek@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. > > > > These two are already defined in Kconfig, you can probably just add a > > default <value> if ARCH_ZYNQ* there. > > we just follow the same style which SUNXI and ROCKCHIP are using. We should definitely merge these two yeah. > I am happy to create a patch on the top of this one to merge these 3 > together because it will require some testing. I have already some > patches depends on this one. But that can also happen as a second step, you're right. Maxime
On 18.7.2018 17:25, Maxime Ripard wrote: > On Wed, Jul 18, 2018 at 04:04:37PM +0200, Michal Simek wrote: >> On 18.7.2018 14:28, Maxime Ripard wrote: >>> 1;5202;0c >>> On Wed, Jul 18, 2018 at 09:11:35AM +0200, Michal Simek wrote: >>>> From: Vipul Kumar <vipul.kumar@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@xilinx.com> >>>> Signed-off-by: Michal Simek <michal.simek@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. >>> >>> These two are already defined in Kconfig, you can probably just add a >>> default <value> if ARCH_ZYNQ* there. >> >> we just follow the same style which SUNXI and ROCKCHIP are using. > > We should definitely merge these two yeah. > >> I am happy to create a patch on the top of this one to merge these 3 >> together because it will require some testing. I have already some >> patches depends on this one. > > But that can also happen as a second step, you're right. As I said here it is. https://lists.denx.de/pipermail/u-boot/2018-July/335266.html Please test. I just build it for zynq/zynqmp. Thanks, Michal
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