[<prev] [next>] [thread-next>] [day] [month] [year] [list]
Message-ID: <20251120071248.3767-1-victor.duicu@microchip.com>
Date: Thu, 20 Nov 2025 09:12:44 +0200
From: <victor.duicu@...rochip.com>
To: <linux@...ck-us.net>, <robh@...nel.org>, <krzk+dt@...nel.org>,
<conor+dt@...nel.org>, <corbet@....net>
CC: <marius.cristea@...rochip.com>, <victor.duicu@...rochip.com>,
<linux-hwmon@...r.kernel.org>, <linux-kernel@...r.kernel.org>,
<devicetree@...r.kernel.org>, <linux-doc@...r.kernel.org>
Subject: [PATCH v2 0/2] add support in hwmon for MCP998X
From: Victor Duicu <victor.duicu@...rochip.com>
Add support in hwmon for Microchip MCP998X/33 and MCP998XD/33D
Multichannel Automotive Temperature Monitor Family.
The chips in the family have different numbers of external channels,
ranging from 1 (MCP9982) to 4 channels (MCP9985).
Reading diodes in anti-parallel connection is supported by MCP9984/85/33
and MCP9984D/85D/33D. Dedicated hardware shutdown circuitry is present
only in MCP998XD and MCP9933D.
The driver supports reading the temperature channels, the temperature
limits and their corresponding alarms. The user can set the limits and
the update interval.
This driver is based on the IIO driver for MCP998X:
https://lore.kernel.org/all/20250930133131.13797-1-victor.duicu@microchip.com/
Differences related to previous patch:
v2:
- in Kconfig add select REGMAP_I2C.
- in yaml add power state attribute. For chips with "D" in the name
check that Run mode is set in yaml and driver.
- in the include list: remove cleanup.h, add math.h, minmax.h and
util_macros.h.
- add min, max and crit limits for all channels. These attributes can
be read and written. In mcp9982_init() set default values for limits.
- add alarms for limits.
- edit regmap ranges to add the limit registers.
- when writing update interval, don't force the user to set exact value.
Search for closest valid value.
- in mcp9982_parse_fw_config() check value from fwnode_property_read_u32().
- edit coding style and comments.
- remove constant MCP9982_SCALE.
- rename variable sampl_idx from mcp9982_priv to interval_idx.
- in mcp9982_write() rename variable use_previous_freq
to use_previous_interval.
v1:
- initial version for review.
Victor Duicu (2):
dt-bindings: hwmon: add support for MCP998X
hwmon: add support for MCP998X
.../bindings/hwmon/microchip,mcp9982.yaml | 205 ++++
Documentation/hwmon/index.rst | 1 +
Documentation/hwmon/mcp9982.rst | 95 ++
MAINTAINERS | 8 +
drivers/hwmon/Kconfig | 11 +
drivers/hwmon/Makefile | 1 +
drivers/hwmon/mcp9982.c | 937 ++++++++++++++++++
7 files changed, 1258 insertions(+)
create mode 100644 Documentation/devicetree/bindings/hwmon/microchip,mcp9982.yaml
create mode 100644 Documentation/hwmon/mcp9982.rst
create mode 100644 drivers/hwmon/mcp9982.c
base-commit: 7254a2b52279091683e0228095118ee69ce9742f
--
2.48.1
Powered by blists - more mailing lists