From: Rajesh Gumasta <rgumasta@nvidia.com>
To: <krzk+dt@kernel.org>, <robh@kernel.org>, <conor+dt@kernel.org>,
<andi.shyti@kernel.org>, <ulf.hansson@linaro.org>,
<thierry.reding@gmail.com>, <jonathanh@nvidia.com>,
<kyarlagadda@nvidia.com>
Cc: <devicetree@vger.kernel.org>, <linux-tegra@vger.kernel.org>,
<linux-i2c@vger.kernel.org>, <linux-mmc@vger.kernel.org>,
<andersson@kernel.org>, <sjg@chromium.org>, <nm@ti.com>,
Rajesh Gumasta <rgumasta@nvidia.com>
Subject: [PATCH V3 1/3] dt-binding: Add register-settings binding
Date: Fri, 25 Jul 2025 10:52:23 +0530 [thread overview]
Message-ID: <20250725052225.23510-2-rgumasta@nvidia.com> (raw)
In-Reply-To: <20250725052225.23510-1-rgumasta@nvidia.com>
Add a new device-tree binding for a 'reg-settings' node that can be
added to any device. This 'reg-settings' is used to populate register
settings that need to be programmed for a given operating mode of the
device. An example usage of the 'reg-settings' node is shown below for
the NVIDIA Tegra MMC controller which needs to program a specific
'num-tuning-iterations' value in a register field for each operating
mode:
mmc@700b0000 {
reg-settings {
default-settings {
/* Default register setting */
nvidia,num-tuning-iterations = <0>;
};
sdr50 {
/* SDR50 register setting */
nvidia,num-tuning-iterations = <4>;
};
sdr104 {
/* SDR104 register setting */
nvidia,num-tuning-iterations = <2>;
};
hs200 {
/* HS200 register setting */
nvidia,num-tuning-iterations = <2>;
};
};
};
The 'reg-settings' child nodes are defined according to the operating
modes supported for a given device. Properties within each operating
mode are then defined by the bindings for the devices that require them.
Signed-off-by: Rajesh Gumasta <rgumasta@nvidia.com>
---
.../bindings/regset/register-settings.yaml | 31 +++++++++++++++++++
1 file changed, 31 insertions(+)
create mode 100644 Documentation/devicetree/bindings/regset/register-settings.yaml
diff --git a/Documentation/devicetree/bindings/regset/register-settings.yaml b/Documentation/devicetree/bindings/regset/register-settings.yaml
new file mode 100644
index 000000000000..4366cdd72813
--- /dev/null
+++ b/Documentation/devicetree/bindings/regset/register-settings.yaml
@@ -0,0 +1,31 @@
+# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
+%YAML 1.2
+---
+$id: http://devicetree.org/schemas/regset/register-settings.yaml#
+$schema: http://devicetree.org/meta-schemas/core.yaml#
+
+title: Register Settings
+
+maintainers:
+ - Thierry Reding <thierry.reding@gmail.com>
+ - Krishna Yarlagadda <kyarlagadda@nvidia.com>
+ - Rajesh Gumasta <rgumasta@nvidia.com>
+ - Jon Hunter <jonathanh@nvidia.com>
+
+description: |
+ Register Settings provides a generic way to specify register configurations
+ for any hardware controllers. Settings are specified under a "reg-settings"
+ sub-node under the controller device tree node. It allows defining both
+ default and operating mode specific register settings in the device tree.
+
+properties:
+ reg-settings:
+ type: object
+ description: |
+ Container node for register settings configurations. Each child node
+ represents a specific configuration mode or operating condition.
+
+ additionalProperties:
+ type: object
+
+additionalProperties: true
--
2.50.1
next prev parent reply other threads:[~2025-07-25 5:23 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-07-25 5:22 [PATCH V3 0/3] Introduce a generic register settings dt-binding Rajesh Gumasta
2025-07-25 5:22 ` Rajesh Gumasta [this message]
2025-07-25 6:47 ` [PATCH V3 1/3] dt-binding: Add register-settings binding Krzysztof Kozlowski
2025-07-29 9:15 ` Jon Hunter
2025-07-29 9:28 ` Krzysztof Kozlowski
2025-07-29 14:05 ` Thierry Reding
2025-09-05 10:36 ` Jon Hunter
2025-09-29 4:39 ` Chintan Vankar
2025-09-30 15:01 ` Jon Hunter
2025-10-09 10:15 ` Jon Hunter
2025-10-09 16:33 ` Rob Herring
2025-10-14 14:30 ` Jon Hunter
2025-07-25 5:22 ` [PATCH V3 2/3] dt-binding: i2c: nvidia,tegra20-i2c: Add register-setting support Rajesh Gumasta
2025-07-25 7:40 ` Rob Herring (Arm)
2025-07-25 9:20 ` Jon Hunter
2025-07-25 5:22 ` [PATCH V3 3/3] dt-binding: mmc: tegra: " Rajesh Gumasta
2025-07-25 6:48 ` [PATCH V3 0/3] Introduce a generic register settings dt-binding Krzysztof Kozlowski
2025-07-25 9:13 ` Jon Hunter
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=20250725052225.23510-2-rgumasta@nvidia.com \
--to=rgumasta@nvidia.com \
--cc=andersson@kernel.org \
--cc=andi.shyti@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jonathanh@nvidia.com \
--cc=krzk+dt@kernel.org \
--cc=kyarlagadda@nvidia.com \
--cc=linux-i2c@vger.kernel.org \
--cc=linux-mmc@vger.kernel.org \
--cc=linux-tegra@vger.kernel.org \
--cc=nm@ti.com \
--cc=robh@kernel.org \
--cc=sjg@chromium.org \
--cc=thierry.reding@gmail.com \
--cc=ulf.hansson@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox