[PATCH 1/3] cmd: env: Add 'env import -h' for Marvell hw_info formatted environments

Luka Kovacic luka.kovacic at sartura.hr
Fri Feb 5 23:02:23 CET 2021


Hello Tom,

On Thu, Feb 4, 2021 at 6:06 PM Tom Rini <trini at konsulko.com> wrote:
>
> On Thu, Feb 04, 2021 at 11:46:35AM +0100, Luka Kovacic wrote:
>
> > The '-h' flag is added to the 'env import' command to enable parsing
> > Marvell hw_info formatted environments.
> > This format is often used on Marvell Armada A37XX based devices to store
> > parameters like the board serial number, factory MAC addresses and some
> > other information.
> >
> > Currently this environment format can only be imported, not exported.
> > These parameters are usually written to the flash in the factory.
> >
> > This functionality has been tested on the GST ESPRESSOBin-Ultra board
> > successfully.
> >
> > Usage example:
> >  => sf probe
> >  => sf read ${loadaddr} 0x003E000A 0x1F0 # Read the environment from
> > SPI flash
> >  => env import -h ${loadaddr}
> >
> > Signed-off-by: Luka Kovacic <luka.kovacic at sartura.hr>
> > Cc: Luka Perkov <luka.perkov at sartura.hr>
> > Cc: Robert Marko <robert.marko at sartura.hr>
>
> So, the implementation itself is fine:
>
> Reviewed-by: Tom Rini <trini at konsulko.com>
>
> And I take it as a given that we can't get the boards populated with an
> existing separator, so we need to solve this somehow or another.  I am
> however loathe to increase every platform by a handful of bytes (help
> text, code text) to cover this case, and adding #ifdef around the help
> text in particular would be very ugly. Is there any clean way to write
> this as a board-specific command?  I assume the overall intention is to
> import the factory env for the required information, store it in regular
> U-Boot environment and then never touch the factory area again.  Thanks!

I have already considered the possibility of implementing this in a
board-specific way, but I tried implementing it here to avoid unnecessary
code duplication.
You are correct, the intention is to use this functionality as a migration
path. It's good to keep the factory area intact, in case it's still needed in
the future.
The Marvell hw_info area is limited to MACs and serial numbers by the
stock utility.

I've also compared the resulting u-boot.bin binary size with and without
the patch and the difference is about 40 bytes.

>
> --
> Tom

Kind regards,
Luka


More information about the U-Boot mailing list