From: Christian Marangi <ansuelsmth@gmail.com>
To: Simon Glass <sjg@chromium.org>, Tom Rini <trini@konsulko.com>,
Mattijs Korpershoek <mkorpershoek@kernel.org>,
Marek Vasut <marek.vasut+renesas@mailbox.org>,
Heiko Schocher <hs@nabladev.com>,
Neil Armstrong <neil.armstrong@linaro.org>,
Alexey Charkov <alchark@flipper.net>,
Daniel Golle <daniel@makrotopia.org>,
Aristo Chen <aristo.chen@canonical.com>,
Christian Marangi <ansuelsmth@gmail.com>,
"Lucien.Jheng" <lucienzx159@gmail.com>,
Mehmet Fide <mehmet.fide@screeningeagle.com>,
Casey Connolly <casey.connolly@linaro.org>,
Michal Simek <michal.simek@amd.com>,
Quentin Schulz <quentin.schulz@cherry.de>,
Johan Jonker <jbx6244@gmail.com>, Anshul Dalal <anshuld@ti.com>,
Romain Gantois <romain.gantois@bootlin.com>,
Mateus Lima Alves <mateuslima.ti@gmail.com>,
Marcello Sylvester Bauer <marcello.bauer@9elements.com>,
Tan Siewert <tan.siewert@9elements.com>,
Peng Fan <peng.fan@nxp.com>,
Patrice Chotard <patrice.chotard@foss.st.com>,
Yao Zi <me@ziyao.cc>, Heinrich Schuchardt <xypron.glpk@gmx.de>,
Martin Schwan <m.schwan@phytec.de>,
u-boot@lists.u-boot-project.org
Subject: [PATCH v8 6/7] doc: dtbinding: Update documentation for Generic Firmware loader
Date: Thu, 22 Oct 2026 21:40:41 +0200 [thread overview]
Message-ID: <20261022194049.670889-7-ansuelsmth@gmail.com> (raw)
In-Reply-To: <20261022194049.670889-1-ansuelsmth@gmail.com>
Update documentation for Generic Firmware loader to YAML schema,
generalize it from FS specific and add new property and example
for FIP loader.
Also add details on the usage of 'phandlepart', 'mtdpart' and 'ubivol'
property.
Signed-off-by: Christian Marangi <ansuelsmth@gmail.com>
---
doc/device-tree-bindings/misc/fs_loader.txt | 48 -------
doc/device-tree-bindings/misc/fw_loader.yaml | 126 +++++++++++++++++++
2 files changed, 126 insertions(+), 48 deletions(-)
delete mode 100644 doc/device-tree-bindings/misc/fs_loader.txt
create mode 100644 doc/device-tree-bindings/misc/fw_loader.yaml
diff --git a/doc/device-tree-bindings/misc/fs_loader.txt b/doc/device-tree-bindings/misc/fs_loader.txt
deleted file mode 100644
index 542be4b25a0a..000000000000
--- a/doc/device-tree-bindings/misc/fs_loader.txt
+++ /dev/null
@@ -1,48 +0,0 @@
-* File system firmware loader
-
-Required properties:
---------------------
-
-- compatible: should contain "u-boot,fs-loader"
-- phandlepart: which block storage device and partition the image loading from,
- this property is required for mmc, usb and sata. This is unsigned
- 32-bit array. For example phandlepart=<&mmc_0 1>, meaning use
- that MMC0 node pointer, partition 1.
-- mdtpart: which partition of ubi the image loading from, this property is
- required for ubi and mounting.
-- ubivol: which volume of ubi the image loading from, this property is required
- for ubi and mounting.
-
-Example of storage device and partition search set for mmc, usb, sata and
-ubi in device tree source as shown in below:
-
- Example of storage type and device partition search set for mmc, usb,
- sata and ubi as shown in below:
- Example for mmc:
- fs_loader0: fs-loader@0 {
- bootph-all;
- compatible = "u-boot,fs-loader";
- phandlepart = <&mmc_0 1>;
- };
-
- Example for usb:
- fs_loader1: fs-loader@1 {
- bootph-all;
- compatible = "u-boot,fs-loader";
- phandlepart = <&usb0 1>;
- };
-
- Example for sata:
- fs_loader2: fs-loader@2 {
- bootph-all;
- compatible = "u-boot,fs-loader";
- phandlepart = <&sata0 1>;
- };
-
- Example for ubi:
- fs_loader3: fs-loader@3 {
- bootph-all;
- compatible = "u-boot,fs-loader";
- mtdpart = "UBI",
- ubivol = "ubi0";
- };
diff --git a/doc/device-tree-bindings/misc/fw_loader.yaml b/doc/device-tree-bindings/misc/fw_loader.yaml
new file mode 100644
index 000000000000..0a99509e0881
--- /dev/null
+++ b/doc/device-tree-bindings/misc/fw_loader.yaml
@@ -0,0 +1,126 @@
+# SPDX-License-Identifier: GPL-2.0+
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/misc/fw_loader.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: U-Boot Generic Firmware Loader
+
+maintainers:
+ - Christian Marangi <ansuelsmth@gmail.com>
+
+description: |
+ Generic firmware loader for loading images from block storage devices
+ (MMC, USB, SATA) and MTD/UBI storage.
+
+ The fs-loader loads firmware images, while the fip-loader locates a
+ Firmware Image Package (FIP), optionally at a specified byte offset
+ within the selected partition.
+
+properties:
+ compatible:
+ enum:
+ - u-boot,fs-loader
+ - u-boot,fip-loader
+
+ phandlepart:
+ $ref: /schemas/types.yaml#/definitions/uint32-array
+ description: |
+ Specifies the block storage device and partition from which the
+ image is loaded. Required for MMC, USB, and SATA devices.
+
+ The first cell is a phandle to the storage device, and the second
+ cell is the partition number.
+
+ mtdpart:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: |
+ Specifies the MTD partition from which the image is loaded.
+ Required for MTD and UBI devices.
+
+ ubivol:
+ $ref: /schemas/types.yaml#/definitions/string
+ description: |
+ Specifies the UBI volume from which the image is loaded.
+ Required when loading from a UBI device.
+
+ partoffset:
+ $ref: /schemas/types.yaml#/definitions/uint32
+ description: |
+ Byte offset within the selected partition where the FIP header
+ is located.
+
+required:
+ - compatible
+
+oneOf:
+ - required:
+ - phandlepart
+
+ properties:
+ mtdpart: false
+
+ - required:
+ - mtdpart
+
+ properties:
+ phandlepart: false
+
+allOf:
+ - if:
+ properties:
+ compatible:
+ const: u-boot,fs-loader
+ then:
+ properties:
+ partoffset: false
+
+ - if:
+ required:
+ - phandlepart
+ then:
+ properties:
+ mtdpart: false
+
+ ubivol: false
+
+ - if:
+ required:
+ - mtdpart
+ then:
+ properties:
+ phandlepart: false
+
+additionalProperties: false
+
+examples:
+ - |
+ fs_loader0: fs-loader@0 {
+ bootph-all;
+ compatible = "u-boot,fs-loader";
+ phandlepart = <&mmc_0 1>;
+ };
+
+ - |
+ fs_loader3: fs-loader@3 {
+ bootph-all;
+ compatible = "u-boot,fs-loader";
+ mtdpart = "UBI";
+ ubivol = "ubi0";
+ };
+
+ - |
+ fs_loader4: fip-loader@4 {
+ bootph-all;
+ compatible = "u-boot,fip-loader";
+ phandlepart = <&mmc0 0>;
+ partoffset = <0x100>;
+ };
+
+ - |
+ fs_loader5: fip-loader@5 {
+ bootph-all;
+ compatible = "u-boot,fip-loader";
+ mtdpart = "ubi";
+ ubivol = "bl31";
+ };
--
2.55.0
next prev parent reply other threads:[~2026-10-22 19:41 UTC|newest]
Thread overview: 16+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-22 19:40 [PATCH v8 0/7] misc: fs_loader: reorg and split to FS and FW loader + FIP loader Christian Marangi
2026-10-22 19:40 ` [PATCH v8 1/7] misc: fs_loader: fix ubifs not unmounted on dev_get_priv error Christian Marangi
2026-10-22 19:40 ` [PATCH v8 2/7] misc: fs_loader: reorganize and split to FS loader and FW UCLASS Christian Marangi
2026-10-23 13:12 ` Simon Glass
2026-10-23 16:22 ` Christian Marangi
2026-10-22 19:40 ` [PATCH v8 3/7] misc: fw_loader: implement generic get_fw_loader_from_node() Christian Marangi
2026-10-22 19:40 ` [PATCH v8 4/7] misc: fw_loader: implement request_firmware_size() OP Christian Marangi
2026-10-22 19:40 ` [PATCH v8 5/7] misc: fw_loader: introduce FIP loader driver Christian Marangi
2026-10-23 13:12 ` Simon Glass
2026-10-23 16:22 ` Christian Marangi
2026-10-22 19:40 ` Christian Marangi [this message]
2026-10-23 13:12 ` [PATCH v8 6/7] doc: dtbinding: Update documentation for Generic Firmware loader Simon Glass
2026-10-22 19:40 ` [PATCH v8 7/7] test: dm: Add test for FW Loader feature Christian Marangi
2026-10-23 13:12 ` Simon Glass
2026-10-23 16:27 ` Christian Marangi
2026-10-23 13:12 ` [PATCH v8 0/7] misc: fs_loader: reorg and split to FS and FW loader + FIP loader 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=20261022194049.670889-7-ansuelsmth@gmail.com \
--to=ansuelsmth@gmail.com \
--cc=alchark@flipper.net \
--cc=anshuld@ti.com \
--cc=aristo.chen@canonical.com \
--cc=casey.connolly@linaro.org \
--cc=daniel@makrotopia.org \
--cc=hs@nabladev.com \
--cc=jbx6244@gmail.com \
--cc=lucienzx159@gmail.com \
--cc=m.schwan@phytec.de \
--cc=marcello.bauer@9elements.com \
--cc=marek.vasut+renesas@mailbox.org \
--cc=mateuslima.ti@gmail.com \
--cc=me@ziyao.cc \
--cc=mehmet.fide@screeningeagle.com \
--cc=michal.simek@amd.com \
--cc=mkorpershoek@kernel.org \
--cc=neil.armstrong@linaro.org \
--cc=patrice.chotard@foss.st.com \
--cc=peng.fan@nxp.com \
--cc=quentin.schulz@cherry.de \
--cc=romain.gantois@bootlin.com \
--cc=sjg@chromium.org \
--cc=tan.siewert@9elements.com \
--cc=trini@konsulko.com \
--cc=u-boot@lists.u-boot-project.org \
--cc=xypron.glpk@gmx.de \
/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.