From: Christian Marangi <ansuelsmth@gmail.com>
To: Tom Rini <trini@konsulko.com>
Cc: Simon Glass <sjg@chromium.org>,
Quentin Schulz <quentin.schulz@cherry.de>,
Peng Fan <peng.fan@nxp.com>,
Casey Connolly <casey.connolly@linaro.org>,
Jonas Karlman <jonas@kwiboo.se>,
Jamie Gibbons <jamie.gibbons@microchip.com>,
Neha Malcom Francis <n-francis@ti.com>,
Justin Klaassen <justin@tidylabs.net>,
Harsha Vardhan V M <h-vm@ti.com>,
Leo Yu-Chi Liang <ycliang@andestech.com>,
Weijie Gao <weijie.gao@mediatek.com>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Alif Zakuan Yuslaimi <alif.zakuan.yuslaimi@altera.com>,
"Lucien.Jheng" <lucienzx159@gmail.com>,
u-boot@lists.denx.de
Subject: Re: [PATCH v3 0/5] misc: fs_loader: reorg and split to FS and FW loader + FIP loader
Date: Tue, 31 Mar 2026 09:54:55 +0200 [thread overview]
Message-ID: <69cb7dd2.050a0220.2aae7.7d3f@mx.google.com> (raw)
In-Reply-To: <20260330230757.GA1030901@bill-the-cat>
On Mon, Mar 30, 2026 at 05:07:57PM -0600, Tom Rini wrote:
> On Tue, Mar 17, 2026 at 04:36:04PM +0100, Christian Marangi wrote:
>
> > This series mainly rework the FS loader to permit reading firmware from
> > container that are not exactly a readable filesystem.
> >
> > One scenario is when a firmware is shipped in a FIP container as
> > a generic blob with an UUID.
> >
> > FIP are mostly used on ARM in the context of ATF.
> > In such context U-Boot is loaded as BL31 and the PHY firmware
> > can't be stored in the FIT image for the kernel as U-Boot should
> > not depend on the presence of the kernel to correctly enable PHY
> > for Ethernet port.
> >
> > To handle such case the PHY firmware is stored in FIP with a
> > predictable UUID.
> >
> > One example is with Airoha 8811H firmware where the FIP can
> > have a blob with UUID "d39d2cf2-9bd0-3ca7-93e9-e71b4f9250b2".
> > (generated from command "uuidgen -n @dns --md5 --name en8811h.bin")
> >
> > With these example DTS entry:
> >
> > fs_loader0: fip-loader {
> > bootph-all;
> > compatible = "u-boot,fip-loader";
> > phandlepart = <&mmc0 0>;
> > partoffset = <0x100>;
> > };
> >
> > mdio {
> > en8811: ethernet-phy@f {
> > reg = <0xf>;
> > firmware-name = "d39d2cf2-9bd0-3ca7-93e9-e71b4f9250b2";
> > firmware-loader = <&fs_loader0>;
> > };
> > };
> >
> > And PHY driver using the get_fw_loader_from_node() and the
> > common request_firmware_into_buf() it's possible to
> > load the PHY firmware transparently by just declaring
> > the required entry in the DTS.
> >
> > get_fw_loader_from_node() is implemented to actual get the
> > loader from DT. This was something that was already in mind
> > from when the FS loader was implemented but then it was
> > never implemented in favor of a single loader per device.
> >
> > The first patch is a minor fixup for something that probably
> > won't ever happen.
> >
> > The second one is a good reworking of the FS and FW loader
> > moving the internal struct to a dedicated header. (this is
> > really to enforce what drivers should use and what
> > driver should not mess with)
> >
> > Then there is the request_firmware_size() new OP to get only
> > the size of the firmware. Useful for case where the firmware
> > size is not always the same and change across different version.
> > (the patter might be get size -> alloc buffer -> get firmware).
> >
> > Then the FIP loader as a basic parser of FIP. This only
> > read the FIP header, loop all the entry and search for a
> > matching UUID. If nothing is found then no firmware blob.
> > Very simple implementation.
> >
> > This is being CI tested on [0]
>
> Both "git am" and "b4 shazam" fail to apply the second patch here, can
> you please rebase on top of current next and repost? Thanks.
>
Sorry I was targetting master instead of next. Just sent v4 with the
conflict fixed (it was the global declare dropped commit).
--
Ansuel
prev parent reply other threads:[~2026-03-31 7:55 UTC|newest]
Thread overview: 8+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-17 15:36 [PATCH v3 0/5] misc: fs_loader: reorg and split to FS and FW loader + FIP loader Christian Marangi
2026-03-17 15:36 ` [PATCH v3 1/5] misc: fs_loader: fix ubifs not unmounted on dev_get_priv error Christian Marangi
2026-03-17 15:36 ` [PATCH v3 2/5] misc: fs_loader: reorganize and split to FS and FW loader Christian Marangi
2026-03-17 15:36 ` [PATCH v3 3/5] misc: fw_loader: implement generic get_fw_loader_from_node() Christian Marangi
2026-03-17 15:36 ` [PATCH v3 4/5] misc: fw_loader: introduce FIP loader driver Christian Marangi
2026-03-17 15:36 ` [PATCH v3 5/5] misc: fw_loader: implement request_firmware_size() OP Christian Marangi
2026-03-30 23:07 ` [PATCH v3 0/5] misc: fs_loader: reorg and split to FS and FW loader + FIP loader Tom Rini
2026-03-31 7:54 ` Christian Marangi [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=69cb7dd2.050a0220.2aae7.7d3f@mx.google.com \
--to=ansuelsmth@gmail.com \
--cc=alif.zakuan.yuslaimi@altera.com \
--cc=casey.connolly@linaro.org \
--cc=h-vm@ti.com \
--cc=jamie.gibbons@microchip.com \
--cc=jonas@kwiboo.se \
--cc=justin@tidylabs.net \
--cc=lucienzx159@gmail.com \
--cc=marek.vasut+renesas@mailbox.org \
--cc=n-francis@ti.com \
--cc=peng.fan@nxp.com \
--cc=quentin.schulz@cherry.de \
--cc=sjg@chromium.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=weijie.gao@mediatek.com \
--cc=ycliang@andestech.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