* [PATCH] dt-bindings: nvmem: allow MTD to be explicitly an NVMEM provider
@ 2023-03-10 10:53 Rafał Miłecki
2023-03-10 13:48 ` Miquel Raynal
0 siblings, 1 reply; 2+ messages in thread
From: Rafał Miłecki @ 2023-03-10 10:53 UTC (permalink / raw)
To: Rob Herring, Krzysztof Kozlowski
Cc: Srinivas Kandagatla, Greg Kroah-Hartman, Miquel Raynal,
Michael Walle, devicetree, linux-mtd, linux-kernel,
Rafał Miłecki
From: Rafał Miłecki <rafal@milecki.pl>
There are a lot of devices with NVMEM content stored in MTD devices in
relevant partitions. Add a DT binding for marking such partitions.
Note: Linux already treats every MTD partition as NVMEM provider so in
general it doesn't need to care about this binding. It's meant just to
make DT clearer in describing hardware.
Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
As explained in commit body this isn't really needed for Linux. I
thought it'd be a small nice addition for writing clear DTS files.
---
.../devicetree/bindings/nvmem/mtd.yaml | 52 +++++++++++++++++++
1 file changed, 52 insertions(+)
create mode 100644 Documentation/devicetree/bindings/nvmem/mtd.yaml
diff --git a/Documentation/devicetree/bindings/nvmem/mtd.yaml b/Documentation/devicetree/bindings/nvmem/mtd.yaml
new file mode 100644
index 000000000000..7435b2803cf9
--- /dev/null
+++ b/Documentation/devicetree/bindings/nvmem/mtd.yaml
@@ -0,0 +1,52 @@
+# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/nvmem/mtd.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: MTD access based NVMEM
+
+description: |
+ MTD partitions can be NVMEM providers. This binding allows explicitly marking
+ such partitions.
+
+ The exact way of handling MTD partition content (NVMEM cells) should be
+ described using a proper NVMEM layout.
+
+maintainers:
+ - Rafał Miłecki <rafal@milecki.pl>
+
+allOf:
+ - $ref: nvmem.yaml#
+ - $ref: /schemas/mtd/partitions/partition.yaml#
+
+properties:
+ compatible:
+ const: mtd-nvmem
+
+ reg:
+ maxItems: 1
+
+required:
+ - reg
+
+unevaluatedProperties: false
+
+examples:
+ - |
+ partitions {
+ compatible = "fixed-partitions";
+ #address-cells = <1>;
+ #size-cells = <1>;
+
+ partition@0 {
+ compatible = "mtd-nvmem";
+ reg = <0x0 0x40000>;
+ label = "device-data";
+
+ nvmem-layout {
+ /* Just a dummy example: Kontron can be found on OTP actually */
+ compatible = "kontron,sl28-vpd";
+ };
+ };
+ };
--
2.34.1
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] dt-bindings: nvmem: allow MTD to be explicitly an NVMEM provider
2023-03-10 10:53 [PATCH] dt-bindings: nvmem: allow MTD to be explicitly an NVMEM provider Rafał Miłecki
@ 2023-03-10 13:48 ` Miquel Raynal
0 siblings, 0 replies; 2+ messages in thread
From: Miquel Raynal @ 2023-03-10 13:48 UTC (permalink / raw)
To: Rafał Miłecki
Cc: Rob Herring, Krzysztof Kozlowski, Srinivas Kandagatla,
Greg Kroah-Hartman, Michael Walle, devicetree, linux-mtd,
linux-kernel, Rafał Miłecki
Hi Rafał,
zajec5@gmail.com wrote on Fri, 10 Mar 2023 11:53:30 +0100:
> From: Rafał Miłecki <rafal@milecki.pl>
>
> There are a lot of devices with NVMEM content stored in MTD devices in
> relevant partitions. Add a DT binding for marking such partitions.
>
> Note: Linux already treats every MTD partition as NVMEM provider so in
> general it doesn't need to care about this binding. It's meant just to
> make DT clearer in describing hardware.
>
> Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
> ---
> As explained in commit body this isn't really needed for Linux. I
> thought it'd be a small nice addition for writing clear DTS files.
> ---
> .../devicetree/bindings/nvmem/mtd.yaml | 52 +++++++++++++++++++
> 1 file changed, 52 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/nvmem/mtd.yaml
>
> diff --git a/Documentation/devicetree/bindings/nvmem/mtd.yaml b/Documentation/devicetree/bindings/nvmem/mtd.yaml
> new file mode 100644
> index 000000000000..7435b2803cf9
> --- /dev/null
> +++ b/Documentation/devicetree/bindings/nvmem/mtd.yaml
> @@ -0,0 +1,52 @@
> +# SPDX-License-Identifier: (GPL-2.0-only OR BSD-2-Clause)
> +%YAML 1.2
> +---
> +$id: http://devicetree.org/schemas/nvmem/mtd.yaml#
> +$schema: http://devicetree.org/meta-schemas/core.yaml#
> +
> +title: MTD access based NVMEM
> +
> +description: |
> + MTD partitions can be NVMEM providers. This binding allows explicitly marking
> + such partitions.
We already have that, it's nvmem-cell? I understand what you want to
do, but I think it suffers from a common problem, see below.
> + The exact way of handling MTD partition content (NVMEM cells) should be
> + described using a proper NVMEM layout.
Ok so I believe this is another solution for the layout offset proposed
by Michael. Except that it only fixes it for mtd. I think I would
prefer the former solution which handles all nvmem cases.
> +
> +maintainers:
> + - Rafał Miłecki <rafal@milecki.pl>
> +
> +allOf:
> + - $ref: nvmem.yaml#
> + - $ref: /schemas/mtd/partitions/partition.yaml#
> +
> +properties:
> + compatible:
> + const: mtd-nvmem
> +
> + reg:
> + maxItems: 1
> +
> +required:
> + - reg
> +
> +unevaluatedProperties: false
> +
> +examples:
> + - |
> + partitions {
> + compatible = "fixed-partitions";
> + #address-cells = <1>;
> + #size-cells = <1>;
> +
> + partition@0 {
> + compatible = "mtd-nvmem";
Actually there has been valid push-back from devlink gurus against stale
compatibles (on a device-driver point of view) like that. Maybe
something like this instead:
partition@x{
<mtd-nvmem-property>
?
> + reg = <0x0 0x40000>;
> + label = "device-data";
> +
> + nvmem-layout {
> + /* Just a dummy example: Kontron can be found on OTP actually */
> + compatible = "kontron,sl28-vpd";
The Onie tlv compatible would perfectly apply here.
> + };
> + };
> + };
Thanks,
Miquèl
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2023-03-10 13:48 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2023-03-10 10:53 [PATCH] dt-bindings: nvmem: allow MTD to be explicitly an NVMEM provider Rafał Miłecki
2023-03-10 13:48 ` Miquel Raynal
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).