[PATCH 02/13] arm: imx: Remove unused CONFIG_xxx_TAG support

Tom Rini trini at konsulko.com
Thu Feb 4 17:44:30 CET 2021


On Thu, Feb 04, 2021 at 11:08:33AM -0500, Tom Rini wrote:
> On Thu, Feb 04, 2021 at 08:26:52AM -0500, Tom Rini wrote:
> > On Thu, Feb 04, 2021 at 06:56:47AM -0300, Fabio Estevam wrote:
> > > Hi Tom,
> > > 
> > > [Adding Bryan]
> > > 
> > > On Thu, Feb 4, 2021 at 12:49 AM Tom Rini <trini at konsulko.com> wrote:
> > > 
> > > > CONFIG_SERIAL_TAG is only used to configure the ATAG serial record.  It
> > > > does nothing else.  On i.MX8* this is already being discarded.  On i.MX7
> > > > we see things like:
> > > >             warp7          : all -144 rodata +32 text -176
> > > >                u-boot: add: 0/-2, grow: 0/-2 bytes: 0/-160 (-160)
> > > >                  function                                   old     new   delta
> > > >                  params                                       4       -      -4
> > > >                  get_board_serial                            20       -     -20
> > > >                  board_late_init                             96      56     -40
> > > >                  boot_prep_linux                            156      60     -96
> > > 
> > > But then it will remove the support of reading serial number via fuses
> > > which was added by:
> > > 
> > > commit 852cc548b3fdf6d5b46e2a96f876d14608ccdcf4
> > > Author: Bryan O'Donoghue <bryan.odonoghue at linaro.org>
> > > Date:   Mon Mar 26 15:27:34 2018 +0100
> > > 
> > >     warp7: Set u-boot serial# based on OTP value
> > > 
> > >     u-boot has a standard "serial#" environment variable that is suitable
> > >     for storing the iSerial number we will supply via the USB device
> > >     descriptor. serial# is automatically picked up by the disk subsystem in
> > >     u-boot - thus providing a handy unique identifier in /dev/disk/by-id as
> > >     detailed below.
> > > 
> > >     Storing the hardware serial identifier in serial# means we can change the
> > >     serial# if we want before USB enumeration - thus making iSerial automatic
> > >     via OTP but overridable if necessary.
> > > 
> > >     This patch reads the defined OTP fuse and sets environment variable
> > >     "serial#" to the value read.
> > > 
> > >     With this patch in place the USB mass storage device will appear in
> > >     /dev/disk/by-id with a unique name based on the OTP value. For example
> > > 
> > >     /dev/disk/by-id/usb-Linux_UMS_disk_0_WaRP7-0xf42400d3000001d4-0:0
> > > 
> > >     Signed-off-by: Bryan O'Donoghue <bryan.odonoghue at linaro.org>
> > >     Cc: Fabio Estevam <fabio.estevam at nxp.com>
> > >     Cc: Rui Miguel Silva <rui.silva at linaro.org>
> > >     Cc: Ryan Harkin <ryan.harkin at linaro.org>
> > >     Reviewed-by: Fabio Estevam <fabio.estevam at nxp.com>
> > 
> > I did miss that one.  I'm not sure if that's abusing a symbol or clever
> > use of the symbol.  I will have to v2 this one then.
> 
> This should end up under CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG someway or
> another.  I'm going to make an attempt at it, but the biggest hurdle is
> that most often "serial#" is just the fuse(s) value and not prepended by
> a board-specific string (OR if it is, it's just in the fdt property we
> read and set from).

So, I see 3 options here:
1. In arch/arm/mach-imx/mx7/soc.c and board/warp7/warp7.c switch from
CONFIG_SERIAL_TAG to CONFIG_ENV_VARS_UBOOT_RUNTIME_CONFIG (and migrate
from warp7.h to defconfig to enable).  This won't break existing users /
documentation where the device showing up by serial number WITH "WaRP7"
in the name is expected.  The serial ATAG is defined regardless of
CONFIG_SERIAL_TAG so it'll still be available, and we're not likely to
remove ATAG support globally for some time yet.
2. Adjust arch/arm/mach-imx/mx7/soc.c to follow the common practice of
arch_misc_init() calling the function to read the fuse(s) and set
"serial#" to match that, without other identifiers.  This would enable
the feature for all imx7 boards but change the value on
new/re-initialized WaRP7 boards and probably break documentation.
3. Do nothing.  WaRP7 works as-is, using CONFIG_SERIAL_TAG is something
I think was a bit too clever, but I can also see why it was used since
after-all it's using the serial tag record, etc.

Option 3 is my least preferred choice, but, if the relevant custodians
like that the most, that's fine with me.

-- 
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/20210204/382d62d1/attachment.sig>


More information about the U-Boot mailing list