All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joel Stanley <joel@jms.id.au>
To: Zev Weiss <zweiss@equinix.com>
Cc: "openbmc@lists.ozlabs.org" <openbmc@lists.ozlabs.org>,
	郁雷 <yulei.sh@bytedance.com>
Subject: Re: U-boot version selection
Date: Mon, 12 Jul 2021 10:31:51 +0000	[thread overview]
Message-ID: <CACPK8XfBCyHGJu_y56=YrkvSc=yrcSy-3Ge9bdQ7DdxO8+uN+A@mail.gmail.com> (raw)
In-Reply-To: <20210708191905.GK8018@packtop>

On Thu, 8 Jul 2021 at 19:19, Zev Weiss <zweiss@equinix.com> wrote:
>
> On Wed, Jun 30, 2021 at 11:51:49PM CDT, Joel Stanley wrote:
> >egacOn Thu, 1 Jul 2021 at 02:48, Zev Weiss <zweiss@equinix.com> wrote:
> >>
> >> Hi,
> >>
> >> I recently found myself needing to make some tweaks to u-boot to
> >> accommodate a new board I'm targeting with a larger flash part, but in
> >> going to do so I remembered that I'm currently using u-boot v2016.7,
> >> whereas new development is strongly encouraged to use v2019.04 [1].
> >>
> >> As far as I know that happened entirely by default (i.e. I didn't go out
> >> of my way to use the older version), so I hunted around a bit for how to
> >> override that to use the newer one, but wasn't able to find anything
> >> obvious.  What's the recommended way to go about switching that for my
> >> board?
> >
> >You can see Lei's change to use the newer tree here:
> >
> > https://github.com/openbmc/openbmc/commit/1aa72efd0f54
> >
> >UBOOT_DEVICETREE = "ast2500-evb"
> >UBOOT_MACHINE = "evb-ast2500_defconfig"
> >
> >PREFERRED_PROVIDER_u-boot = "u-boot-aspeed-sdk"
> >PREFERRED_PROVIDER_u-boot-fw-utils = "u-boot-fw-utils-aspeed-sdk"
> >PREFERRED_PROVIDER_virtual/bootloader = "u-boot-aspeed-sdk"
> >
> >The important change is to point it to a valid defconfig for the new
> >tree, to specify the u-boot device tree to use, and to change some
> >yocto PROVIDER variables to use the "u-boot-aspeed-sdk" variant.
> >
>
> Great, thanks for the pointers there -- that worked smoothly on the 64M
> board I'm currently working on a port for.  Unfortunately when I tried
> it out on one of the 32M platforms I've got I realized that the u-boot
> image with the new branch comes out to around 430K, which in addition to
> being quite a bit larger than the old branch (~225K), is too big to fit
> in the u-boot partition of the 32MB static flash layout (384K).
>
> With a bit of haphazard experimentation, I found that disabling
> CONFIG_EFI_LOADER got it down to 370K, and turning off
> CONFIG_SYS_LONGHELP reduced that to 357K, leaving a bit of breathing
> room, though perhaps still less than would be ideal.  Since a quick poll
> of FLASH_SIZE settings seems to indicate that most existing OpenBMC
> platforms are 32M, would those be appropriate candidates to add to the
> evb-ast2500_defconfig?

Yes, that would make sense. Confirming that this set got it down to 345 KB:

+# CONFIG_SYS_LONGHELP is not set
+# CONFIG_CMD_ELF is not set
+# CONFIG_CMD_IMI is not set
+# CONFIG_CMD_XIMG is not set
+# CONFIG_REGEX is not set
+# CONFIG_EFI_LOADER is not set

Are there any ast2500 boards that use MMC? If not, disabling MMC and
block devices gets it down to 321 KB:

-CONFIG_CMD_MMC=y
-CONFIG_DM_MMC=y
-# CONFIG_MMC_HW_PARTITIONING is not set
-CONFIG_MMC_SDHCI=y
-CONFIG_MMC_SDHCI_ASPEED=y
+# CONFIG_MMC is not set

If we disable MMC, we should probably create our own defconfig
(ast2500_openbmc_defconifg). If we just want to disable the unused
options, I think patching the evb defconfig is fine. I'll leave it to
you; please send a patch to the list and I'll merge it.

>
> (I also encountered an ftgmac100 phy-related null pointer dereference
> that leads to it spewing a bunch of garbage to the console, which I
> band-aided temporarily with a dts patch to disable the second mac.)

Thanks for the report.

      reply	other threads:[~2021-07-12 10:32 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-07-01  2:42 U-boot version selection Zev Weiss
2021-07-01  4:51 ` Joel Stanley
2021-07-08 19:19   ` Zev Weiss
2021-07-12 10:31     ` Joel Stanley [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CACPK8XfBCyHGJu_y56=YrkvSc=yrcSy-3Ge9bdQ7DdxO8+uN+A@mail.gmail.com' \
    --to=joel@jms.id.au \
    --cc=openbmc@lists.ozlabs.org \
    --cc=yulei.sh@bytedance.com \
    --cc=zweiss@equinix.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.