mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
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> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org> Reviewed-by: David Lechner <dlechner@baylibre.com> Link: https://patch.msgid.link/20250822-upstream-changes-v8-2-40bb1739e3e2@watter.com Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
121 lines
2.8 KiB
YAML
121 lines
2.8 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/iio/temperature/microchip,mcp9600.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Microchip MCP9600 and similar thermocouple EMF converters
|
|
|
|
maintainers:
|
|
- Andrew Hepp <andrew.hepp@ahepp.dev>
|
|
|
|
description:
|
|
https://ww1.microchip.com/downloads/en/DeviceDoc/MCP960X-Data-Sheet-20005426.pdf
|
|
|
|
properties:
|
|
compatible:
|
|
oneOf:
|
|
- const: microchip,mcp9600
|
|
- items:
|
|
- const: microchip,mcp9601
|
|
- const: microchip,mcp9600
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
minItems: 1
|
|
maxItems: 6
|
|
|
|
interrupt-names:
|
|
minItems: 1
|
|
maxItems: 6
|
|
items:
|
|
enum:
|
|
- open-circuit
|
|
- short-circuit
|
|
- alert1
|
|
- alert2
|
|
- alert3
|
|
- alert4
|
|
|
|
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.
|
|
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
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
#include <dt-bindings/iio/temperature/thermocouple.h>
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
temperature-sensor@60 {
|
|
compatible = "microchip,mcp9600";
|
|
reg = <0x60>;
|
|
interrupt-parent = <&gpio>;
|
|
interrupts = <25 IRQ_TYPE_EDGE_RISING>;
|
|
interrupt-names = "alert1";
|
|
thermocouple-type = <THERMOCOUPLE_TYPE_K>;
|
|
vdd-supply = <&vdd>;
|
|
};
|
|
};
|
|
- |
|
|
#include <dt-bindings/interrupt-controller/irq.h>
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
temperature-sensor@62 {
|
|
compatible = "microchip,mcp9601", "microchip,mcp9600";
|
|
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>;
|
|
microchip,vsense;
|
|
};
|
|
};
|