All of lore.kernel.org
 help / color / mirror / Atom feed
From: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
To: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>
Cc: Thierry Reding
	<thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>,
	Joseph Lo <josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	MLongnecker-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	sivaramn-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org,
	Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: Re: [PATCH 2/3] dt-bindings: allow child nodes inside the Tegra BPMP
Date: Wed, 20 Jul 2016 09:57:43 -0600	[thread overview]
Message-ID: <578F9F77.9010203@wwwdotorg.org> (raw)
In-Reply-To: <20160720131622.GA20276@rob-hp-laptop>

On 07/20/2016 07:16 AM, Rob Herring wrote:
> On Tue, Jul 19, 2016 at 01:14:41PM -0600, Stephen Warren wrote:
>> From: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>>
>> The BPMP implements some services which must be represented by separate
>> nodes. For example, it can provide access to certain I2C controllers, and
>> the I2C bindings represent each I2C controller as a device tree node.
>> Update the binding to describe how the BPMP supports this.
>>
>> Signed-off-by: Stephen Warren <swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
>> ---
>>   .../bindings/firmware/nvidia,tegra186-bpmp.txt     | 23 ++++++++++++++++++++++
>>   1 file changed, 23 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt b/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt
>> index 9a3864f56955..142d363406f6 100644
>> --- a/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt
>> +++ b/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt
>> @@ -38,6 +38,24 @@ implemented by this node:
>>   - .../reset/reset.txt
>>   - <dt-bindings/reset/tegra186-reset.h>
>>
>> +The BPMP implements some services which must be represented by separate nodes.
>> +For example, it can provide access to certain I2C controllers, and the I2C
>> +bindings represent each I2C controller as a device tree node. Such nodes should
>> +be nested directly inside the main BPMP node.
>> +
>> +Software can determine whether a child node of the BPMP node represents a device
>> +by checking for a compatible property. Any node with a compatible property
>> +represents a device that can be instantiated. Nodes without a compatible
>> +property may be used to provide configuration information regarding the BPMP
>> +itself, although no such configuration nodes are currently defined by this
>> +binding.
>> +
>> +The BPMP firmware defines no single global name-/numbering-space for such
>> +services. Put another way, the numbering scheme for I2C buses is distinct from
>> +the numbering scheme for any other service the BPMP may provide (e.g. a future
>> +hypothetical SPI bus service). As such, child device nodes will have no reg
>> +property, and the BPMP node will have no #address-cells or #size-cells property.
>> +
>>   The shared memory bindings for BPMP
>>   -----------------------------------
>>
>> @@ -78,4 +96,9 @@ bpmp {
>>   	#clock-cells = <1>;
>>   	#power-domain-cells = <1>;
>>   	#reset-cells = <1>;
>> +
>> +	bpmp-i2c {
>
> Just 'i2c' here. With that:
>
> Acked-by: Rob Herring <robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>

What if we have multiple BPMP I2C buses? The node names need to be 
unique, and there's no concept of register number so we can't use a unit 
address to do that.

I guess we could go for plain "i2c" for now and defer the more general 
naming discussion until some later point if/when we actually instantiate 
multiple buses, but I would like to confirm we can solve the problem 
if/when that time comes.

(As an aside, "pwr-i2c" might be a better name for the current bus, when 
the time comes, since any/all I2C nodes inside the BPMP would be BPMP 
I2C buses).

WARNING: multiple messages have this Message-ID (diff)
From: swarren@wwwdotorg.org (Stephen Warren)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH 2/3] dt-bindings: allow child nodes inside the Tegra BPMP
Date: Wed, 20 Jul 2016 09:57:43 -0600	[thread overview]
Message-ID: <578F9F77.9010203@wwwdotorg.org> (raw)
In-Reply-To: <20160720131622.GA20276@rob-hp-laptop>

On 07/20/2016 07:16 AM, Rob Herring wrote:
> On Tue, Jul 19, 2016 at 01:14:41PM -0600, Stephen Warren wrote:
>> From: Stephen Warren <swarren@nvidia.com>
>>
>> The BPMP implements some services which must be represented by separate
>> nodes. For example, it can provide access to certain I2C controllers, and
>> the I2C bindings represent each I2C controller as a device tree node.
>> Update the binding to describe how the BPMP supports this.
>>
>> Signed-off-by: Stephen Warren <swarren@nvidia.com>
>> ---
>>   .../bindings/firmware/nvidia,tegra186-bpmp.txt     | 23 ++++++++++++++++++++++
>>   1 file changed, 23 insertions(+)
>>
>> diff --git a/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt b/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt
>> index 9a3864f56955..142d363406f6 100644
>> --- a/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt
>> +++ b/Documentation/devicetree/bindings/firmware/nvidia,tegra186-bpmp.txt
>> @@ -38,6 +38,24 @@ implemented by this node:
>>   - .../reset/reset.txt
>>   - <dt-bindings/reset/tegra186-reset.h>
>>
>> +The BPMP implements some services which must be represented by separate nodes.
>> +For example, it can provide access to certain I2C controllers, and the I2C
>> +bindings represent each I2C controller as a device tree node. Such nodes should
>> +be nested directly inside the main BPMP node.
>> +
>> +Software can determine whether a child node of the BPMP node represents a device
>> +by checking for a compatible property. Any node with a compatible property
>> +represents a device that can be instantiated. Nodes without a compatible
>> +property may be used to provide configuration information regarding the BPMP
>> +itself, although no such configuration nodes are currently defined by this
>> +binding.
>> +
>> +The BPMP firmware defines no single global name-/numbering-space for such
>> +services. Put another way, the numbering scheme for I2C buses is distinct from
>> +the numbering scheme for any other service the BPMP may provide (e.g. a future
>> +hypothetical SPI bus service). As such, child device nodes will have no reg
>> +property, and the BPMP node will have no #address-cells or #size-cells property.
>> +
>>   The shared memory bindings for BPMP
>>   -----------------------------------
>>
>> @@ -78,4 +96,9 @@ bpmp {
>>   	#clock-cells = <1>;
>>   	#power-domain-cells = <1>;
>>   	#reset-cells = <1>;
>> +
>> +	bpmp-i2c {
>
> Just 'i2c' here. With that:
>
> Acked-by: Rob Herring <robh@kernel.org>

What if we have multiple BPMP I2C buses? The node names need to be 
unique, and there's no concept of register number so we can't use a unit 
address to do that.

I guess we could go for plain "i2c" for now and defer the more general 
naming discussion until some later point if/when we actually instantiate 
multiple buses, but I would like to confirm we can solve the problem 
if/when that time comes.

(As an aside, "pwr-i2c" might be a better name for the current bus, when 
the time comes, since any/all I2C nodes inside the BPMP would be BPMP 
I2C buses).

  reply	other threads:[~2016-07-20 15:57 UTC|newest]

Thread overview: 48+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-19 19:14 [PATCH 1/3] dt-bindings: add power domains to Tegra BPMP firmware Stephen Warren
2016-07-19 19:14 ` Stephen Warren
     [not found] ` <20160719191442.15439-1-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-19 19:14   ` [PATCH 2/3] dt-bindings: allow child nodes inside the Tegra BPMP Stephen Warren
2016-07-19 19:14     ` Stephen Warren
     [not found]     ` <20160719191442.15439-2-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-20 13:16       ` Rob Herring
2016-07-20 13:16         ` Rob Herring
2016-07-20 15:57         ` Stephen Warren [this message]
2016-07-20 15:57           ` Stephen Warren
2016-07-26  9:58       ` Jon Hunter
2016-07-26  9:58         ` Jon Hunter
2016-07-26 10:03       ` Thierry Reding
2016-07-26 10:03         ` Thierry Reding
     [not found]         ` <20160726100302.GE2433-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
2016-07-26 16:21           ` Stephen Warren
2016-07-26 16:21             ` Stephen Warren
     [not found]             ` <f1ca284a-5332-3323-80b9-7cf61e7c97ac-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-27 21:50               ` Stephen Warren
2016-07-27 21:50                 ` Stephen Warren
     [not found]                 ` <36967d69-cb2a-654e-9a4c-2021fd476464-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-28 14:08                   ` Thierry Reding
2016-07-28 14:08                     ` Thierry Reding
2016-07-28 19:07               ` Rob Herring
2016-07-28 19:07                 ` Rob Herring
     [not found]                 ` <CAL_JsqLfs5jnO9DkP5io5qbuCfhojfspkHQbHBttgWfTeokYkQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-07-28 21:24                   ` Stephen Warren
2016-07-28 21:24                     ` Stephen Warren
     [not found]                     ` <6db4ff47-974b-94ac-3739-e630b6d38c0e-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-29 13:48                       ` Thierry Reding
2016-07-29 13:48                         ` Thierry Reding
     [not found]                         ` <20160729134831.GA3864-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
2016-07-29 16:06                           ` Stephen Warren
2016-07-29 16:06                             ` Stephen Warren
     [not found]                             ` <a86a95d0-8d4b-2abe-f2ef-870c29b3334e-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-29 20:28                               ` Rob Herring
2016-07-29 20:28                                 ` Rob Herring
     [not found]                                 ` <CAL_Jsq+k8AaQJK1Bre-8fuMWnHRY3wmBKB3ghZH-9UT4u9zRCQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-07-29 20:48                                   ` Stephen Warren
2016-07-29 20:48                                     ` Stephen Warren
2016-11-15 15:42       ` Thierry Reding
2016-11-15 15:42         ` Thierry Reding
2016-07-19 19:14   ` [PATCH 3/3] dt-bindings: add Tegra186 BPMP I2C binding Stephen Warren
2016-07-19 19:14     ` Stephen Warren
     [not found]     ` <20160719191442.15439-3-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-20 13:17       ` Rob Herring
2016-07-20 13:17         ` Rob Herring
2016-07-26 10:03       ` Jon Hunter
2016-07-26 10:03         ` Jon Hunter
     [not found]         ` <b088284b-e87e-0da5-59a8-0b039b06fcad-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2016-07-26 16:24           ` Stephen Warren
2016-07-26 16:24             ` Stephen Warren
2016-11-15 15:46       ` Thierry Reding
2016-11-15 15:46         ` Thierry Reding
2016-07-20 12:46   ` [PATCH 1/3] dt-bindings: add power domains to Tegra BPMP firmware Rob Herring
2016-07-20 12:46     ` Rob Herring
2016-07-26  9:55   ` Jon Hunter
2016-07-26  9:55     ` Jon Hunter
2016-11-15 15:39   ` Thierry Reding
2016-11-15 15:39     ` Thierry Reding

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=578F9F77.9010203@wwwdotorg.org \
    --to=swarren-3lzwwm7+weoh9zmkesr00q@public.gmane.org \
    --cc=MLongnecker-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=mark.rutland-5wv7dgnIgG8@public.gmane.org \
    --cc=pdeschrijver-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=robh-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sivaramn-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=swarren-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.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.