On Tue, Feb 20, 2024 at 2:31 PM Mark Brown <broonie@xxxxxxxxxx> wrote: > > On Tue, Feb 20, 2024 at 12:16:10PM +0100, Bartosz Golaszewski wrote: > > On Mon, Feb 19, 2024 at 8:59 PM Mark Brown <broonie@xxxxxxxxxx> wrote: > > > On Mon, Feb 19, 2024 at 07:48:20PM +0100, Bartosz Golaszewski wrote: > > > > > No, the users don't request any regulators (or rather: software > > > > representations thereof) because - as per the cover letter - no > > > > regulators are created by the PMU driver. This is what is physically > > > > on the board - as the schematics and the datasheet define it. I took > > > > The above makes no sense. How can constraints be "what is physically on > > > the board", particularly variable constrants when there isn't even a > > > consumer? What values are you taking from which documentation? > > > The operating conditions for PMU outputs. I took them from a > > confidential datasheet. There's a table for input constraints and > > possible output values. > > That sounds like you're just putting the maximum range of voltages that > the PMU can output in there. This is a fundamental misunderstanding of > what the constraints are for, the constraints exist to specify what is > safe on a specific board which will in essentially all cases be much > more restricted. The regulator driver should describe whatever the PMU > can support by itself, the constraints whatever is actually safe and > functional on the specific board. > Ok, got it. Yeah I misunderstood that, but I think it's maybe the second or third time I'm adding a regulators node myself to DT. I'll change that. > > And what do you mean by there not being any consumers? The WLAN and BT > > *are* the consumers. > > There are no drivers that bind to the regulators and vary the voltages > at runtime. > Even with the above misunderstanding clarified: so what? DT is the representation of hardware. There's nothing that obligates us to model DT sources in drivers 1:1. > > > > the values from the docs verbatim. In C, we create a power sequencing > > > > provider which doesn't use the regulator framework at all. > > > > For something that doesn't use the regulator framework at all what > > > appears to be a provider in patch 16 ("power: pwrseq: add a driver for > > > the QCA6390 PMU module") seems to have a lot of regualtor API calls? > > > This driver is a power sequencing *provider* but also a regulator > > *consumer*. It gets regulators from the host and exposes a power > > sequencer to *its* consumers (WLAN and BT). On DT it exposes > > regulators (LDO outputs of the PMU) but we don't instantiate them in > > C. > > Right, which sounds a lot like being a user of the regualtor framework. Ok, I meant "user" as a regulator provider but maybe I wasn't clear enough. Bart