[<prev] [next>] [day] [month] [year] [list]
Message-ID: <4fd47b7c-84e0-4a7c-8e5d-5bb6f0982f59@baylibre.com>
Date: Sat, 16 Aug 2025 13:43:49 -0500
From: David Lechner <dlechner@...libre.com>
To: Ben Collins <bcollins@...nel.org>, Ben Collins <bcollins@...ter.com>,
Jonathan Cameron <jic23@...nel.org>, Nuno Sá
<nuno.sa@...log.com>, Andy Shevchenko <andy@...nel.org>,
Krzysztof Kozlowski <krzk+dt@...nel.org>, Rob Herring <robh@...nel.org>,
Conor Dooley <conor+dt@...nel.org>
Cc: linux-iio@...r.kernel.org, linux-kernel@...r.kernel.org,
devicetree@...r.kernel.org
Subject: Re: [PATCH v2 1/5] dt-bindings: iio: mcp9600: Add compatible for
microchip,mcp9601
On 8/13/25 7:04 PM, Ben Collins wrote:
> On Wed, Aug 13, 2025 at 04:11:59PM -0500, David Lechner wrote:
>> On 8/13/25 10:15 AM, Ben Collins wrote:
>>> MCP9601 is a superset of MCP9600 and is supported by the driver.
>>>
>>> Signed-off-by: Ben Collins <bcollins@...ter.com>
>>> ---
Looks like reply-all was missed on this one and it ended up in my spam,
so I'm just now seeing the reply for the first time. Adding back the
others since I don't think that was intentional.
>>
>>
>> Please include a cover letter with a changelog in v3.
>
> I had one, but I'm not sure why it didn't get Cc'd around. I'll check on
> that in the v3.
>
>>> .../bindings/iio/temperature/microchip,mcp9600.yaml | 6 ++++--
>>> 1 file changed, 4 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml b/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml
>>> index d2cafa38a5442..d8af0912ce886 100644
>>> --- a/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml
>>> +++ b/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml
>>> @@ -4,7 +4,7 @@
>>> $id: http://devicetree.org/schemas/iio/temperature/microchip,mcp9600.yaml#
>>> $schema: http://devicetree.org/meta-schemas/core.yaml#
>>>
>>> -title: Microchip MCP9600 thermocouple EMF converter
>>> +title: Microchip MCP9600 and similar thermocouple EMF converters
>>>
>>> maintainers:
>>> - Andrew Hepp <andrew.hepp@...pp.dev>
>>> @@ -14,7 +14,9 @@ description:
>>>
>>> properties:
>>> compatible:
>>> - const: microchip,mcp9600
>>> + enum:
>>> + - microchip,mcp9600
>>> + - microchip,mcp9601
>>>
>>
>> It sounds like it would be useful to have a fallback in this case:
>>
>> properties:
>> compatible:
>> oneOf:
>> - const: microchip,mcp9600
>> - items:
>> - - microchip,mcp9600
>> - microchip,mcp9600
>>
>>> reg:
>>> maxItems: 1
>>
>> Usage would then be:
>>
>> compatible = "microchip,mcp9601", "microchip,mcp9600";
>
> The main reason for the compatible is so I can designate the difference
> between 9600 and 9601 for the next patch I am working on which supports
> open-circuit and short-circuit detection. This is a feature in the 9601
> variant.
>
> The feature depends on the chip being wired to support it, which means
> there will need to be a way to let the driver know that reading
> the OC and SC register bits will produce useful information. I'm leaning
> toward device-tree props to enable this and limiting that for only when
> the driver is told it should assume a 9601.
>
> Given this info, what seems like the best approach here?
>
> Thanks
>
The devicetree already has open-circuit and short-circuit interrupts
for the corresponding pins. So it looks like the binding was written
for both chips already.
If those aren't wired up, falling back to reading registers to get
the status is fine.
I also see there is a V_SENSE pin. So I think it would make sense
to add a microchip,vsense boolean property ($ref: /schemas/types.yaml#/definitions/flag)
that indicates that the V_SENSE pin is wired up.
The driver could then use that to know if it can actually provide
events short/open circuit events or not.
Powered by blists - more mailing lists