[PATCH v3 3/3] defconfig: rockpro64: Enable SF EFI var store
Simon Glass
sjg at chromium.org
Sun Dec 3 18:44:11 CET 2023
Hi Shantur,
On Sat, 2 Dec 2023 at 16:12, Shantur Rathore <i at shantur.com> wrote:
>
> Hi Simon,
>
> On Fri, Dec 1, 2023 at 6:44 PM Simon Glass <sjg at chromium.org> wrote:
> >
> > Hi Shantur,
> >
> > On Sun, 26 Nov 2023 at 15:09, Shantur Rathore <i at shantur.com> wrote:
> > >
> > > RockPro64 uses SPI Flash for storing env, also use it store
> > > EFI variables.
> > >
> > > Signed-off-by: Shantur Rathore <i at shantur.com>
> > > ---
> > >
> > > configs/rockpro64-rk3399_defconfig | 2 ++
> > > 1 file changed, 2 insertions(+)
> > >
> > > diff --git a/configs/rockpro64-rk3399_defconfig b/configs/rockpro64-rk3399_defconfig
> > > index 4cd6b76665..f550f2ae43 100644
> > > --- a/configs/rockpro64-rk3399_defconfig
> > > +++ b/configs/rockpro64-rk3399_defconfig
> > > @@ -8,6 +8,8 @@ CONFIG_HAS_CUSTOM_SYS_INIT_SP_ADDR=y
> > > CONFIG_CUSTOM_SYS_INIT_SP_ADDR=0x300000
> > > CONFIG_ENV_SIZE=0x8000
> > > CONFIG_ENV_OFFSET=0x3F8000
> > > +CONFIG_EFI_VARIABLE_SF_STORE=y
> > > +CONFIG_EFI_VARIABLE_SF_OFFSET=0x7D0000
> >
> > Can we use this offset in binman when creating the SPI-flash image?
>
> Unless I missed something, binman is used when something is bundled
> with a u-boot image.
> This is similar to ENV_OFFSET letting u-boot know where it can write
> the EFI variables.
> I didn't see ENV_OFFSET referred in rk3399-u-boot.dtsi or
> rk3399-rockpro64-u-boot.dtsi
>
> Please correct me if I am wrong.
Well, this is what I see in arch/arm/dts/rk3399-u-boot.dtsi :
#if defined(CONFIG_ROCKCHIP_SPI_IMAGE) && defined(CONFIG_HAS_ROM)
&binman {
multiple-images;
rom {
filename = "u-boot.rom";
size = <0x400000>;
pad-byte = <0xff>;
mkimage {
args = "-n rk3399 -T rkspi";
u-boot-spl {
};
};
u-boot-img {
offset = <0x40000>;
};
u-boot {
offset = <0x300000>;
};
fdtmap {
};
};
};
#endif /* CONFIG_ROCKCHIP_SPI_IMAGE && CONFIG_HAS_ROM */
So it looks like 0x3f8000 fits in there somewhere.
In fact, I wonder if we should add something like:
u-boot-env {
offset = <CONFIG_ENV_OFFSET>;
};
so the environment gets filled into the SPI flash when we write the image?
I suppose we could also add the EFI variable store, although that
would require adding a new entry type to binman.
Regards,
Simon
More information about the U-Boot
mailing list