All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Rafał Miłecki" <zajec5@gmail.com>
To: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>,
	Rob Herring <robh+dt@kernel.org>
Cc: devicetree@vger.kernel.org, linux-kernel@vger.kernel.org,
	netdev@vger.kernel.org, "Rafał Miłecki" <rafal@milecki.pl>
Subject: [PATCH 3/5] dt-bindings: nvmem: allow referencing device defined cells by names
Date: Thu, 23 Dec 2021 12:07:53 +0100	[thread overview]
Message-ID: <20211223110755.22722-4-zajec5@gmail.com> (raw)
In-Reply-To: <20211223110755.22722-1-zajec5@gmail.com>

From: Rafał Miłecki <rafal@milecki.pl>

Not every NVMEM has predefined cells at hardcoded addresses. Some
devices store cells in internal structs and custom formats. Referencing
such cells is still required to let other bindings use them.

Modify binding to require "reg" xor "label". The later one can be used
to match "dynamic" NVMEM cells by their names.

Signed-off-by: Rafał Miłecki <rafal@milecki.pl>
---
 Documentation/devicetree/bindings/nvmem/nvmem.yaml | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/Documentation/devicetree/bindings/nvmem/nvmem.yaml b/Documentation/devicetree/bindings/nvmem/nvmem.yaml
index 3392405ee010..83154df25c27 100644
--- a/Documentation/devicetree/bindings/nvmem/nvmem.yaml
+++ b/Documentation/devicetree/bindings/nvmem/nvmem.yaml
@@ -43,6 +43,12 @@ patternProperties:
   "@[0-9a-f]+(,[0-7])?$":
     type: object
 
+    description: |
+      NVMEM cell - a part of NVMEM containing one specific information.
+
+      Cells can be fully defined by a binding or stored in NVMEM device specific
+      data and just referenced in DT by a name (label).
+
     properties:
       reg:
         maxItems: 1
@@ -64,8 +70,11 @@ patternProperties:
               description:
                 Size in bit within the address range specified by reg.
 
-    required:
-      - reg
+    oneOf:
+      - required:
+          - reg
+      - required:
+          - label
 
 additionalProperties: true
 
-- 
2.31.1


  parent reply	other threads:[~2021-12-23 11:08 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-12-23 11:07 [PATCH 0/5] nvmem: support more NVMEM cells variants Rafał Miłecki
2021-12-23 11:07 ` [PATCH 1/5] dt-bindings: nvmem: add "label" property to allow more flexible cells names Rafał Miłecki
2021-12-23 11:07 ` [PATCH 2/5] nvmem: core: read OF defined NVMEM cell name from "label" property Rafał Miłecki
2021-12-23 11:07 ` Rafał Miłecki [this message]
2021-12-23 21:18   ` [PATCH 3/5] dt-bindings: nvmem: allow referencing device defined cells by names Rob Herring
2021-12-23 21:58     ` Rafał Miłecki
2022-01-04 20:16       ` Rob Herring
2022-01-04 20:50         ` Rafał Miłecki
2022-01-04 20:56           ` Rafał Miłecki
2022-01-10 17:44             ` Rob Herring
2021-12-23 11:07 ` [PATCH 4/5] dt-bindings: nvmem: brcm,nvram: add NVMEM cell to example Rafał Miłecki
2021-12-23 11:07 ` [PATCH 5/5] nvmem: core: add cell name based matching of DT cell nodes Rafał Miłecki

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=20211223110755.22722-4-zajec5@gmail.com \
    --to=zajec5@gmail.com \
    --cc=devicetree@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=netdev@vger.kernel.org \
    --cc=rafal@milecki.pl \
    --cc=robh+dt@kernel.org \
    --cc=srinivas.kandagatla@linaro.org \
    /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.