public inbox for linux-arm-kernel@lists.infradead.org 
 help / color / mirror / Atom feed
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: 24+ 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 ` [PATCH 2/3] dt-bindings: allow child nodes inside the Tegra BPMP Stephen Warren
2016-07-20 13:16   ` Rob Herring
2016-07-20 15:57     ` Stephen Warren [this message]
2016-07-26  9:58   ` Jon Hunter
2016-07-26 10:03   ` Thierry Reding
2016-07-26 16:21     ` Stephen Warren
2016-07-27 21:50       ` Stephen Warren
2016-07-28 14:08         ` Thierry Reding
2016-07-28 19:07       ` Rob Herring
2016-07-28 21:24         ` Stephen Warren
2016-07-29 13:48           ` Thierry Reding
2016-07-29 16:06             ` Stephen Warren
2016-07-29 20:28               ` Rob Herring
2016-07-29 20:48                 ` Stephen Warren
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-20 13:17   ` Rob Herring
2016-07-26 10:03   ` Jon Hunter
2016-07-26 16:24     ` Stephen Warren
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-26  9:55 ` Jon Hunter
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@wwwdotorg$(echo .)org \
    --cc=linux-arm-kernel@lists$(echo .)infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html
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