* [PATCH v5 0/5] iio: mcp9600: Features and improvements @ 2025-08-18 18:32 Ben Collins 2025-08-18 18:32 ` [PATCH 1/6] dt-bindings: iio: mcp9600: Set default 3 for thermocouple-type Ben Collins ` (2 more replies) 0 siblings, 3 replies; 9+ messages in thread From: Ben Collins @ 2025-08-18 18:32 UTC (permalink / raw) To: linux-iio, devicetree, linux-kernel Cc: Ben Collins, Jonathan Cameron, David Lechner, Nuno Sa, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Hepp From: Ben Collins <bcollins@watter.com> ChangeLog: v5 -> v6: - Fix accidental typo added in dt-bindings: IRQ_TYPE_EDGE_RISIN - Correct some constraints in dt-bindings - Reverse if/then for mcp9601 vs mcp9600 constraints in dt-bindings - Updates to changelog for patch 2/6 (dt-bindings mcp9600) - Cleanup tabs that were converted to spaces - Split thermocouple-type default to separate patch v4 -> v5: - Missed a one line fix to IIR patch (5/5) v3 -> v4: - Based on feedback from David Lechner <dlechner@baylibre.com> * Allow fallback compatible in dt-bindings for mcp9601. - Based on feedback from Jonathan Cameron <jic23@kernel.org> * Be explicit in patch description for fixed width changes. * Check chip_info for NULL to quiet warnings from kernel-test-robot * Remove "and similar" for long description of MCP9600. - Based on lots of feedback, use frequency values for IIR, and use filter_type[none, ema] to enable or disable. - Set default 3 for thermocouple in dt-binding - Rework open/short circuit in dt-bindings v2 -> v3: - Improve changelogs in each patch - Based on feedback from Andy Shevchenko <andy.shevchenko@gmail.com> * Set register offsets to fixed width * Fix typos * Future-proof Kconfig changes * Convert to using chip_info paradigm * Verbiage: dt -> firmware description * Use proper specifiers and drop castings * Fix register offset to be fixed-width * u8 for cfg var * Fix % type for u32 to be %u * Make blank lines consistent between case statements * FIELD_PREP -> FIELD_MODIFY * Remove explicit setting of 0 value in filter_level - Based on feedback from David Lechner <dlechner@baylibre.com> * Rework IIR values exposed to sysfs. Using the ratios, there was no way to represent "disabled" (i.e. infinity). Based on the bmp280 driver I went with using the power coefficients (e.g. 1, 2, 4, 8, ...) where 1 is disabled (n=0). v1 -> v2: - Break into individual patches v1: - Initial patch to enable IIR and thermocouple-type - Recognize mcp9601 Ben Collins (6): dt-bindings: iio: mcp9600: Set default 3 for thermocouple-type dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints iio: mcp9600: White space and fixed width cleanup iio: mcp9600: Recognize chip id for mcp9601 iio: mcp9600: Add support for thermocouple-type iio: mcp9600: Add support for IIR filter .../iio/temperature/microchip,mcp9600.yaml | 61 +++- drivers/iio/temperature/Kconfig | 8 +- drivers/iio/temperature/mcp9600.c | 295 +++++++++++++++++- 3 files changed, 341 insertions(+), 23 deletions(-) -- 2.39.5 ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 1/6] dt-bindings: iio: mcp9600: Set default 3 for thermocouple-type 2025-08-18 18:32 [PATCH v5 0/5] iio: mcp9600: Features and improvements Ben Collins @ 2025-08-18 18:32 ` Ben Collins 2025-08-19 6:56 ` Krzysztof Kozlowski 2025-08-18 18:32 ` [PATCH 2/6] dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints Ben Collins 2025-08-19 6:55 ` [PATCH v5 0/5] iio: mcp9600: Features and improvements Krzysztof Kozlowski 2 siblings, 1 reply; 9+ messages in thread From: Ben Collins @ 2025-08-18 18:32 UTC (permalink / raw) To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Hepp Cc: Ben Collins, linux-iio, devicetree, linux-kernel From: Ben Collins <bcollins@watter.com> As is already documented in this file, Type-K is the default, so make that explicit in the dt-bindings. Signed-off-by: Ben Collins <bcollins@watter.com> --- .../devicetree/bindings/iio/temperature/microchip,mcp9600.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml b/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml index d2cafa38a544..57b387a1accc 100644 --- a/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml +++ b/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml @@ -37,6 +37,7 @@ properties: thermocouple-type: $ref: /schemas/types.yaml#/definitions/uint32 + default: 3 description: Type of thermocouple (THERMOCOUPLE_TYPE_K if omitted). Use defines in dt-bindings/iio/temperature/thermocouple.h. -- 2.39.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 1/6] dt-bindings: iio: mcp9600: Set default 3 for thermocouple-type 2025-08-18 18:32 ` [PATCH 1/6] dt-bindings: iio: mcp9600: Set default 3 for thermocouple-type Ben Collins @ 2025-08-19 6:56 ` Krzysztof Kozlowski 0 siblings, 0 replies; 9+ messages in thread From: Krzysztof Kozlowski @ 2025-08-19 6:56 UTC (permalink / raw) To: Ben Collins Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Hepp, Ben Collins, linux-iio, devicetree, linux-kernel On Mon, Aug 18, 2025 at 02:32:09PM -0400, Ben Collins wrote: > From: Ben Collins <bcollins@watter.com> > > As is already documented in this file, Type-K is the default, so make > that explicit in the dt-bindings. > > Signed-off-by: Ben Collins <bcollins@watter.com> > --- > .../devicetree/bindings/iio/temperature/microchip,mcp9600.yaml | 1 + > 1 file changed, 1 insertion(+) Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Best regards, Krzysztof ^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCH 2/6] dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints 2025-08-18 18:32 [PATCH v5 0/5] iio: mcp9600: Features and improvements Ben Collins 2025-08-18 18:32 ` [PATCH 1/6] dt-bindings: iio: mcp9600: Set default 3 for thermocouple-type Ben Collins @ 2025-08-18 18:32 ` Ben Collins 2025-08-18 20:40 ` Rob Herring (Arm) 2025-08-19 6:57 ` Krzysztof Kozlowski 2025-08-19 6:55 ` [PATCH v5 0/5] iio: mcp9600: Features and improvements Krzysztof Kozlowski 2 siblings, 2 replies; 9+ messages in thread From: Ben Collins @ 2025-08-18 18:32 UTC (permalink / raw) To: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Hepp Cc: Ben Collins, linux-iio, devicetree, linux-kernel From: Ben Collins <bcollins@watter.com> Add microchip,mcp9601 compatible in addition to the original microchip,mcp9600 to designate support between these two chips. The current dt-binding has open-circuit and short-circuit as interrupt names, but these are only supported in mcp9601. The OC and SC detection requires that mcp9601 VSENSE be wired up, which not only enables the OC SC interrupts, but also the OC and SC status register bits. Add a microchip,vsense boolean to show the chip is wired for this support. Add constraints so this feature only applies if the mcp9601 compatible is selected. Signed-off-by: Ben Collins <bcollins@watter.com> --- .../iio/temperature/microchip,mcp9600.yaml | 60 ++++++++++++++++++- 1 file changed, 57 insertions(+), 3 deletions(-) diff --git a/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml b/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml index 57b387a1accc..c22edb4ab852 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@ahepp.dev> @@ -14,7 +14,11 @@ description: properties: compatible: - const: microchip,mcp9600 + oneOf: + - const: microchip,mcp9600 + - items: + - const: microchip,mcp9601 + - const: microchip,mcp9600 reg: maxItems: 1 @@ -34,6 +38,8 @@ properties: - alert2 - alert3 - alert4 + - open-circuit + - short-circuit thermocouple-type: $ref: /schemas/types.yaml#/definitions/uint32 @@ -43,8 +49,37 @@ properties: Use defines in dt-bindings/iio/temperature/thermocouple.h. Supported types are B, E, J, K, N, R, S, T. + microchip,vsense: + type: boolean + description: + This flag indicates that the chip has been wired with VSENSE to + enable open and short circuit detect. + vdd-supply: true +allOf: + - if: + properties: + compatible: + not: + contains: + const: microchip,mcp9601 + then: + properties: + interrupts: + minItems: 1 + maxItems: 4 + interrupt-names: + minItems: 1 + maxItems: 4 + items: + enum: + - alert1 + - alert2 + - alert3 + - alert4 + microchip,vsense: false + required: - compatible - reg @@ -64,8 +99,27 @@ examples: reg = <0x60>; interrupt-parent = <&gpio>; interrupts = <25 IRQ_TYPE_EDGE_RISING>; - interrupt-names = "open-circuit"; + interrupt-names = "alert1"; thermocouple-type = <THERMOCOUPLE_TYPE_K>; vdd-supply = <&vdd>; }; }; + - | + #include <dt-bindings/iio/temperature/thermocouple.h> + #include <dt-bindings/interrupt-controller/irq.h> + i2c { + #address-cells = <1>; + #size-cells = <0>; + + temperature-sensor@62 { + compatible = "microchip,mcp9601", + "microchip,mcp9600"; + microchip,vsense; + reg = <0x62>; + interrupt-parent = <&gpio>; + interrupts = <22 IRQ_TYPE_EDGE_RISING + 23 IRQ_TYPE_EDGE_RISING>; + interrupt-names = "open-circuit", "short-circuit"; + vdd-supply = <&vdd>; + }; + }; -- 2.39.5 ^ permalink raw reply related [flat|nested] 9+ messages in thread
* Re: [PATCH 2/6] dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints 2025-08-18 18:32 ` [PATCH 2/6] dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints Ben Collins @ 2025-08-18 20:40 ` Rob Herring (Arm) 2025-08-19 6:57 ` Krzysztof Kozlowski 1 sibling, 0 replies; 9+ messages in thread From: Rob Herring (Arm) @ 2025-08-18 20:40 UTC (permalink / raw) To: Ben Collins Cc: Andy Shevchenko, Conor Dooley, Krzysztof Kozlowski, David Lechner, Ben Collins, Nuno Sá, linux-iio, Andrew Hepp, Jonathan Cameron, devicetree, linux-kernel On Mon, 18 Aug 2025 14:32:10 -0400, Ben Collins wrote: > From: Ben Collins <bcollins@watter.com> > > Add microchip,mcp9601 compatible in addition to the original > microchip,mcp9600 to designate support between these two chips. > > The current dt-binding has open-circuit and short-circuit as interrupt > names, but these are only supported in mcp9601. > > The OC and SC detection requires that mcp9601 VSENSE be wired up, which > not only enables the OC SC interrupts, but also the OC and SC status > register bits. > > Add a microchip,vsense boolean to show the chip is wired for this > support. > > Add constraints so this feature only applies if the mcp9601 compatible > is selected. > > Signed-off-by: Ben Collins <bcollins@watter.com> > --- > .../iio/temperature/microchip,mcp9600.yaml | 60 ++++++++++++++++++- > 1 file changed, 57 insertions(+), 3 deletions(-) > My bot found errors running 'make dt_binding_check' on your patch: yamllint warnings/errors: dtschema/dtc warnings/errors: /builds/robherring/dt-review-ci/linux/Documentation/devicetree/bindings/iio/temperature/microchip,mcp9600.yaml: properties:interrupt-names:items:enum: ['open-circuit', 'short-circuit', 'alert1', 'alert2', 'alert3', 'alert4', 'open-circuit', 'short-circuit'] has non-unique elements hint: "enum" must be an array of either integers or strings from schema $id: http://devicetree.org/meta-schemas/keywords.yaml# doc reference errors (make refcheckdocs): See https://patchwork.ozlabs.org/project/devicetree-bindings/patch/20250818183214.380847-3-bcollins@kernel.org The base for the series is generally the latest rc1. A different dependency should be noted in *this* patch. If you already ran 'make dt_binding_check' and didn't see the above error(s), then make sure 'yamllint' is installed and dt-schema is up to date: pip3 install dtschema --upgrade Please check and re-submit after running the above command yourself. Note that DT_SCHEMA_FILES can be set to your schema file to speed up checking your schema. However, it must be unset to test all examples with your schema. ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH 2/6] dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints 2025-08-18 18:32 ` [PATCH 2/6] dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints Ben Collins 2025-08-18 20:40 ` Rob Herring (Arm) @ 2025-08-19 6:57 ` Krzysztof Kozlowski 1 sibling, 0 replies; 9+ messages in thread From: Krzysztof Kozlowski @ 2025-08-19 6:57 UTC (permalink / raw) To: Ben Collins Cc: Jonathan Cameron, David Lechner, Nuno Sá, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Hepp, Ben Collins, linux-iio, devicetree, linux-kernel On Mon, Aug 18, 2025 at 02:32:10PM -0400, Ben Collins wrote: > properties: > compatible: > - const: microchip,mcp9600 > + oneOf: > + - const: microchip,mcp9600 > + - items: > + - const: microchip,mcp9601 > + - const: microchip,mcp9600 > > reg: > maxItems: 1 > @@ -34,6 +38,8 @@ properties: > - alert2 > - alert3 > - alert4 > + - open-circuit > + - short-circuit I do not understand this change. And again, if you tested it before sending, you should see error. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 0/5] iio: mcp9600: Features and improvements 2025-08-18 18:32 [PATCH v5 0/5] iio: mcp9600: Features and improvements Ben Collins 2025-08-18 18:32 ` [PATCH 1/6] dt-bindings: iio: mcp9600: Set default 3 for thermocouple-type Ben Collins 2025-08-18 18:32 ` [PATCH 2/6] dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints Ben Collins @ 2025-08-19 6:55 ` Krzysztof Kozlowski 2025-08-19 18:24 ` Jonathan Cameron 2 siblings, 1 reply; 9+ messages in thread From: Krzysztof Kozlowski @ 2025-08-19 6:55 UTC (permalink / raw) To: Ben Collins Cc: linux-iio, devicetree, linux-kernel, Ben Collins, Jonathan Cameron, David Lechner, Nuno Sa, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Hepp On Mon, Aug 18, 2025 at 02:32:08PM -0400, Ben Collins wrote: > From: Ben Collins <bcollins@watter.com> > > ChangeLog: > v5 -> v6: > - Fix accidental typo added in dt-bindings: IRQ_TYPE_EDGE_RISIN > - Correct some constraints in dt-bindings > - Reverse if/then for mcp9601 vs mcp9600 constraints in dt-bindings > - Updates to changelog for patch 2/6 (dt-bindings mcp9600) > - Cleanup tabs that were converted to spaces > - Split thermocouple-type default to separate patch Please start using b4, so you will get changelogs with lore links for free and ALL your patches will be properly versioned. git can do that as well - git format-patch -v5 --cover-letter, if you don't want to use b4. Best regards, Krzysztof ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 0/5] iio: mcp9600: Features and improvements 2025-08-19 6:55 ` [PATCH v5 0/5] iio: mcp9600: Features and improvements Krzysztof Kozlowski @ 2025-08-19 18:24 ` Jonathan Cameron 2025-08-19 20:44 ` Ben Collins 0 siblings, 1 reply; 9+ messages in thread From: Jonathan Cameron @ 2025-08-19 18:24 UTC (permalink / raw) To: Krzysztof Kozlowski Cc: Ben Collins, linux-iio, devicetree, linux-kernel, Ben Collins, David Lechner, Nuno Sa, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Hepp On Tue, 19 Aug 2025 08:55:44 +0200 Krzysztof Kozlowski <krzk@kernel.org> wrote: > On Mon, Aug 18, 2025 at 02:32:08PM -0400, Ben Collins wrote: > > From: Ben Collins <bcollins@watter.com> > > > > ChangeLog: > > v5 -> v6: > > - Fix accidental typo added in dt-bindings: IRQ_TYPE_EDGE_RISIN > > - Correct some constraints in dt-bindings > > - Reverse if/then for mcp9601 vs mcp9600 constraints in dt-bindings > > - Updates to changelog for patch 2/6 (dt-bindings mcp9600) > > - Cleanup tabs that were converted to spaces > > - Split thermocouple-type default to separate patch > > Please start using b4, so you will get changelogs with lore links for > free and ALL your patches will be properly versioned. git can do that > as well - git format-patch -v5 --cover-letter, if you don't want to use > b4. Second that. This is what it looks like in patchwork that I use for managing reviews / merges etc. https://patchwork.kernel.org/project/linux-iio/list/?series=992678 version number not easy to find as it gets dropped from the series title and is only normally listed for the patches. > > Best regards, > Krzysztof > ^ permalink raw reply [flat|nested] 9+ messages in thread
* Re: [PATCH v5 0/5] iio: mcp9600: Features and improvements 2025-08-19 18:24 ` Jonathan Cameron @ 2025-08-19 20:44 ` Ben Collins 0 siblings, 0 replies; 9+ messages in thread From: Ben Collins @ 2025-08-19 20:44 UTC (permalink / raw) To: Jonathan Cameron Cc: Krzysztof Kozlowski, linux-iio, devicetree, linux-kernel, David Lechner, Nuno Sa, Andy Shevchenko, Rob Herring, Krzysztof Kozlowski, Conor Dooley, Andrew Hepp On Tue, Aug 19, 2025 at 07:24:55PM -0500, Jonathan Cameron wrote: > On Tue, 19 Aug 2025 08:55:44 +0200 > Krzysztof Kozlowski <krzk@kernel.org> wrote: > > > On Mon, Aug 18, 2025 at 02:32:08PM -0400, Ben Collins wrote: > > > From: Ben Collins <bcollins@watter.com> > > > > > > ChangeLog: > > > v5 -> v6: > > > - Fix accidental typo added in dt-bindings: IRQ_TYPE_EDGE_RISIN > > > - Correct some constraints in dt-bindings > > > - Reverse if/then for mcp9601 vs mcp9600 constraints in dt-bindings > > > - Updates to changelog for patch 2/6 (dt-bindings mcp9600) > > > - Cleanup tabs that were converted to spaces > > > - Split thermocouple-type default to separate patch > > > > Please start using b4, so you will get changelogs with lore links for > > free and ALL your patches will be properly versioned. git can do that > > as well - git format-patch -v5 --cover-letter, if you don't want to use > > b4. > > Second that. This is what it looks like in patchwork that I use > for managing reviews / merges etc. > https://patchwork.kernel.org/project/linux-iio/list/?series=992678 > > version number not easy to find as it gets dropped from the series title > and is only normally listed for the patches. I appreciate both of you suggesting this. I've switched to b4 now and now I don't know how anyone could not use it. -- Ben Collins https://libjwt.io https://github.com/benmcollins -- 3EC9 7598 1672 961A 1139 173A 5D5A 57C7 242B 22CF ^ permalink raw reply [flat|nested] 9+ messages in thread
end of thread, other threads:[~2025-08-19 20:44 UTC | newest] Thread overview: 9+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2025-08-18 18:32 [PATCH v5 0/5] iio: mcp9600: Features and improvements Ben Collins 2025-08-18 18:32 ` [PATCH 1/6] dt-bindings: iio: mcp9600: Set default 3 for thermocouple-type Ben Collins 2025-08-19 6:56 ` Krzysztof Kozlowski 2025-08-18 18:32 ` [PATCH 2/6] dt-bindings: iio: mcp9600: Add microchip,mcp9601 and add constraints Ben Collins 2025-08-18 20:40 ` Rob Herring (Arm) 2025-08-19 6:57 ` Krzysztof Kozlowski 2025-08-19 6:55 ` [PATCH v5 0/5] iio: mcp9600: Features and improvements Krzysztof Kozlowski 2025-08-19 18:24 ` Jonathan Cameron 2025-08-19 20:44 ` Ben Collins
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).