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 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.