From: Nishanth Menon <nm@ti.com>
To: Simon Glass <sjg@google.com>
Cc: Jason Kacines <j-kacines@ti.com>, Andrew Davis <afd@ti.com>,
Vignesh Raghavendra <vigneshr@ti.com>, Bryan Brattlof <bb@ti.com>,
Praneeth Bajjuri <praneeth@ti.com>, Tom Rini <trini@konsulko.com>,
<u-boot@lists.denx.de>
Subject: Re: [RFC PATCH 0/3] Minimal platform configuration
Date: Thu, 13 Jul 2023 17:34:55 -0500 [thread overview]
Message-ID: <20230713223455.bngcabgcebxqn6sr@prison> (raw)
In-Reply-To: <CAPnjgZ2pE3TvBGeQDdZURFVhggetW0PHYPWh1ci1KeSmykJ4rg@mail.gmail.com>
On 08:00-20230712, Simon Glass wrote:
> Hi Jason,
>
> On Tue, 11 Jul 2023 at 16:28, Jason Kacines <j-kacines@ti.com> wrote:
> >
> > When someone attempts to bring up a custom board using TI SoCs (am62x in
> > this case), it often takes several days for someone to reduce the
> > current configuration from the TI EVM/SK boards to a configuration that
> > works for their board.
> >
> > The goal of these changes is to allow for a minimal boot configuration
> > to exist within UBoot that someone can access directly in order to
> > test their boards for a sign of life before beginning development. This
> > is all done with the hope to increase ease of use and reduce the
> > upbringing process from several days to a few hours.
> >
> > With the use of fragments, the base defconfigs reside in configs/ and
> > the config fragments reside in board/../
> >
> > There is still quite a lot of board specific code inside board_init_f()
> > that will need attention later, however this series begins the process
> > of splitting the am62x's configs into a separate generic defconfig
> > everyone can use for new board wakeups with individual board/ti/*.config
> > fragments for each board varient.
>
> How about setting up some common defaults for your arch using Kconfig,
> so that the board defconfigs are much smaller?
>
> In general, boards in U-Boot have far too many individual settings.
> Most of them should use a sensible default.
>
> Going in the direction you have here just continues that tradition,
> inventing what I feel is an unnecessary solution.
Challenge here is SRAM. When we enable OSPI for example or USB DFU for a
group of our devices -> they follow a specific pattern of CONFIG
options, which over and over again, we mess up by having individual
config options being updated. This is similar in nature to the kernel
config fragment motivation as well - in fact just worse with SRAM
limitations with which SPL or early stages of bootloaders need to
function with.
Look at today's list:
am65x_evm_a53_defconfig
am65x_evm_r5_defconfig
am65x_evm_r5_usbdfu_defconfig
am65x_evm_r5_usbmsc_defconfig
am65x_hs_evm_a53_defconfig
am65x_hs_evm_r5_defconfig
The usbdfu or msc stuff just replicates it self over and over as people
enable that for next TI SoC and so and so forth.
Other patterns are stuff like Android configurations or distro boot
configurations - or uefi - instead of each vendor re-discovering the
right options, the opens up the possibility of standardized fragments
that any platform that chooses can pick.
I am with you that there are too many individual settings at times, and
there is a need to keep the defconfigs small as well. One thing we have
to fight against constantly is boot time memory availability and speed
of boot requirements. but those are details of the exact Kconfig options
enabled etc.. for us at least, config fragments opens up a sustainable
and low-fail option of consistently enabling features across SoCs and
platforms. I think many folks who struggle with the same will concur
as well. We are definitely open to following a structured set of rules
when and how it should be used.. but hopefully, this helps explains?
--
Regards,
Nishanth Menon
Key (0xDDB5849D1736249D) / Fingerprint: F8A2 8693 54EB 8232 17A3 1A34 DDB5 849D 1736 249D
next prev parent reply other threads:[~2023-07-13 22:35 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-07-11 21:20 [RFC PATCH 0/3] Minimal platform configuration Jason Kacines
2023-07-11 21:20 ` [RFC PATCH 1/3] scripts: kconfig: Add config fragment support in board/../ Jason Kacines
2023-07-12 14:00 ` Simon Glass
2023-07-13 22:54 ` Tom Rini
2023-07-15 23:40 ` Simon Glass
2023-07-16 15:12 ` Tom Rini
2023-07-19 1:07 ` Simon Glass
2023-07-19 13:34 ` Tom Rini
2023-07-27 0:49 ` Simon Glass
2023-08-07 22:15 ` [PATCH] doc: Begin adding a best practices document for board ports Tom Rini
2023-08-08 20:12 ` Heinrich Schuchardt
2023-08-08 20:36 ` [v2] " Tom Rini
2023-08-09 2:03 ` Simon Glass
2023-08-09 17:17 ` [RFC PATCH 1/3] scripts: kconfig: Add config fragment support in board/../ Tom Rini
2023-07-11 21:20 ` [RFC PATCH 2/3] configs: Add am62x wakeup defconfigs Jason Kacines
2023-07-11 21:20 ` [RFC PATCH 3/3] board: ti: am62x: Add am62x_evm defconfig fragments Jason Kacines
2023-07-12 14:00 ` [RFC PATCH 0/3] Minimal platform configuration Simon Glass
2023-07-13 22:34 ` Nishanth Menon [this message]
2023-07-15 23:40 ` Simon Glass
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=20230713223455.bngcabgcebxqn6sr@prison \
--to=nm@ti.com \
--cc=afd@ti.com \
--cc=bb@ti.com \
--cc=j-kacines@ti.com \
--cc=praneeth@ti.com \
--cc=sjg@google.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=vigneshr@ti.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox