From: "Rafał Miłecki" <zajec5@gmail.com>
To: Rob Herring <robh@kernel.org>, Joel Peshkin <joel.peshkin@broadcom.com>
Cc: "Rafał Miłecki" <zajec5@gmail.com>,
"Krzysztof Kozlowski" <krzysztof.kozlowski+dt@linaro.org>,
"Srinivas Kandagatla" <srinivas.kandagatla@linaro.org>,
"Tom Rini" <trini@konsulko.com>,
"Florian Fainelli" <f.fainelli@gmail.com>,
devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org,
"u-boot@lists.denx.de" <u-boot@lists.denx.de>,
"Broadcom Kernel List" <bcm-kernel-feedback-list@broadcom.com>,
linux-kernel@vger.kernel.org,
"William Zhang" <william.zhang@broadcom.com>
Subject: Re: [PATCH] dt-bindings: nvmem: u-boot, env: add Broadcom's variant binding
Date: Wed, 21 Sep 2022 13:57:18 +0200 [thread overview]
Message-ID: <b37c22a2-14e2-4d8e-e68b-bd26e4ab4072@gmail.com> (raw)
In-Reply-To: <Yk8qnxqXK7WZvXrS@robh.at.kernel.org>
On 7.04.2022 20:17, Rob Herring wrote:
> On Thu, Apr 07, 2022 at 04:55:14AM -0700, Joel Peshkin wrote:
>> The first 32b value is a magic number (endian swapped mnemonic of "uEnv"
>> short for "u-boot environment"). Finding that magic number of a 4K
>> boundary followed by a length and then a u-boot environment with a valid
>> CRC permits a scan of the flash partition to locate the environment without
>> knowing a-priori where it is.
>
> So it doesn't need to be described in DT? But how does one identify
> whether to scan the flash or not. You wouldn't want to do that one every
> platform. IOW, it's a sufficient discovery mechanism for a custom build,
> but not generic OS.
I can't tell if U-Boot is ever going to handle discovery based on that
binding.
I still find it very practical for operating systems (like Linux).
Consider:
&flash {
partitions {
partition-loader {
compatible = "brcm,u-boot";
partition-u-boot-env {
compatible = "brcm,env";
mac: ethaddr {
};
};
};
};
};
&enet {
nvmem-cells = <&mac>;
nvmem-cell-names = "mac-address";
};
That allows operating system to have:
1. Driver for finding env data subpartitions [1]
2. Independent driver parsing env data structured with Broadcom's format
[1] https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git/commit/?id=27bfb201b2c03c8a033b60e5ad80cbf3aaa52b94
If you don't like it, another option could be to use "u-boot,env" and
then make U-Boot env data NVMEM driver detect actual format.
Please let me know if any of above options looks acceptable or if you
can think of another solution.
prev parent reply other threads:[~2022-09-21 11:57 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-04-06 15:25 [PATCH] dt-bindings: nvmem: u-boot,env: add Broadcom's variant binding Rafał Miłecki
[not found] ` <CAN3=V2vOVLc95ZYBUDo8J7ast4UQMnZm4uYmX63LpcJdZWnmNQ@mail.gmail.com>
2022-04-07 18:17 ` [PATCH] dt-bindings: nvmem: u-boot, env: " Rob Herring
2022-09-21 11:57 ` Rafał Miłecki [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=b37c22a2-14e2-4d8e-e68b-bd26e4ab4072@gmail.com \
--to=zajec5@gmail.com \
--cc=bcm-kernel-feedback-list@broadcom.com \
--cc=devicetree@vger.kernel.org \
--cc=f.fainelli@gmail.com \
--cc=joel.peshkin@broadcom.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=robh@kernel.org \
--cc=srinivas.kandagatla@linaro.org \
--cc=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
--cc=william.zhang@broadcom.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;
as well as URLs for NNTP newsgroup(s).