mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
Add devicetree schema for Microchip MCP998X/33 and MCP998XD/33D Multichannel Automotive Temperature Monitor Family. Signed-off-by: Victor Duicu <victor.duicu@microchip.com> Reviewed-by: Krzysztof Kozlowski <krzysztof.kozlowski@oss.qualcomm.com> Link: https://lore.kernel.org/r/20260403-add-mcp9982-hwmon-v12-1-b3bfb26ff136@microchip.com Signed-off-by: Guenter Roeck <linux@roeck-us.net>
238 lines
5.7 KiB
YAML
238 lines
5.7 KiB
YAML
# SPDX-License-Identifier: (GPL-2.0 OR BSD-2-Clause)
|
|
%YAML 1.2
|
|
---
|
|
$id: http://devicetree.org/schemas/hwmon/microchip,mcp9982.yaml#
|
|
$schema: http://devicetree.org/meta-schemas/core.yaml#
|
|
|
|
title: Microchip MCP998X/33 and MCP998XD/33D Temperature Monitor
|
|
|
|
maintainers:
|
|
- Victor Duicu <victor.duicu@microchip.com>
|
|
|
|
description: |
|
|
The MCP998X/33 and MCP998XD/33D family is a high-accuracy 2-wire
|
|
multichannel automotive temperature monitor.
|
|
The datasheet can be found here:
|
|
https://ww1.microchip.com/downloads/aemDocuments/documents/MSLD/ProductDocuments/DataSheets/MCP998X-Family-Data-Sheet-DS20006827.pdf
|
|
|
|
properties:
|
|
compatible:
|
|
enum:
|
|
- microchip,mcp9933
|
|
- microchip,mcp9933d
|
|
- microchip,mcp9982
|
|
- microchip,mcp9982d
|
|
- microchip,mcp9983
|
|
- microchip,mcp9983d
|
|
- microchip,mcp9984
|
|
- microchip,mcp9984d
|
|
- microchip,mcp9985
|
|
- microchip,mcp9985d
|
|
|
|
reg:
|
|
maxItems: 1
|
|
|
|
interrupts:
|
|
minItems: 1
|
|
maxItems: 2
|
|
|
|
interrupt-names:
|
|
description:
|
|
The chip family has three different interrupt pins divided among them.
|
|
The chips without "D" have alert-therm and therm-addr.
|
|
The chips with "D" have alert-therm and sys-shtdwn.
|
|
minItems: 1
|
|
items:
|
|
- enum: [alert-therm, therm-addr, sys-shtdwn]
|
|
- enum: [therm-addr, sys-shtdwn]
|
|
|
|
"#address-cells":
|
|
const: 1
|
|
|
|
"#size-cells":
|
|
const: 0
|
|
|
|
microchip,enable-anti-parallel:
|
|
description:
|
|
Enable anti-parallel diode mode operation.
|
|
MCP9984/84D/85/85D and MCP9933/33D support reading two external diodes
|
|
in anti-parallel connection on the same set of pins.
|
|
type: boolean
|
|
|
|
microchip,parasitic-res-on-channel1-2:
|
|
description:
|
|
Indicates that the chip and the diodes/transistors are sufficiently far
|
|
apart that a parasitic resistance is added to the wires, which can affect
|
|
the measurements. Due to the anti-parallel diode connections, channels
|
|
1 and 2 are affected together.
|
|
type: boolean
|
|
|
|
microchip,parasitic-res-on-channel3-4:
|
|
description:
|
|
Indicates that the chip and the diodes/transistors are sufficiently far
|
|
apart that a parasitic resistance is added to the wires, which can affect
|
|
the measurements. Due to the anti-parallel diode connections, channels
|
|
3 and 4 are affected together.
|
|
type: boolean
|
|
|
|
microchip,power-state:
|
|
description:
|
|
The chip can be set in Run state or Standby state. In Run state the ADC
|
|
is converting on all channels at the programmed conversion rate.
|
|
In Standby state the host must initiate a conversion cycle by writing
|
|
to the One-Shot register.
|
|
True value sets Run state.
|
|
Chips with "D" in the name can only be set in Run mode.
|
|
type: boolean
|
|
|
|
vdd-supply: true
|
|
|
|
patternProperties:
|
|
"^channel@[1-4]$":
|
|
description:
|
|
Represents the external temperature channels to which
|
|
a remote diode is connected.
|
|
type: object
|
|
|
|
properties:
|
|
reg:
|
|
items:
|
|
maxItems: 1
|
|
|
|
label:
|
|
description: Unique name to identify which channel this is.
|
|
|
|
required:
|
|
- reg
|
|
|
|
additionalProperties: false
|
|
|
|
required:
|
|
- compatible
|
|
- reg
|
|
- vdd-supply
|
|
|
|
allOf:
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- microchip,mcp9982d
|
|
- microchip,mcp9983d
|
|
- microchip,mcp9984d
|
|
- microchip,mcp9985d
|
|
- microchip,mcp9933d
|
|
then:
|
|
properties:
|
|
interrupt-names:
|
|
items:
|
|
enum:
|
|
- alert-therm
|
|
- sys-shtdwn
|
|
required:
|
|
- microchip,power-state
|
|
- microchip,parasitic-res-on-channel1-2
|
|
else:
|
|
properties:
|
|
microchip,power-state: true
|
|
interrupt-names:
|
|
items:
|
|
enum:
|
|
- alert-therm
|
|
- therm-addr
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- microchip,mcp9983d
|
|
- microchip,mcp9984d
|
|
- microchip,mcp9985d
|
|
then:
|
|
required:
|
|
- microchip,parasitic-res-on-channel3-4
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- microchip,mcp9982
|
|
- microchip,mcp9982d
|
|
then:
|
|
properties:
|
|
microchip,enable-anti-parallel: false
|
|
patternProperties:
|
|
"^channel@[2-4]$": false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- microchip,mcp9983
|
|
- microchip,mcp9983d
|
|
then:
|
|
properties:
|
|
microchip,enable-anti-parallel: false
|
|
patternProperties:
|
|
"^channel@[3-4]$": false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- microchip,mcp9933
|
|
- microchip,mcp9933d
|
|
then:
|
|
patternProperties:
|
|
"^channel@[3-4]$": false
|
|
|
|
- if:
|
|
properties:
|
|
compatible:
|
|
contains:
|
|
enum:
|
|
- microchip,mcp9984
|
|
- microchip,mcp9984d
|
|
then:
|
|
properties:
|
|
channel@4: false
|
|
|
|
additionalProperties: false
|
|
|
|
examples:
|
|
- |
|
|
i2c {
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
temperature-sensor@4c {
|
|
compatible = "microchip,mcp9985";
|
|
reg = <0x4c>;
|
|
|
|
#address-cells = <1>;
|
|
#size-cells = <0>;
|
|
|
|
microchip,enable-anti-parallel;
|
|
microchip,parasitic-res-on-channel1-2;
|
|
microchip,parasitic-res-on-channel3-4;
|
|
vdd-supply = <&vdd>;
|
|
|
|
channel@1 {
|
|
reg = <1>;
|
|
label = "Room Temperature";
|
|
};
|
|
|
|
channel@2 {
|
|
reg = <2>;
|
|
label = "GPU Temperature";
|
|
};
|
|
};
|
|
};
|
|
|
|
...
|