[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20090110174602.GA31525@sirena.org.uk>
Date: Sat, 10 Jan 2009 17:46:03 +0000
From: Mark Brown <broonie@...ena.org.uk>
To: Jonathan Cameron <Jonathan.Cameron@...il.com>
Cc: LKML <linux-kernel@...r.kernel.org>, Liam Girdwood <lrg@...nel.org>
Subject: Re: Regulator: Use case query (many devices need to reg their
voltage requirements?)
On Sat, Jan 10, 2009 at 03:27:48PM +0000, Jonathan Cameron wrote:
> A number of different embedded system now use main boards (core etc) in
> conjunction with daughter boards. In these cases different modules may
> be inserted to support different daughter board options from a single kernel
> (and combinations if possible). Thus we have a situation in which the
> appropriate voltage level can only be established if the various drivers
> specify what they need. The board config may specify numerous devices
> only some of which may actually be present.
The wide range of plug in and subfit options isn't that unusual.
There's quite a few modular reference designs out there, including
designs where the power module is replacable.
When I've considered this in the context of designs I've worked on in
the past I've always thought it would be easiest to represent the plug
in modules in the device tree with the main board regulators being set
up to know only about the supplies they provide to the board. The plug
in boards could then map how those supplies are distributed within the
boards, using virtual regulators to pass through the supplies from the
main board and being able to supply board-wide requirements for the
design.
I've not actually tried doing this so I've not had a chance to run into
any practical problems with it yet, and I'm not sure how well it maps
onto your system.
> This leads to additional complexity in numerous drivers as they have to act
> as dynamic drivers (terminology from regulator docs) even though they don't
> actually vary the voltage, merely specify what ranges they can work with.
For simple cases it's only one function call, though power requirements
often depend on other system considerations such as clock rates and
analogue design. There will also be issues if the drivers are for chips
which have multiple software compatible variants with differing power
requirements.
> Is this the best way to handle this situation, or do people have other
> suggestions?
Does the above idea work for you?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/
Powered by blists - more mailing lists