From: Marc Dietrich <marvin24@gmx.de>
To: Mark Rutland <mark.rutland@arm.com>
Cc: Stephen Warren <swarren@wwwdotorg.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
"linux-tegra@vger.kernel.org" <linux-tegra@vger.kernel.org>,
Andrey Danin <danindrey@mail.ru>,
Ian Campbell <ian.campbell@citrix.com>,
"rob.herring@calxeda.com" <rob.herring@calxeda.com>,
Pawel Moll <Pawel.Moll@arm.com>
Subject: Re: [RFC] binding for nvec mfd device
Date: Wed, 31 Jul 2013 18:52:58 +0200 [thread overview]
Message-ID: <2910047.nJ4yDntMXS@ax5200p> (raw)
In-Reply-To: <20130731153322.GQ29859@e106331-lin.cambridge.arm.com>
On Wednesday 31 July 2013 16:33:22 Mark Rutland wrote:
> On Wed, Jul 31, 2013 at 03:57:13PM +0100, Marc Dietrich wrote:
> > Am Mittwoch, 31. Juli 2013, 15:13:14 schrieb Mark Rutland:
> > > On Mon, Jul 29, 2013 at 10:59:26PM +0100, Stephen Warren wrote:
> > > > (Also Cc'ing the DT binding maintainers and hence quoting this in
> > > > full)
> > >
> > > Cheers.
> > >
> > > > On 07/27/2013 07:23 AM, Marc Dietrich wrote:
> > > > > Hi,
> > > > >
> > > > > this is an RFC for an mfd device introduced here [1]. I didn't got
> > > > > much
> > > > > response, except from Stephen, but that bothered me enough already
> > > > > ;-)
> > > > >
> > > > > I'm going describe the hw again shortly, for a more complete
> > > > > description, see [1]. What we have here is an EC which communicates
> > > > > to
> > > > > the host cpu (NVIDIA Tegra) via I2C. The unusual part is that the EC
> > > > > is
> > > > > I2C master while the host cpu is the slave. The EC has several ports
> > > > > to
> > > > > connect peripherals like keyboard, mouse, ... and also to control
> > > > > some
> > > > > system states (suspend, low bat, power key, ...). Ok, so much for
> > > > > the
> > > > > hardware description, now the binding. I think I integrated all
> > > > > comments made by Stephen in [2].
> > > > >
> > > > > i2c-slave@7000c500 {
> > > > >
> > > > > compatible = "nvidia,tegra20-i2c-slave", "simple-bus";
> > > >
> > > > Thinking more about this, I don't think simple-bus is appropriate
> > > > here,
> > > > for the same reasons that i2c-master bindings don't specify simple-bus
> > > > here.
> > > >
> > > > "simple-bus" is usually used in a case where the node in question is
> > > > pretty much just a simple aggregation of some child nodes, and the
> > > > child
> > > > nodes are the same "type" of node as the node that is the simple-bus.
> > > > For example, when grouping a variety of memory-mapped peripherals
> > > > together to provide some structure to a larger memory-mapped bus,
> > > > perhaps with a "ranges" property etc. to do some remapping. In this
> > > > case, the child nodes are basically independent of the simple-bus
> > > > node,
> > > > just relying on it for a bit of DT parsing, but not at run-time.
> > >
> > > I'd expect any simple-bus node to be completely ignorable - if it
> > > *requires* any configuration to child nodes to be usable, or child node
> > > require any information from the bus (other than some addresss
> > > translation via the ranges property), then the node is clearly not
> > > compatible with the simple-bus concept.
> > >
> > > If you need to instantiate child nodes as Linux platform devices, this
> > > should be done in the driver for the bus. Relying on simple-bus to do
> > > this is a hack.
> >
> > ok, I'll rip this off from both nodes. I guess I should use
> > of_platform_populate instead and keeping the compatible node in the childs
> > - right?
>
> I believe that would be a correct way of handling this.
Great. Thinking about a really generic dt representation of an i2c bus (with
multi-slave, slave and master controllers can act in parallel), something like
this came into my mind:
i2c@xxxxxxx {
compatible = "nvidia,tegra-i2c", "simple-bus"; /* This time it is
truly a simple bus, because there is no higher control instance */
... common master/slave resources ...
master {
compatible = "nvidia,tegra-i2c-master";
... resources ??? ....
client1@xx {
...
};
client2@xx {
...
};
...
}
slave1@xxx {
compatible = "nvidia,tegra-i2c-slave";
... resources ??? ...
client1@xx {
...
};
};
slave2@xxx {
compatible = "nvidia,tegra-i2c-slave";
... resources ??? ...
client1@xx {
...
};
};
....
};
Marc
next prev parent reply other threads:[~2013-07-31 16:53 UTC|newest]
Thread overview: 17+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-27 13:23 [RFC] binding for nvec mfd device Marc Dietrich
2013-07-29 21:59 ` Stephen Warren
2013-07-31 14:13 ` Mark Rutland
2013-07-31 14:57 ` Marc Dietrich
2013-07-31 15:33 ` Mark Rutland
2013-07-31 16:52 ` Marc Dietrich [this message]
2013-07-31 21:03 ` Stephen Warren
[not found] ` <51F97B92.1040707-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-17 7:53 ` Marc Dietrich
[not found] ` <17687182.lGWlO75r41-D3pzGp0ZKuDWZbiwp4sFPyrtisivX6KghOMvlBiLbJSELgA04lAiVw@public.gmane.org>
2013-09-17 21:48 ` Stephen Warren
[not found] ` <5238CE1C.3050107-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-23 14:52 ` Marc Dietrich
[not found] ` <2112732.zfJtNyCk0i-D3pzGp0ZKuDWZbiwp4sFPyrtisivX6KghOMvlBiLbJSELgA04lAiVw@public.gmane.org>
2013-09-23 16:36 ` Stephen Warren
[not found] ` <52406E1E.5040005-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-09-24 7:39 ` Andrey Danin
2013-09-24 9:33 ` Marc Dietrich
[not found] ` <1597574.dB5YEoR44o-D3pzGp0ZKuDWZbiwp4sFPyrtisivX6KghOMvlBiLbJSELgA04lAiVw@public.gmane.org>
2013-09-24 17:19 ` Stephen Warren
[not found] ` <CAMRQQz-ri99PcK5=-Rzw-fmLoyvzxbd1whUWdqASx1Pi+2GNnQ@mail.gmail.com>
[not found] ` <CAMRQQz-ri99PcK5=-Rzw-fmLoyvzxbd1whUWdqASx1Pi+2GNnQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2013-09-24 17:04 ` Stephen Warren
2013-09-18 17:28 ` Wolfram Sang
2013-07-31 20:57 ` Stephen Warren
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=2910047.nJ4yDntMXS@ax5200p \
--to=marvin24@gmx.de \
--cc=Pawel.Moll@arm.com \
--cc=danindrey@mail.ru \
--cc=devicetree@vger.kernel.org \
--cc=ian.campbell@citrix.com \
--cc=linux-tegra@vger.kernel.org \
--cc=mark.rutland@arm.com \
--cc=rob.herring@calxeda.com \
--cc=swarren@wwwdotorg.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).