From: Jon Hunter <jonathanh@nvidia.com>
To: Thierry Reding <thierry.reding@gmail.com>,
Krzysztof Kozlowski <krzk@kernel.org>
Cc: Rajesh Gumasta <rgumasta@nvidia.com>,
krzk+dt@kernel.org, robh@kernel.org, conor+dt@kernel.org,
andi.shyti@kernel.org, ulf.hansson@linaro.org,
kyarlagadda@nvidia.com, 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
Subject: Re: [PATCH V3 1/3] dt-binding: Add register-settings binding
Date: Fri, 5 Sep 2025 11:36:50 +0100 [thread overview]
Message-ID: <7e42044b-6e61-4f5e-a0d6-54c7e4e21a40@nvidia.com> (raw)
In-Reply-To: <33wpprxurmuorivfp4crcyzjgkrnpb6t5oewhg6adw7uhyib32@7foqh5v6ujdv>
Hi Krzysztof,
On 29/07/2025 15:05, Thierry Reding wrote:
> On Tue, Jul 29, 2025 at 11:28:43AM +0200, Krzysztof Kozlowski wrote:
>> On 29/07/2025 11:15, Jon Hunter wrote:
>>>
>>> On 25/07/2025 07:47, Krzysztof Kozlowski wrote:
>>>> On 25/07/2025 07:22, Rajesh Gumasta wrote:
>>>>> +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
>>>>
>>>> I don't understand what does this binding bring. It is empty.
>>>
>>>
>>> Yes this is very much similar to the pinctrl.yaml that defines a
>>> top-level object that can then be used by different devices and those
>>
>> No, it is not similar. pinctrl.yaml defines common properties and common
>> schema for class of devices - pin controllers.
>>
>> There is nothing common here, nothing defined except that you have
>> unspecified children nodes.
>
> This is supposed to be very generic and it needs to be by its nature.
To add, we want the ability to use the 'reg-settings' child node for any
device, but because the settings for a given class of device will vary,
for now we opted to create this empty top-level node. The alternative is
to define this 'reg-settings' node for every device using it, which is
fine, if that is preferred. Please let me know what your preference is here?
>>> devices can then define the properties they need. So the examples for
>>> I2C and MMC really demonstrate how this would be used in the subsequent
>>> patches. Obviously we are open to any ideas on how if there are better
>>> or preferred ways to do this.
>>
>> I don't see this part addressing comments from Rob - you need more users
>> of this. Adding fake (empty, no-op) common schema is not solving it.
>
> Bjorn, Simon and Nishanth are Cc'ed on this series since they expressed
> interest in this kind of functionality, so I expect that we'll see other
> users of this eventually.
>
> However, we do have to get the ball rolling and propose something that
> we think can work for a number of cases, so that's what this is.
We certainly have more drivers that will use this. However, we want to
flesh out the device-tree schema for this with just a couple examples to
keep the review simple and focused.
In the short-term I would like to understand if you agree that we can
use device-tree to store such hardware register settings? If so, then we
are happy to re-work the proposal in anyway that you would prefer so
that we can agree on how such hardware register setting values can be
stored in device-tree.
Thanks!
Jon
--
nvpublic
next prev parent reply other threads:[~2025-09-05 10:37 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 ` [PATCH V3 1/3] dt-binding: Add register-settings binding Rajesh Gumasta
2025-07-25 6:47 ` 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 [this message]
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=7e42044b-6e61-4f5e-a0d6-54c7e4e21a40@nvidia.com \
--to=jonathanh@nvidia.com \
--cc=andersson@kernel.org \
--cc=andi.shyti@kernel.org \
--cc=conor+dt@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=krzk+dt@kernel.org \
--cc=krzk@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=rgumasta@nvidia.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