From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id CEC28375AD0; Thu, 30 Apr 2026 06:16:24 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777529784; cv=none; b=NbStKa/09tciBORQN7nIKU+FqJhOyq/w7rNXQghA0Vjtx6UPB7T9Y/15QVlfQD9d3N3JnYrtQ9NisSgJH+XmkwOLXeetoBeEelD5tqRDeLLrZ6e1UH/2yWSpqtfl7Nt5DJn+KO3DeL92wGadRwZwBUjgJRBwEjvHUp3zRzbP8pA= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1777529784; c=relaxed/simple; bh=xp9GlnNP1s13soVwLbiLqp5t1/CcnQ6LntBXC9ra30M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lksy0s/PISGnl0YhomZ05DFShhjVXK/tyFW5xvyvqI5nHgnSrU1tMfE4pmCdm2ZwUsxj4i/+pUMrDr84qM506OPayYrwYOvO/JkrIQIL7/8blWrLPBxWstb0DNixOFXx/EWoJ056P9Mhxc6ZVkcHiGgdGvhOZzQlWFFIJiCFJhc= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=Du3qeo8G; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="Du3qeo8G" Received: by smtp.kernel.org (Postfix) with ESMTPS id A5C7AC2BCF7; Thu, 30 Apr 2026 06:16:24 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1777529784; bh=xp9GlnNP1s13soVwLbiLqp5t1/CcnQ6LntBXC9ra30M=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=Du3qeo8G107YkncxAp7RdjCH0vqdqRn4rNwW3NlOl6wTvedhwqKlBwchIRuaU66X1 FkwMhbcKaxoEuoRoqXh/5qrvaSDeOignDPaE5VlEEgVTEASJR50Yx8VXEZPBEH5Cyo jiv5DwyuvJIchYtF3NK7mJLVrTfsbThxrLxrP6ZbPgC/oiLHUHy0wn/tenihY2y6Yh 5Y/vfgpF5SnGDckD9GwDYdIq3M1S6NUkE992CKeHbb3Nn3M+EZJy+Z8FtmAO83d1+O QXtbzD0rY0CAdtQYwVnat1ZQ/9BNevVtBTha30e/mGSNo723ynfOHtZRifvPUVsd/o MfPcTeadcIS7g== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9A560FF886F; Thu, 30 Apr 2026 06:16:24 +0000 (UTC) From: Colin Huang via B4 Relay Date: Thu, 30 Apr 2026 14:16:22 +0800 Subject: [PATCH v3 3/3] hwmon: (pmbus) add support for Delta E50SN12051 Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <20260430-add-e50sn12051-v3-3-f6d4e043ec7c@gmail.com> References: <20260430-add-e50sn12051-v3-0-f6d4e043ec7c@gmail.com> In-Reply-To: <20260430-add-e50sn12051-v3-0-f6d4e043ec7c@gmail.com> To: Guenter Roeck , Rob Herring , Krzysztof Kozlowski , Conor Dooley , Kevin Chang , Jonathan Corbet , Shuah Khan Cc: linux-hwmon@vger.kernel.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-doc@vger.kernel.org, Colin Huang , Colin Huang X-Mailer: b4 0.14.3 X-Developer-Signature: v=1; a=ed25519-sha256; t=1777529782; l=3354; i=u8813345@gmail.com; s=20260202; h=from:subject:message-id; bh=3GVtgQE6JGUFontyO9gPYaXpzpqqOgu4/480+Iq+Kw8=; b=S+icYZO0fl0FS3ci1PcsqmtnoIG50UYRvugWB+60R30WyzfNtEpTYKWg+LhV6kN4cVz6KIWHV zx9LixBymByCbAK2PMCdoDoH7nzriqj1O+4uXRylpTSCbwcze8kNuz6 X-Developer-Key: i=u8813345@gmail.com; a=ed25519; pk=Zlg0WqpCw4qbswOqamTBTXIchwR/3SnYZpy7rjaGMdQ= X-Endpoint-Received: by B4 Relay for u8813345@gmail.com/20260202 with auth_id=761 X-Original-From: Colin Huang Reply-To: u8813345@gmail.com From: Colin Huang Add the pmbus driver for Delta E50SN12051 600W Non-isolated 1/8th Brick DCDC Power Modules. Signed-off-by: Colin Huang --- drivers/hwmon/pmbus/Kconfig | 9 +++++++ drivers/hwmon/pmbus/Makefile | 1 + drivers/hwmon/pmbus/e50sn12051.c | 52 ++++++++++++++++++++++++++++++++++++++++ 3 files changed, 62 insertions(+) diff --git a/drivers/hwmon/pmbus/Kconfig b/drivers/hwmon/pmbus/Kconfig index 8f4bff375ecb..4fbfcbc4a9c5 100644 --- a/drivers/hwmon/pmbus/Kconfig +++ b/drivers/hwmon/pmbus/Kconfig @@ -161,6 +161,15 @@ config SENSORS_DPS920AB This driver can also be built as a module. If so, the module will be called dps920ab. +config SENSORS_E50SN12051 + tristate "Delta E50SN12051 Power Modules" + help + If you say yes here you get hardware monitoring support for Delta + E50SN12051 Power Modules. + + This driver can also be built as a module. If so, the module will + be called e50sn12051. + config SENSORS_INA233 tristate "Texas Instruments INA233 and compatibles" help diff --git a/drivers/hwmon/pmbus/Makefile b/drivers/hwmon/pmbus/Makefile index 7129b62bc00f..fc910bf34fe3 100644 --- a/drivers/hwmon/pmbus/Makefile +++ b/drivers/hwmon/pmbus/Makefile @@ -17,6 +17,7 @@ obj-$(CONFIG_SENSORS_FSP_3Y) += fsp-3y.o obj-$(CONFIG_SENSORS_HAC300S) += hac300s.o obj-$(CONFIG_SENSORS_IBM_CFFPS) += ibm-cffps.o obj-$(CONFIG_SENSORS_DPS920AB) += dps920ab.o +obj-$(CONFIG_SENSORS_E50SN12051) += e50sn12051.o obj-$(CONFIG_SENSORS_INA233) += ina233.o obj-$(CONFIG_SENSORS_INSPUR_IPSPS) += inspur-ipsps.o obj-$(CONFIG_SENSORS_IR35221) += ir35221.o diff --git a/drivers/hwmon/pmbus/e50sn12051.c b/drivers/hwmon/pmbus/e50sn12051.c new file mode 100644 index 000000000000..efb4d62b2603 --- /dev/null +++ b/drivers/hwmon/pmbus/e50sn12051.c @@ -0,0 +1,52 @@ +// SPDX-License-Identifier: GPL-2.0-or-later +/* + * Hardware monitoring driver for E50SN12051 + */ + +#include +#include +#include +#include "pmbus.h" + +static struct pmbus_driver_info e50sn12051_info = { + .pages = 1, + .format[PSC_VOLTAGE_IN] = linear, + .format[PSC_VOLTAGE_OUT] = linear, + .format[PSC_CURRENT_OUT] = linear, + .format[PSC_TEMPERATURE] = linear, + .func[0] = PMBUS_HAVE_VIN | PMBUS_HAVE_STATUS_INPUT | + PMBUS_HAVE_VOUT | PMBUS_HAVE_STATUS_VOUT | + PMBUS_HAVE_IOUT | PMBUS_HAVE_STATUS_IOUT | + PMBUS_HAVE_TEMP | PMBUS_HAVE_STATUS_TEMP, +}; + +static const struct i2c_device_id e50sn12051_id[] = { { "e50sn12051", 0 }, {} }; +MODULE_DEVICE_TABLE(i2c, e50sn12051_id); + +static const struct of_device_id e50sn12051_of_match[] = { + { .compatible = "delta,e50sn12051" }, + {}, +}; +MODULE_DEVICE_TABLE(of, e50sn12051_of_match); + +static int e50sn12051_probe(struct i2c_client *client) +{ + return pmbus_do_probe(client, &e50sn12051_info); +} + +static struct i2c_driver e50sn12051_driver = { + .driver = { + .name = "e50sn12051", + .of_match_table = e50sn12051_of_match, + }, + .probe = e50sn12051_probe, + + .id_table = e50sn12051_id, +}; + +module_i2c_driver(e50sn12051_driver); + +MODULE_AUTHOR("Kevin Chang "); +MODULE_DESCRIPTION("PMBus driver for E50SN12051"); +MODULE_LICENSE("GPL"); +MODULE_IMPORT_NS("PMBUS"); -- 2.34.1