linux-tegra.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Thierry Reding <thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
Cc: Rob Herring <robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org>,
	Joseph Lo <josephl-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	"linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org"
	<devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org>,
	"linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org"
	<linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org>,
	Mark Rutland <mark.rutland-5wv7dgnIgG8@public.gmane.org>,
	Matthew Longnecker
	<MLongnecker-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Sivaram Nair <sivaramn-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>,
	Peter De Schrijver
	<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: Fri, 29 Jul 2016 15:48:31 +0200	[thread overview]
Message-ID: <20160729134831.GA3864@ulmo.ba.sec> (raw)
In-Reply-To: <6db4ff47-974b-94ac-3739-e630b6d38c0e-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>

[-- Attachment #1: Type: text/plain, Size: 4790 bytes --]

On Thu, Jul 28, 2016 at 03:24:22PM -0600, Stephen Warren wrote:
> On 07/28/2016 01:07 PM, Rob Herring wrote:
> > On Tue, Jul 26, 2016 at 11:21 AM, Stephen Warren <swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org> wrote:
> > > On 07/26/2016 04:03 AM, Thierry Reding 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.
> > > > 
> > > > 
> > > > My understanding is that the I2C bus number is passed as part of the
> > > > request to the BPMP firmware. Does that not count as addressing? Could
> > > > we not represent that generically using a device tree hierarchy? I'm
> > > > thinking something along these lines:
> > > > 
> > > >         bpmp {
> > > >                 ...
> > > > 
> > > >                 services {
> > > >                         i2c {
> > > >                                 i2c@0 {
> > > >                                         reg = <0>;
> > > 
> > > 
> > > Technically, that is possible. However, Rob Herring rejected the idea of
> > > multiple levels of sub-nodes.
> > 
> > I think I questioned the need, not rejected. What about the above, but
> > remove serivces level:
> > 
> >          bpmp {
> >                  ...
> > 
> >                  i2c {
> >                          i2c@0 {
> >                                  reg = <0>;
> 
> Sigh. Can you please talk to Thierry and work out what the binding would be
> (perhaps on IRC to expedite things?) and I'll just implement whatever you
> two agree upon. I don't really care much what the binding looks like any
> more; I just need something that will pass review. Thanks.

Like I said, I'm fine going with what you proposed. I'm sure by now the
BPMP has long been frozen and if the proposed binding works fine that's
good. No need to over-engineer.

If we ever need more than one I2C (or expose other busses) I'm sure we
can find a way to switch to something like the above later on. Like I
said, that's very unlikely to happen on Tegra186, so we'll have a new
compatible string (and hence an easy way to differentiate between these
bindings) anyway.

Thierry

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 819 bytes --]

  parent reply	other threads:[~2016-07-29 13:48 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
     [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
     [not found]     ` <20160719191442.15439-2-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-20 13:16       ` Rob Herring
2016-07-20 15:57         ` Stephen Warren
2016-07-26  9:58       ` Jon Hunter
2016-07-26 10:03       ` Thierry Reding
     [not found]         ` <20160726100302.GE2433-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
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
     [not found]                 ` <36967d69-cb2a-654e-9a4c-2021fd476464-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-28 14:08                   ` Thierry Reding
2016-07-28 19:07               ` Rob Herring
     [not found]                 ` <CAL_JsqLfs5jnO9DkP5io5qbuCfhojfspkHQbHBttgWfTeokYkQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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 [this message]
     [not found]                         ` <20160729134831.GA3864-EkSeR96xj6Pcmrwk2tT4+A@public.gmane.org>
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
     [not found]                                 ` <CAL_Jsq+k8AaQJK1Bre-8fuMWnHRY3wmBKB3ghZH-9UT4u9zRCQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
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
     [not found]     ` <20160719191442.15439-3-swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2016-07-20 13:17       ` Rob Herring
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-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=20160729134831.GA3864@ulmo.ba.sec \
    --to=thierry.reding-re5jqeeqqe8avxtiumwx3w@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+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
    --cc=sivaramn-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org \
    --cc=swarren-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org \
    --cc=swarren-DDmLM1+adcrQT0dZR+AlfA@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).