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

Tom Rini trini at konsulko.com
Fri Feb 5 23:04:15 CET 2021


On Fri, Feb 05, 2021 at 11:02:23PM +0100, Luka Kovacic wrote:
> 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.

OK.  And can we put this in the board-specific path somehow, relatively
cleanly?

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

Yes, but it's 40 bytes on nearly every single platform.

-- 
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 659 bytes
Desc: not available
URL: <https://lists.denx.de/pipermail/u-boot/attachments/20210205/169a747c/attachment.sig>


More information about the U-Boot mailing list