From: Conor Dooley <conor.dooley@microchip.com>
To: Matteo Martelli <matteomartelli3@gmail.com>
Cc: Conor Dooley <conor@kernel.org>,
Jonathan Cameron <jic23@kernel.org>,
Lars-Peter Clausen <lars@metafoo.de>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, <linux-iio@vger.kernel.org>,
<devicetree@vger.kernel.org>, <linux-kernel@vger.kernel.org>
Subject: Re: [PATCH 1/2] dt-bindings: iio: adc: add binding for pac1921
Date: Thu, 4 Jul 2024 11:37:20 +0100 [thread overview]
Message-ID: <20240704-distinct-sulk-4fc97a9ddbab@wendy> (raw)
In-Reply-To: <668674271f02d_92937078@njaxe.notmuch>
[-- Attachment #1: Type: text/plain, Size: 3322 bytes --]
On Thu, Jul 04, 2024 at 12:06:31PM +0200, Matteo Martelli wrote:
> Conor Dooley wrote:
> > > +
> > > + microchip,dv-gain:
> > > + description:
> > > + Digital multiplier to control the effective bus voltage gain. The gain
> > > + value of 1 is the setting for the full-scale range and it can be increased
> > > + when the system is designed for a lower VBUS range.
> > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > + enum: [1, 2, 4, 8, 16, 32]
> > > + default: 1
> > > +
> > > + microchip,di-gain:
> >
> > Why is this gain a fixed property in the devicetree, rather than
> > something the user can control? Feels like it should be user
> > controllable.
>
> Gains are user controllable via the IIO_CHAN_INFO_HARDWAREGAIN. I also added
> them as DT properties thinking that they could be pre-set depending on hardware
> specifications: for instance by board design the monitored section is already
> known to be in a particular voltage/current range (datasheet specifies
> gains-ranges mapping at table 4-6 and table 4-7). Then, even if gains are
> pre-set, the user can change them at runtime for instance by scaling them down
> upon an overflow event. However, I can get rid of those gain properties if they
> are out of the DT scope.
Usually gain values are left out of DT entirely, unless the gain is
something set by the board, for example, whether or not some input pins
are tied high or low.
> > > + description:
> > > + Digital multiplier to control the effective current gain. The gain
> > > + value of 1 is the setting for the full-scale range and it can be
> > > + increased when the system is designed for a lower VSENSE range.
> > > + $ref: /schemas/types.yaml#/definitions/uint32
> > > + enum: [1, 2, 4, 8, 16, 32, 64, 128]
> > > + default: 1
> > > +
> > > +required:
> > > + - compatible
> > > + - reg
> > > + - shunt-resistor-micro-ohms
> >
> > You're missing a vdd-supply btw and the !read/int pin isn't described
> > here either. I think the latter needs a property to control it (probably
> > a GPIO since it is intended for host control) and a default value for if
> > the GPIO isn't provided?
>
> The driver does not currently handle the vdd regulator nor the gpio for the
> !read/int pin. Should they be added to the DT schema anyway?
Yes.
> I think I can add the vdd regulator handling with little effort, my guess is
> that the "vdd-supply" property can be optional and defined as "vdd-supply: true"
> in the DT schema. Then the driver, if the vdd-supply property is present in the
> DT, would enable the regulator during device initialization and PM resume, and
> disable it on driver removal and PM suspend.
Nah, the regulator should be marked required in the binding, since
without power the device cannot function, right? The regulator core will
create a dummy register if one is not provided in the device tree, so
you don't need to add any conditional logic around regulator actions.
> Reguarding the !read/int pin, the current driver overrides it with a register
> bit so it would not be considered at all by the device.
We should fully describe devices, where possible, even if the driver for
the device doesn't use it.
Cheers,
Conor.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 228 bytes --]
next prev parent reply other threads:[~2024-07-04 10:37 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-07-03 13:34 [PATCH 0/2] iio: adc: add support for pac1921 Matteo Martelli
2024-07-03 13:34 ` [PATCH 1/2] dt-bindings: iio: adc: add binding " Matteo Martelli
2024-07-03 15:10 ` Conor Dooley
2024-07-04 10:06 ` Matteo Martelli
2024-07-04 10:37 ` Conor Dooley [this message]
2024-07-04 17:50 ` Matteo Martelli
2024-07-03 13:34 ` [PATCH 2/2] iio: adc: add support " Matteo Martelli
[not found] ` <SN6PR11MB3167C48F19120E35862316FA99DE2@SN6PR11MB3167.namprd11.prod.outlook.com>
2024-07-05 8:39 ` Marius.Cristea
2024-07-08 13:45 ` Matteo Martelli
2024-07-13 10:09 ` Jonathan Cameron
2024-07-03 14:55 ` [PATCH 0/2] " Conor Dooley
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=20240704-distinct-sulk-4fc97a9ddbab@wendy \
--to=conor.dooley@microchip.com \
--cc=conor+dt@kernel.org \
--cc=conor@kernel.org \
--cc=devicetree@vger.kernel.org \
--cc=jic23@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=lars@metafoo.de \
--cc=linux-iio@vger.kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=matteomartelli3@gmail.com \
--cc=robh@kernel.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).