All of lore.kernel.org
 help / color / mirror / Atom feed
From: Mark Rutland <mark.rutland@arm.com>
To: Stefan Wahren <stefan.wahren@i2se.com>
Cc: "lgirdwood@gmail.com" <lgirdwood@gmail.com>,
	"broonie@kernel.org" <broonie@kernel.org>,
	"shawn.guo@linaro.org" <shawn.guo@linaro.org>,
	"robh+dt@kernel.org" <robh+dt@kernel.org>,
	Pawel Moll <Pawel.Moll@arm.com>,
	"ijc+devicetree@hellion.org.uk" <ijc+devicetree@hellion.org.uk>,
	"galak@codeaurora.org" <galak@codeaurora.org>,
	"festevam@gmail.com" <festevam@gmail.com>,
	"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
	"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
	"kernel@pengutronix.de" <kernel@pengutronix.de>
Subject: Re: [PATCH 1/2] DT: add binding for mxs regulator
Date: Mon, 29 Sep 2014 14:23:34 +0100	[thread overview]
Message-ID: <20140929132334.GE2432@leverpostej> (raw)
In-Reply-To: <54295A2F.3070700@i2se.com>

On Mon, Sep 29, 2014 at 02:10:07PM +0100, Stefan Wahren wrote:
> Hi,
> 
> Am 29.09.2014 um 14:41 schrieb Mark Rutland:
> > Well, the simple-bus will cause the children to be probed. But it looks
> > like you care about properties of the parent. I don't think that
> > simple-bus is appropriate because it's not being handled as a
> > transparent bridge from the PoV of the children.
> 
> actually i need the address of the power status register. In this
> version i get the base address from the parent node add an offset.
> 
> Do you prefer to define the address of the power status register like a
> second address cell:
> 
> reg_vddd: regulator@80044040 {
> 	reg = <0x80044040 0x10
> 	       0x800440c0 0x01>;
>         ...
> };
> 
> or do i need special properties like this:
> 
> reg_vddd: regulator@80044040 {
> 	reg = <0x80044040 0x10>;
> 	fsl,mxs-status-reg = <0x800440c0>;
>         ...
> };

I would prefer a top level node for the subsystem that is not a
simple-bus.

Give it a compatible string and a well-defined set of base properties
(looks like you just need the reg for now). Match that and probe the
child nodes as appropriate.

> >> Do we need a extra driver?
> > Perhaps, but it's relatively simple to match on a compatible string and
> > probe children if you just wantto start small for now.
> 
> Okay. Would be great if someone has a good example. At first, i thought
> of power/anatop.

While I believe there are examples in the kernel, I can't think
immediately of any instances.

> >>>> +- #address-cells: Number of cells required to define regulator register,
> >>>> +  must be 1
> >>>> +- #size-cells: Number of cells required to define register size, must be 1
> >>> Why must this be the case, given that the child node expects an absolute
> >>> physical address?
> >> I need a property to define the control register for the regulators
> >> without defining vendor specific properties like "fsl,mxs-control-reg"
> >> or something.
> > You misunderstand me. I was querying the "must be 1" rather than the
> > proeprties themselves.
> >
> >>> What's wrong with #address-cells = <2>, for example?
> >> Nothing
> > Then we shouldn't specify "must be 1", no?
> 
> Right, must be at least 1.

Why not just say that #address-cells, #size-cells and ranges must be
present as appropriate to map children?

> 
> >>>> +- reg: Absolute physical address and size of the register set for the device
> >>> Why is this here _and_ in the child node(s)?
> >> The parent of the power node is also a simple bus. I use this to
> >> calculate the power status register per offset.
> >>
> >>> What is the difference between this node and its children?
> >> The parent node represent the power sub system and the regulators are
> >> part of this sub system.
> >>
> >>> Can there be more than one sub-node?
> >> In the i.MX28 are at least 4 voltage regulators, 1 current regulator and
> >> many more. At first, the driver should implement only 3 voltage
> >> regulators (vddd, vdda, vddio).
> > Ok.
> >
> > I think you need a binding for the power subsystem, and a trivial driver
> > that can match on that and probe the child regulators. Are there
> > components other than voltage or current regulators in the sub system?
> 
> Yes, according to the reference manual there is a dc-dc converter, a
> battery charger, battery monitor, ...
> 
> In short a lot of developing time ;-)

Sure, but not everything needs to be supported fomr the outset.

Mark.

  reply	other threads:[~2014-09-29 13:23 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-09-27  0:59 [PATCH 0/2] regulator: add support for mxs regulator Stefan Wahren
2014-09-27  0:59 ` [PATCH 1/2] DT: add binding " Stefan Wahren
     [not found]   ` <1411779588-22031-2-git-send-email-stefan.wahren-eS4NqCHxEME@public.gmane.org>
2014-09-28 10:22     ` Mark Brown
2014-09-28 10:22       ` Mark Brown
     [not found]       ` <20140928102202.GM27755-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-09-29  6:00         ` Stefan Wahren
2014-09-29  6:00           ` Stefan Wahren
     [not found]           ` <5428F592.3020809-eS4NqCHxEME@public.gmane.org>
2014-09-29 10:23             ` Mark Brown
2014-09-29 10:23               ` Mark Brown
2014-09-29 11:09     ` Mark Rutland
2014-09-29 11:09       ` Mark Rutland
2014-09-29 11:53       ` Stefan Wahren
2014-09-29 11:53         ` Stefan Wahren
     [not found]         ` <54294832.8000702-eS4NqCHxEME@public.gmane.org>
2014-09-29 12:41           ` Mark Rutland
2014-09-29 12:41             ` Mark Rutland
2014-09-29 13:10             ` Stefan Wahren
2014-09-29 13:10               ` Stefan Wahren
2014-09-29 13:23               ` Mark Rutland [this message]
2014-10-03 11:46                 ` Stefan Wahren
2014-10-03 11:46                   ` Stefan Wahren
2014-09-27  0:59 ` [PATCH 2/2] regulator: add mxs regulator driver Stefan Wahren
2014-09-28 10:16   ` Mark Brown
2014-09-29  6:38     ` Stefan Wahren
     [not found]       ` <5428FE7B.8060700-eS4NqCHxEME@public.gmane.org>
2014-09-29 17:13         ` Mark Brown
2014-09-29 17:13           ` Mark Brown
     [not found]           ` <20140929171314.GW16977-GFdadSzt00ze9xe1eoZjHA@public.gmane.org>
2014-09-30  6:40             ` Stefan Wahren
2014-09-30  6:40               ` Stefan Wahren
2014-10-01 13:23             ` Stefan Wahren
2014-10-01 13:23               ` Stefan Wahren
2014-10-01 15:57               ` Mark Brown
2014-10-02 16:18   ` Fabio Estevam

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=20140929132334.GE2432@leverpostej \
    --to=mark.rutland@arm.com \
    --cc=Pawel.Moll@arm.com \
    --cc=broonie@kernel.org \
    --cc=devicetree@vger.kernel.org \
    --cc=festevam@gmail.com \
    --cc=galak@codeaurora.org \
    --cc=ijc+devicetree@hellion.org.uk \
    --cc=kernel@pengutronix.de \
    --cc=lgirdwood@gmail.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=robh+dt@kernel.org \
    --cc=shawn.guo@linaro.org \
    --cc=stefan.wahren@i2se.com \
    /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.