[U-Boot] [PATCH] env: Merge Rockchip, Sunxi, Zynq and ZynqMP
Tom Rini
trini at konsulko.com
Thu Jul 19 14:53:44 UTC 2018
On Thu, Jul 19, 2018 at 03:45:11PM +0200, Michal Simek wrote:
> On 19.7.2018 13:13, Maxime Ripard wrote:
> > Hi,
> >
> > On Thu, Jul 19, 2018 at 08:45:45AM +0200, Michal Simek wrote:
> >> There is no reason to have the same Kconfig options for different SoCs
> >> separately. The patch is merging them together.
> >>
> >> Signed-off-by: Michal Simek <michal.simek at xilinx.com>
> >> ---
> >>
> >> Patch is based on
> >> https://lists.denx.de/pipermail/u-boot/2018-July/335126.html
> >>
> >> I have ENV_SECT_SIZE just for zynq/zynqmp because rockchip and sunxi
> >> have this in their configs. When they decide to move then can enable
> >> that option for them too.
> >> I expect when more platforms extend this we will have less constrain
> >> Kconfig setup.
> >>
> >> ---
> >> env/Kconfig | 66 ++++++++++++++++---------------------------------------------
> >> 1 file changed, 17 insertions(+), 49 deletions(-)
> >>
> >> diff --git a/env/Kconfig b/env/Kconfig
> >> index b37dcd78eb75..0ded003d7d41 100644
> >> --- a/env/Kconfig
> >> +++ b/env/Kconfig
> >> @@ -431,23 +431,37 @@ config ENV_EXT4_FILE
> >> It's a string of the EXT4 file name. This file use to store the
> >> environment (explicit path to the file)
> >>
> >> -if ARCH_SUNXI
> >> +if ARCH_ROCKCHIP || ARCH_SUNXI || ARCH_ZYNQ || ARCH_ZYNQMP
> >
> > Can we have a depends on instead? That would be more flexible.
>
> In what sense? If depends is used below then the same 4 platforms will
> be listed on all options below. (I want to also add ZYNQMP_R5 there too)
> And changing this in one place seems to me better then on four.
For now I like the "if" method for now as we can't (or couldn't a while
ago) globally migrate everyone over. I think trying to move everyone
over again is something I should give another try.
> >> config ENV_OFFSET
> >> hex "Environment Offset"
> >> depends on !ENV_IS_IN_UBI
> >> depends on !ENV_IS_NOWHERE
> >> + default 0x3f8000 if ARCH_ROCKCHIP
> >> default 0x88000 if ARCH_SUNXI
> >> + default 0xE0000 if ARCH_ZYNQ
> >> + default 0x1E00000 if ARCH_ZYNQMP
> >> help
> >> Offset from the start of the device (or partition)
> >>
> >> config ENV_SIZE
> >> hex "Environment Size"
> >> - depends on !ENV_IS_NOWHERE
> >> - default 0x20000 if ARCH_SUNXI
> >> + default 0x8000 if ARCH_ROCKCHIP && !ENV_IS_NOWHERE
> >> + default 0x20000 if ARCH_SUNXI && !ENV_IS_NOWHERE
> >
> > I'm not sure why you removed the depends on !ENV_IS_NOWHERE. Do you
> > have a case where the environment is not store anywhere but still need
> > a size?
>
> yes, I had a compilation warning for that case.
>
> in include/environment.h at line 145 it is written this
> #define ENV_SIZE (CONFIG_ENV_SIZE - ENV_HEADER_SIZE)
>
> ENV_SIZE is also used in typedef struct environment_s some lines below.
> And this structure is used a lot.
>
> How did you find out that this can't be used for ENV_IS_NOWHERE?
I would have sworn that ENV_SIZE is used for ENV_IS_NOWHERE as that's
how much space we have for environment when it's in memory as well.
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20180719/28a1d927/attachment.sig>
More information about the U-Boot
mailing list