From: Chee, Tien Fong <tien.fong.chee@intel.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [PATCH v3 2/3] doc: dtbinding: Add file system firmware loader binding document
Date: Wed, 27 Jun 2018 08:32:28 +0000 [thread overview]
Message-ID: <1530088347.9999.11.camel@intel.com> (raw)
In-Reply-To: <CAPnjgZ3RXfhoWULX0cfWzWxUy7UNq6+_MXrxB-8bg_zVosvmBw@mail.gmail.com>
On Mon, 2018-06-25 at 21:58 -0600, Simon Glass wrote:
> Hi,
>
> On 25 June 2018 at 07:28, <tien.fong.chee@intel.com> wrote:
> >
> > From: Tien Fong Chee <tien.fong.chee@intel.com>
> >
> > Add a document to describe file system firmware loader binding
> > information.
> >
> > Signed-off-by: Tien Fong Chee <tien.fong.chee@intel.com>
> > ---
> > doc/device-tree-bindings/chosen.txt | 22 ++++++++++++
> > doc/device-tree-bindings/misc/fs_loader.txt | 52
> > +++++++++++++++++++++++++++++
> > 2 files changed, 74 insertions(+)
> > create mode 100644 doc/device-tree-bindings/misc/fs_loader.txt
> >
> > diff --git a/doc/device-tree-bindings/chosen.txt b/doc/device-tree-
> > bindings/chosen.txt
> > index c96b8f7..738673c 100644
> > --- a/doc/device-tree-bindings/chosen.txt
> > +++ b/doc/device-tree-bindings/chosen.txt
> > @@ -73,3 +73,25 @@ Example
> > u-boot,spl-boot-order = "same-as-spl", &sdmmc, "/sd
> > hci at fe330000";
> > };
> > };
> > +
> > +firmware-loader property
> > +------------------------
> > +Multiple file system firmware loader nodes could be defined in
> > device trees for
> > +multiple storage type and their default partition, then a property
> > +"firmware-loader" can be used to pass default firmware loader
> > +node(default storage type) to the firmware loader driver.
> > +
> > +Example
> > +-------
> > +/ {
> > + chosen {
> > + firmware-loader = &fs_loader0;
> > + };
> > +
> > + fs_loader0: fs_loader at 0 {
> This should be :
>
> >
> > + fs_loader0: fs-loader at 0 {
> since hyphen is used for node and property names. Underscore is used
> for phandles (so you have that correct).
>
Okay.
> >
> > + u-boot,dm-pre-reloc;
> > + compatible = "fs_loader";
> How about u-boot,fs-loader since this is U-Boot specific I think.
>
>
> >
> > + storage_device = "mmc";
> storage-device
>
Okay
> >
> > + devpart = "0:1";
> I think you should use a phandle to the node containing the mmc
> device to use.
>
> storage-device = <&mmc_3 1>;
>
> for example (meaning use that MMC, partition 1.
>
How to get device number based on node of a storage?
This could make design more complicated because this driver is designed
to support both fdt and without fdt(U-boot env and hard coding in
driver).
> >
> > + };
> > +};
> > diff --git a/doc/device-tree-bindings/misc/fs_loader.txt
> > b/doc/device-tree-bindings/misc/fs_loader.txt
> > new file mode 100644
> > index 0000000..78bea66
> > --- /dev/null
> > +++ b/doc/device-tree-bindings/misc/fs_loader.txt
> > @@ -0,0 +1,52 @@
> > +* File system firmware loader
> > +
> > +Required properties:
> > +--------------------
> > +
> > +- compatible: should contain "fs_loader"
> > +- storage_device: which storage device loading from, could be:
> > + - mmc, usb, sata, and ubi.
> > +- devpart: which storage device and partition the image loading
> > from,
> > + this property is required for mmc, usb and sata.
> > +- mdtpart: which partition of ubi the image loading from, this
> > property is
> > + required for ubi.
> > +- ubivol: which volume of ubi the image loading from, this
> > proprety is required
> > + for ubi.
> > +
> > +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 at 0 {
> > + u-boot,dm-pre-reloc;
> > + compatible = "fs_loader";
> > + storage_device = "mmc";
> > + devpart = "0:1";
> > + };
> > +
> > + Example for usb:
> > + fs_loader1: fs_loader at 1 {
> > + u-boot,dm-pre-reloc;
> > + compatible = "fs_loader";
> > + storage_device = "usb";
> > + devpart = "0:1";
> > + };
> > +
> > + Example for sata:
> > + fs_loader2: fs_loader at 2 {
> > + u-boot,dm-pre-reloc;
> > + compatible = "fs_loader";
> > + storage_device = "sata";
> > + devpart = "0:1";
> > + };
> > +
> > + Example for ubi:
> > + fs_loader3: fs_loader at 3 {
> > + u-boot,dm-pre-reloc;
> > + compatible = "fs_loader";
> > + storage_device = "ubi";
> > + mtdpart = "UBI",
> > + ubivol = "ubi0";
> I'm not sure about ubi. It needs to refer to a particular device I
> suppose. How do we know the mapping from ubi to device?
>
Actually this design is based on file system implementation which is
abstract from physical device, storage_device is used as interface of
file system, so nand and qspi may having the same ubi interface.
May be i can change the storage_device into storage_interface to avoid
confusing.
> >
> > + };
> > --
> > 2.2.0
> >
> Regards,
> Simon
next prev parent reply other threads:[~2018-06-27 8:32 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-06-25 13:28 [U-Boot] [PATCH v3 0/3] Generic file system firmware loader DM tien.fong.chee at intel.com
2018-06-25 13:28 ` [U-Boot] [PATCH v3 1/3] doc: Add new doc for file system firmware loader driver model tien.fong.chee at intel.com
2018-06-25 13:28 ` [U-Boot] [PATCH v3 2/3] doc: dtbinding: Add file system firmware loader binding document tien.fong.chee at intel.com
2018-06-26 3:58 ` Simon Glass
2018-06-27 8:32 ` Chee, Tien Fong [this message]
2018-06-27 21:03 ` Simon Glass
2018-06-28 8:04 ` Chee, Tien Fong
2018-06-28 8:58 ` Chee, Tien Fong
2018-06-30 4:19 ` Simon Glass
2018-07-02 8:26 ` Chee, Tien Fong
2018-07-09 2:39 ` Simon Glass
2018-07-09 6:50 ` Chee, Tien Fong
2018-06-25 13:28 ` [U-Boot] [PATCH v3 3/3] common: Generic loader for file system tien.fong.chee at intel.com
2018-06-26 3:58 ` Simon Glass
2018-06-27 8:41 ` Chee, Tien Fong
2018-06-27 21:03 ` Simon Glass
2018-06-28 4:45 ` Chee, Tien Fong
2018-06-27 20:23 ` Tom Rini
2018-06-29 12:13 ` Anatolij Gustschin
2018-07-02 8:12 ` Chee, Tien Fong
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=1530088347.9999.11.camel@intel.com \
--to=tien.fong.chee@intel.com \
--cc=u-boot@lists.denx.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.